iedc-go/app/wechat.go

179 lines
4.9 KiB
Go
Raw Normal View History

2022-10-30 15:44:05 +00:00
package app
import (
2022-10-30 17:18:19 +00:00
. "code.hoteas.com/golang/hotime"
. "code.hoteas.com/golang/hotime/cache"
. "code.hoteas.com/golang/hotime/common"
//"github.com/silenceper/wechat"
//"github.com/silenceper/wechat/cache"
2022-10-30 15:44:05 +00:00
"time"
)
type WechatCache struct {
CacheIns
}
func (this WechatCache) Get(key string) interface{} {
return this.Cache("x" + key).Data
//return nil
}
func (this WechatCache) Set(key string, val interface{}, timeout time.Duration) error {
this.Cache("x"+key, val, ObjToInt64(timeout.Seconds()))
return nil
}
func (this WechatCache) IsExist(key string) bool {
c := this.Cache("x" + key).Data
if c != nil {
return true
}
return false
}
func (this WechatCache) Delete(key string) error {
this.Cache("x"+key, nil)
return nil
}
var Wechat = Ctr{
"user": func(this *Context) {
if this.Session("wechatInfo").Data == nil {
this.Display(2, "没有登录")
}
this.Display(0, this.Session("wechatInfo").ToMap())
},
//微信注册0已经完整的注册了1还没有注册
2022-10-30 17:18:19 +00:00
//"codebase": func(this *Context) {
// wx := Weixin(this)
// //auth := wx.GetOauth(this.Req, this.Resp)
//auth :=wx.GetOauth()
// resToken, err := auth.GetUserAccessToken(this.Req.FormValue("code"))
// if err != nil {
// this.Display(6, "code错误")
// return
// }
//
// //判断用户是否已经注册
// user := this.Db.Get("wechat", Map{"[><]user": "wechat.user_id=user.id"}, "user.id,user.state", Map{"openid": resToken.OpenID})
// if user != nil {
// this.Session("user_id", user.Get("id"))
// this.Display(0, 0)
// return
// }
//
// user_id := this.Db.Insert("user", Map{"time": time.Now().Unix(), "state": 2})
// if user_id == 0 {
// this.Display(4, "创建用户失败")
// return
// }
//
// wid := this.Db.Insert("wechat", Map{"openid": resToken.OpenID, "appid": this.Config.GetString("wechatAppID"), "state": 1, "user_id": user_id})
// if wid == 0 {
// this.Display(4, "关联微信失败!")
// return
// }
//
// this.Session("user_id", user.Get("id"))
//
// this.Display(0, 1)
//},
////微信注册0已经完整的注册了1还没有注册
//"code": func(this *Context) {
//
// orgId := ObjToInt(this.Req.FormValue("org_id"))
// //if orgId==0{
// // this.Display(3, "缺少组织id")
// // return
// //}
//
// wx := Weixin(this)
// //auth := wx.GetOauth(this.Req, this.Resp)
// auth := wx.GetOauth()
// resToken, err := auth.GetUserAccessToken(this.Req.FormValue("code"))
// if err != nil {
// this.Display(5, "code错误")
// return
// }
//
// //判断用户是否已经注册
// user := this.Db.Get("wechat", Map{"[><]user": "wechat.user_id=user.id"}, "user.id,user.state", Map{"openid": resToken.OpenID})
// if user != nil && user.GetCeilInt("id") != 0 && user.GetCeilInt("state") == 0 {
// this.Session("user_id", user.Get("id"))
// this.Display(0, Map{"type": 0, "token": this.SessionId})
// return
// }
// //getUserInfo
// userInfo, err := auth.GetUserInfo(resToken.AccessToken, resToken.OpenID)
// if err != nil {
// this.Display(6, "微信个人信息无法获取")
// return
// }
//
// //wechatInfo := ObjToMap(userInfo)
// t := time.Now().Unix()
// wechatInfo := Map{
// "openid": userInfo.OpenID,
// "acttoken": resToken.AccessToken,
// "retoken": resToken.RefreshToken,
// "appid": this.Config.GetString("wechatAppID"),
// "unionid": userInfo.Unionid,
// "nickname": userInfo.Nickname,
// "avatar": userInfo.HeadImgURL,
// }
// if orgId != 0 {
// wechatInfo["org_id"] = orgId
// wechatInfo["status"] = 0
// }
//
// wechatDb := this.Db.Get("wechat", "*", Map{"openid": wechatInfo.GetString("openid")})
//
// if wechatDb != nil {
//
// this.Db.Update("wechat", wechatInfo, Map{"id": wechatDb.GetCeilInt("id")})
// //userInfo["wid"]=wechatDb.GetCeilInt("wid")
// } else {
// wechatInfo["create_time"] = t
// wechatInfo["id"] = this.Db.Insert("wechat", wechatInfo)
// }
// wechatDb = this.Db.Get("wechat", "*", Map{"openid": wechatInfo.GetString("openid")})
//
// this.Session("wechatInfo", wechatDb)
// fmt.Println(wechatDb)
// fmt.Println(this.Session("wechatInfo"))
// //this.Display(0, 1)
// this.Display(0, Map{"type": 1, "token": this.SessionId})
//},
2022-10-30 15:44:05 +00:00
//网页签名
"sign": func(this *Context) {
2022-10-30 17:18:19 +00:00
//if this.Req.FormValue("sign_url") == "" {
// this.Display(2, "参数不足")
// return
//}
//
//if weixin == nil {
// cache1 := cache.Cache(WechatCache{this.CacheIns})
// config := wechat.Config{Cache: cache1, AppID: this.Config.GetString("wechatAppID"), AppSecret: this.Config.GetString("wechatAppSecret")}
// weixin = wechat.NewWechat(&config)
//}
//
//js := weixin.GetJs(this.Req, this.Resp)
//cfg, e := js.GetConfig(this.Req.FormValue("sign_url"))
//if e != nil {
// this.Display(7, e)
// return
//}
//
//sign := Map{
// "appId": cfg.AppID,
// "timestamp": cfg.TimeStamp,
// "nonceStr": cfg.NonceStr,
// "signature": cfg.Signature,
//}
//
//this.Display(0, sign)
2022-10-30 15:44:05 +00:00
},
}