liuxiaolu 6 жил өмнө
parent
commit
baa33e7fb1

+ 14 - 19
src/jfw/front/pchelper.go

@@ -29,7 +29,7 @@ var (
 	redisKeyPrefix_PPVOpenid = "pc_push_view_openid_"
 	redisPool      = "other"
 	timeout        = 15
-	redisKey_openid = "pc_s_m_openid"
+	redisKey_pcOpenid = "pc_s_m_openid"
 )
 
 func (l *PcHelper) Login() error {
@@ -152,7 +152,7 @@ func (l *PcHelper) Login() error {
 	if status == 1 {
 		result["token"] = reToken
 	}
-	result["openid"] = reOpenId
+	result["openid"] = se.EncodeString(reOpenId)
 	result["nickname"] = reNickname
 	l.ServeJson(result)
 	return nil
@@ -160,7 +160,8 @@ func (l *PcHelper) Login() error {
 
 func (l *PcHelper) Logout() {
 	defer util.Catch()
-	l.DelSession(redisKey_openid)
+	l.DelSession(redisKey_pcOpenid)
+	l.DelSession("s_m_openid")
 	deleteIdentSession_(l.Session())
 	l.ServeJson(map[string]interface{}{
 		"status": 1,
@@ -169,12 +170,16 @@ func (l *PcHelper) Logout() {
 
 func (l *PcHelper) GetSubscribeToken() error {
 	defer util.Catch()
+	reqType := l.GetString("reqType")
 	mac := l.GetString("mac")
 	token := l.GetString("token")
 	deMac, phone := decryptUToken(token)
 	reToken := ""
 	status := 0
-	if phone != "" && mac == deMac {
+	if (phone != "" && mac == deMac) || reqType == "wx" {
+		if reqType == "wx" {
+			token = getUToken(mac,l.GetSession("s_m_openid").(string))
+		}
 		reToken = getSToken(token)
 		redis.Put(redisPool, redisKeyPrefix_PPVOpenid+phone, 1, timeout)
 		status = 1//success
@@ -200,7 +205,7 @@ func (l *PcHelper) ToPushView() error {
 			log.Println("redis key "+redisKeyPrefix_PPVOpenid+phone, err.Error())
 		} else {
 			if phone != "" && deMac == "" && b {
-				l.SetSession(redisKey_openid, phone)
+				l.SetSession(redisKey_pcOpenid, phone)
 				return l.Render("/pchelper/pushView.html")
 			}
 		}
@@ -211,7 +216,7 @@ func (l *PcHelper) ToPushView() error {
 func (l *PcHelper) PushView() error {
 	defer util.Catch()
 	lasttime, _ := l.GetInt("lasttime")
-	myopenid, _ := l.GetSession(redisKey_openid).(string)
+	myopenid, _ := l.GetSession(redisKey_pcOpenid).(string)
 	res := map[string]interface{}{}
 	res["success"] = false
 	if myopenid != "" && lasttime > 0 {
@@ -257,12 +262,7 @@ func deleteIdentSession_(session *httpsession.Session) {
 
 //订阅记录token
 func getSToken(token string) string {
-	v, err := jyutil.AC.Encrypt(token)
-	if err != nil {
-		log.Println("SToken Encrypt error", err)
-		return ""
-	}
-	return v
+	return se.EncodeString(token)
 }
 
 func decryptSToken(token string) (string, string) {
@@ -270,14 +270,9 @@ func decryptSToken(token string) (string, string) {
 		return "", ""
 	}
 	log.Println("SToken解析前token", token)
-	v, err := jyutil.AC.Decrypt(token)
-	if err != nil {
-		log.Println("SToken Decrypt aes 1 error", err)
-		return "", ""
-	}
-	v, err = jyutil.AC.Decrypt(string(v))
+	v, err := jyutil.AC.Decrypt(se.DecodeString(token))
 	if err != nil {
-		log.Println("SToken Decrypt aes 2 error", err)
+		log.Println("SToken Decrypt aes  error", err)
 		return "", ""
 	}
 	log.Println("SToken解析后token", v)

+ 1 - 0
src/jfw/front/websocket.go

@@ -150,6 +150,7 @@ func LoginInfo(shareid, openid string, Sess interface{}) (infoData map[string]in
 			infoData["redisheadimg"] = fmt.Sprint(redisheadimg)
 			infoData["encryptId"] = se.EncodeString(qutil.BsonIdToSId((*user)["_id"]))
 			infoData["shareid"] = shareid
+			infoData["openid"] = se.EncodeString(fmt.Sprint((*user)["s_m_openid"]))//add 20181116
 			(*user)["shareid"] = shareid
 			nick := fmt.Sprint((*user)["s_nickname"])
 			sess.Set("nickname", nick)

+ 7 - 4
src/jfw/modules/pc/server/src/main.go

@@ -9,7 +9,9 @@ import (
 	"push"
 	_ "config"
 	"qfw/util/redis"
+	"jfw/front"
 	"config"
+	"qfw/util"
 )
 
 var (
@@ -50,12 +52,13 @@ func echo(w http.ResponseWriter, r *http.Request) {
 		log.Printf("recv: %s", message)
 		msg := new(push.Msg)
 		json.Unmarshal(message, msg)
-		//Param 加密否?
+		//Param 加密
 		if msg.Param != "" {
 			if msg.Act == "join"{
-				log.Println(msg.Param, "加入")
-				push.Add(msg.Param, c)
-				code = msg.Param
+				param := util.SE.DecodeString(msg.Param)
+				log.Println(msg.Param,param, "加入")
+				push.Add(param, c)
+				code = param
 			}
 		}
 	}