Procházet zdrojové kódy

Merge branch 'develop' into feature/app_dev

* develop:
  增加save wx user info,保存头像
abiao před 4 roky
rodič
revize
fe8b5d4f0b

+ 9 - 29
go/gopath/src/fohow.com/apps/controllers/permit_controller/permit_controller.go

@@ -198,7 +198,7 @@ func (self *PermitController) XcxAuthorize() {
 	self.ServeJSON()
 }
 
-//小程序授权
+//小程序再次保存用户头像
 func (self *PermitController) SaveWxuserInfo() {
 	params := self.GetString("userinfo")
 	type UserInfo struct {
@@ -222,36 +222,13 @@ func (self *PermitController) SaveWxuserInfo() {
 	err := json.Unmarshal([]byte(params), &info)
 
 	if err != nil {
-		beego.BeeLogger.Error("XcxAuthorize err: %s, info:%s", err, info)
+		//beego.BeeLogger.Error("XcxAuthorize err: %s, info:%s", err, info)
 		self.ReturnError(403, apps.ParamsError, "", nil)
 	}
 
-	sessionKey, _ := self.GetSession(apps.XcxSessionKey).(string)
-	// beego.BeeLogger.Warn("sessionKey:%s", sessionKey)
-	type EncryptedData struct {
-		UnionId string `json:"unionId"`
-		OpenId  string `json:"openId"`
-	}
-
-	if sessionKey == "" {
-		self.ReturnError(403, apps.UserNeedLogin, "", nil)
-	}
-
-	pc := helpers.WxBizDataCrypt{AppID: beego.AppConfig.String("WxFohowXcxAppId"), SessionKey: sessionKey}
-	// beego.BeeLogger.Warn("EncryptedData:%s", info.EncryptedData)
-	// beego.BeeLogger.Warn("Iv:%s", info.Iv)
-	result, err := pc.Decrypt(info.EncryptedData, info.Iv, true) //第三个参数解释: 需要返回 JSON 数据类型时 使用 true, 需要返回 map 数据类型时 使用 false
-	if err != nil {
-		beego.BeeLogger.Error("xcx XcxAuthorize descrypt failed, err:%s", err)
-		self.ReturnError(403, apps.XcxAuthorizeError, "", nil)
-	}
-	encryptedData := &EncryptedData{}
-	json.Unmarshal([]byte(result.(string)), encryptedData)
-	if encryptedData.UnionId == "" || encryptedData.OpenId == "" {
-		self.ReturnError(403, apps.UserAuthorizeFailed, "", nil)
-	}
+	wxUId := self.GetCurrentWxUserId()
+	wxUser := user_model.GetWxUserById(wxUId, true)
 
-	wxUser := user_model.GetWxUserByUnionid(encryptedData.UnionId, false)
 	if wxUser == nil {
 		self.ReturnError(403, apps.WxUserInfoError, "", nil)
 	}
@@ -259,10 +236,13 @@ func (self *PermitController) SaveWxuserInfo() {
 	beego.BeeLogger.Warn("SaveWxuserInfo ")
 	wxUser.UploadHead(info.UserInfo.AvatarUrl)
 	type Ret struct {
-		Result bool `json:"result"`
+		Result bool   `json:"result"`
+		Head   string `json:"head"`
 	}
 
-	self.Data["json"] = &Ret{Result: true}
+	beego.BeeLogger.Info("save_wx_user_info err: %v ", wxUser)
+
+	self.Data["json"] = &Ret{Result: true, Head: wxUser.Head}
 	self.ServeJSON()
 }