abiao лет назад: 4
Родитель
Сommit
1017347726
1 измененных файлов с 36 добавлено и 52 удалено
  1. 36 52
      go/gopath/src/fohow.com/apps/init.go

+ 36 - 52
go/gopath/src/fohow.com/apps/init.go

@@ -305,71 +305,55 @@ func (self *BaseController) CheckWxUserSubscribe(sceneId int64) {
 }
 
 func checkWxUserLogin(ctx *context.Context) {
-	wxUserId, ok := ctx.Input.Session(SessionWxUserKey).(int64)
-	beego.BeeLogger.Warn("check wx_user wxUserId %d", wxUserId)
-	if ok {
-		_, ok := ctx.Input.Session(SessionUserKey).(int64)
-		if !ok {
-			// 如果微信用户登录了,且有绑定了user,则设置用户登录
-			wxUser := user_model.GetWxUserById(wxUserId, true)
-			//beego.BeeLogger.Warn("wx_user has login, ", wxUser)
-			if wxUser != nil && int(wxUser.UserId) > 0 {
-				ctx.Output.Session(SessionUserKey, wxUser.UserId)
+	//beego.BeeLogger.Info("show the request : %s from UserAgent: %s", ctx.Input.URI(), ctx.Input.UserAgent())
+	//检测 token 是否合法
+	var inputToken string
+	beego.BeeLogger.Warn("request authorizationData : %s", ctx.Request.Header.Get("Authorization"))
+	requestAuthordata := ctx.Request.Header.Get("Authorization")
+	if len(requestAuthordata) > 0 {
+		authorizationData := strings.SplitN(ctx.Request.Header.Get("Authorization"), " ", 2)
+		if len(authorizationData) != 2 {
+			errCode := &ErrCode{
+				Code:     UserNeedLogin[0],
+				Msg:      UserNeedLogin[1],
+				Redirect: "",
+				Data:     nil,
 			}
-		}
-	} else {
-		//beego.BeeLogger.Info("show the request : %s from UserAgent: %s", ctx.Input.URI(), ctx.Input.UserAgent())
-		//检测 token 是否合法
-		var inputToken string
-		beego.BeeLogger.Warn("request authorizationData : %s", ctx.Request.Header.Get("Authorization"))
-		requestAuthordata := ctx.Request.Header.Get("Authorization")
-		if len(requestAuthordata) > 0 {
-			authorizationData := strings.SplitN(ctx.Request.Header.Get("Authorization"), " ", 2)
-			if len(authorizationData) != 2 {
+			//换成userNeedLogin
+			ctx.Output.SetStatus(403)
+			ctx.Output.JSON(errCode, true, true)
+		} else {
+			inputToken = authorizationData[1]
+			var wxUser *user_model.WxUser
+			user_token, err := token_model.ValidateToken(inputToken)
+			wxUser = user_model.GetWxUserById(user_token.Id, true)
+			if err != nil || wxUser == nil {
+				beego.BeeLogger.Warn("token error : %v", err)
+				// 验证 Token 无效
 				errCode := &ErrCode{
 					Code:     UserNeedLogin[0],
 					Msg:      UserNeedLogin[1],
 					Redirect: "",
 					Data:     nil,
 				}
-				//换成userNeedLogin
 				ctx.Output.SetStatus(403)
 				ctx.Output.JSON(errCode, true, true)
 			} else {
-				inputToken = authorizationData[1]
-				var wxUser *user_model.WxUser
-				user_token, err := token_model.ValidateToken(inputToken)
-				wxUser = user_model.GetWxUserById(user_token.Id, true)
-				if err != nil || wxUser == nil {
-					beego.BeeLogger.Warn("token error : %v", err)
-					// 验证 Token 无效
-					errCode := &ErrCode{
-						Code:     UserNeedLogin[0],
-						Msg:      UserNeedLogin[1],
-						Redirect: "",
-						Data:     nil,
-					}
-					ctx.Output.SetStatus(403)
-					ctx.Output.JSON(errCode, true, true)
-				} else {
-
-					ctx.Output.Session(SessionUserKey, wxUser.UserId)
-					ctx.Output.Session(SessionWxUserKey, wxUser.Id)
-				}
-			}
-
-		} else {
-			errCode := &ErrCode{
-				Code:     UserNeedLogin[0],
-				Msg:      UserNeedLogin[1],
-				Redirect: "",
-				Data:     nil,
+				ctx.Output.Session(SessionUserKey, wxUser.UserId)
+				ctx.Output.Session(SessionWxUserKey, wxUser.Id)
 			}
-			ctx.Output.SetStatus(401)
-			ctx.Output.JSON(errCode, true, true)
-			return
 		}
+	} else {
+		errCode := &ErrCode{
+			Code:     UserNeedLogin[0],
+			Msg:      UserNeedLogin[1],
+			Redirect: "",
+			Data:     nil,
+		}
+		ctx.Output.SetStatus(401)
+		ctx.Output.JSON(errCode, true, true)
 	}
+	return
 }
 
 func checkUserLogin(ctx *context.Context) {