|
@@ -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)
|