瀏覽代碼

fix:修改系统用户信息时,退出随手办公小程序

Roc 1 年之前
父節點
當前提交
e4f9a13418
共有 4 個文件被更改,包括 22 次插入14 次删除
  1. 1 0
      .gitignore
  2. 6 2
      controllers/admin.go
  3. 1 1
      controllers/base_auth.go
  4. 14 11
      services/admin.go

+ 1 - 0
.gitignore

@@ -8,3 +8,4 @@
 /tests
 /hongze_mobile_admin.exe
 /*.exe
+hongze_mobile_admin.exe

+ 6 - 2
controllers/admin.go

@@ -36,13 +36,17 @@ func (c *AdminCommon) Login() {
 		return
 	}
 
-	adminWx, err := services.BindWxUser(c.Session.OpenId, req.Username, req.Password, utils.WxPlatform)
+	adminWx, err, errMsg := services.BindWxUser(c.Session.OpenId, req.Username, req.Password, utils.WxPlatform)
 	if err != nil {
 		if err.Error() == utils.ErrNoRow() {
 			c.FailWithMessage("登录失败,账号或密码错误", "登录失败,账号或密码错误")
 			return
 		}
-		c.FailWithMessage("登录失败", "登录失败,Err:"+err.Error())
+		msg := ``
+		if errMsg != `` {
+			msg = errMsg
+		}
+		c.FailWithMessage(msg, "登录失败,Err:"+err.Error())
 		return
 	}
 	if adminWx.Enabled != 1 {

+ 1 - 1
controllers/base_auth.go

@@ -101,7 +101,7 @@ func (c *BaseAuth) Prepare() {
 		return
 	}
 	if adminWx.AdminId > 0 && adminWx.Enabled != 1 {
-		c.BindMsgError("账户信息异常!", "账户状态异常,强制退出")
+		c.BindMsgError("账号已被禁用,请联系管理员!", "账号已被禁用,强制退出")
 		return
 	}
 	c.AdminWx = adminWx

+ 14 - 11
services/admin.go

@@ -15,7 +15,7 @@ import (
 var ERR_NO_ADMIN_RECORD = errors.New("用户关系没有入库")
 var ERR_ADMIN_NOT_BIND = errors.New("用户没有绑定")
 
-//通过openid获取用户信息
+// 通过openid获取用户信息
 func GetAdminUserItemByOpenId(openid string) (item *custom.AdminWx, err error) {
 	item = &custom.AdminWx{}
 
@@ -78,7 +78,7 @@ func GetAdminUserItemByOpenId(openid string) (item *custom.AdminWx, err error) {
 	return
 }
 
-//根据管理员id和平台id获取用户信息
+// 根据管理员id和平台id获取用户信息
 func GetAdminUserItemByAdminId(adminId, platform int) (item *custom.AdminWx, err error) {
 	item = &custom.AdminWx{}
 	//获取用户信息
@@ -92,7 +92,7 @@ func GetAdminUserItemByAdminId(adminId, platform int) (item *custom.AdminWx, err
 	return
 }
 
-//通过用户 关系表记录  和  用户记录  格式化返回 用户数据
+// 通过用户 关系表记录  和  用户记录  格式化返回 用户数据
 func formatWxUserAndUserRecord(adminWx *custom.AdminWx, adminRecord *admin_record.AdminRecord) {
 	adminWx.OpenId = adminRecord.OpenId
 	adminWx.UnionId = adminRecord.UnionId
@@ -109,7 +109,7 @@ func formatWxUserAndUserRecord(adminWx *custom.AdminWx, adminRecord *admin_recor
 	//wxUser.BindAccount = userRecord.BindAccount
 }
 
-//通过用户 用户记录  和  来源平台  格式化返回 用户数据
+// 通过用户 用户记录  和  来源平台  格式化返回 用户数据
 func formatWxUser(adminWx *custom.AdminWx, platform int) {
 	//根据用户id和平台id获取用户关系
 	adminRecord, adminRecordErr := admin_record.GetAdminRecordByAdminId(adminWx.AdminId, platform)
@@ -130,21 +130,24 @@ func formatWxUser(adminWx *custom.AdminWx, platform int) {
 	return
 }
 
-//用户绑定
-func BindWxUser(openid, userName, password string, registerPlatform int) (adminWx *custom.AdminWx, err error) {
+// BindWxUser 用户绑定
+func BindWxUser(openid, userName, password string, registerPlatform int) (adminWx *custom.AdminWx, err error, errMsg string) {
 	if userName == "" || password == "" {
-		err = errors.New("账号密码必填")
+		errMsg = `账号密码必填`
+		err = errors.New(errMsg)
 		return
 	}
 	//根据账号密码获取管理员信息(校验账号密码是否正常)
 	adminInfo, err := admin.CheckAdmin(userName, password)
 	if err != nil {
 		if err.Error() != utils.ErrNoRow() {
-			err = errors.New("账号或密码错误")
+			errMsg = `账号或密码错误`
+			err = errors.New(errMsg)
 		}
 		return
 	}
 	if adminInfo.Enabled == 0 {
+		errMsg = `账号已被禁用,请联系管理员`
 		err = errors.New("您的账号已被禁用,如需登录,请联系管理员")
 		return
 	}
@@ -191,13 +194,13 @@ func BindWxUser(openid, userName, password string, registerPlatform int) (adminW
 	return
 }
 
-//用户解绑
+// 用户解绑
 func UnbindWxUser(openid string) (err error) {
 	err = admin_record.UnBindAdminRecordByOpenid(openid)
 	return
 }
 
-//微信登录
+// 微信登录
 func WxLogin(wxPlatform int, wxAccessToken *WxAccessToken, wxUserInfo *WxUserInfo) (token string, adminWx *custom.AdminWx, err error, errMsg string) {
 	errMsg = `微信登录失败`
 	openId := wxAccessToken.Openid
@@ -277,7 +280,7 @@ QUERY_WX_USER:
 	return
 }
 
-//添加第三方用户(微信)记录
+// 添加第三方用户(微信)记录
 func AddUserRecord(openId, unionId, nickName, realName, province, city, country, headimgurl, sessionKey string, platform, sex, subscribe int) (adminRecord *admin_record.AdminRecord, err error) {
 	find, err := admin_record.GetAdminRecordByOpenId(openId)
 	if err != nil && err.Error() != utils.ErrNoRow() {