123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148 |
- package front
- import (
- qu "qfw/util"
- "time"
- . "../util"
- "github.com/go-xweb/xweb"
- "gopkg.in/mgo.v2/bson"
- )
- type Front struct {
- *xweb.Action
- login xweb.Mapper `xweb:"/"` //登录页面
- index xweb.Mapper `xweb:"/front/index"` //index页面
- logout xweb.Mapper `xweb:"/front/logout"` //注销
- updatePwd xweb.Mapper `xweb:"/front/updatepwd"` //更新密码
- //user
- user xweb.Mapper `xweb:"/front/user"` //查所有用户
- userDel xweb.Mapper `xweb:"/front/user/del"` //删除用户
- userSave xweb.Mapper `xweb:"/front/user/save"` //保存用户
- //menu
- menu xweb.Mapper `xweb:"/front/menu"` //查一级菜单
- menuSave xweb.Mapper `xweb:"/front/menu/save"` //保存一级菜单
- menuDel xweb.Mapper `xweb:"/front/menu/del"` //删除一级菜单
- menuSecond xweb.Mapper `xweb:"/front/menuSecond"` //查二级菜单
- menuSecondSave xweb.Mapper `xweb:"/front/menuSecond/save"` //保存二级菜单
- menuSecondDel xweb.Mapper `xweb:"/front/menuSecond/del"` //删除二级菜单
- }
- func (f *Front) Login() {
- defer qu.Catch()
- if f.Method() == "POST" {
- email := f.GetString("email")
- password := f.GetString("pwd")
- //f.SetSession("password", password)
- passwordEn := qu.SE.EncodeString(password)
- query := bson.M{
- "s_email": email,
- "s_pwd": passwordEn,
- }
- user, _ := Mgo.FindOne("user", query)
- checked := false
- if (*user) != nil {
- checked = true
- f.SetSession("user", map[string]interface{}{
- "name": (*user)["s_name"],
- "role": (*user)["s_role"],
- "pwd": password,
- "email": email,
- "id": qu.BsonIdToSId((*user)["_id"]),
- })
- }
- f.ServeJson(map[string]interface{}{
- "checked": checked,
- })
- } else {
- f.Render("login.html")
- }
- }
- func (f *Front) Index() {
- defer qu.Catch()
- f.Render("index.html")
- }
- func (f *Front) Logout() {
- f.DelSession("user")
- f.Redirect("/")
- }
- func (f *Front) UpdatePwd() {
- defer qu.Catch()
- id := f.GetString("id")
- password := f.GetString("pwd")
- set := bson.M{
- "$set": bson.M{
- "s_pwd": qu.SE.EncodeString(password),
- },
- }
- if Mgo.UpdateById("user", id, set) {
- sessionuser := f.GetSession("user").(map[string]interface{})
- sessionuser["pwd"] = password
- f.SetSession("user", sessionuser)
- }
- }
- func (f *Front) User() {
- defer qu.Catch()
- if f.Method() == "POST" {
- data, _ := Mgo.Find("user", nil, `{"_id":1}`, nil, false, -1, -1)
- for _, d := range *data {
- d["s_pwd"] = qu.SE.DecodeString(qu.ObjToString(d["s_pwd"]))
- }
- f.ServeJson(map[string]interface{}{
- "data": data,
- })
- } else {
- f.Render("com/user.html")
- }
- }
- func (f *Front) UserDel() {
- defer qu.Catch()
- _id := f.GetString("_id")
- query := bson.M{
- "_id": qu.StringTOBsonId(_id),
- }
- b := Mgo.Del("user", query)
- f.ServeJson(map[string]interface{}{
- "rep": b,
- })
- }
- func (f *Front) UserSave() {
- _id := f.GetString("_id")
- role := f.GetString("role")
- name := f.GetString("name")
- email := f.GetString("email")
- pwd := f.GetString("pwd")
- set := bson.M{
- "$set": bson.M{
- "s_role": role,
- "s_name": name,
- "s_email": email,
- "s_pwd": qu.SE.EncodeString(pwd),
- "i_comeintime": time.Now().Unix(),
- },
- }
- query := bson.M{
- "_id": qu.StringTOBsonId(_id),
- }
- if _id == "" {
- query = bson.M{
- "_id": bson.NewObjectId(),
- }
- }
- b := Mgo.Update("user", query, set, true, false)
- //b := Mgo.UpdateById("user", _id, set)
- f.ServeJson(map[string]interface{}{
- "rep": b,
- })
- }
|