wx_app.go 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package wx_app
  2. import (
  3. "eta/eta_mini_api/utils"
  4. wechat "github.com/silenceper/wechat/v2"
  5. "github.com/silenceper/wechat/v2/cache"
  6. "github.com/silenceper/wechat/v2/miniprogram"
  7. "github.com/silenceper/wechat/v2/miniprogram/auth"
  8. "github.com/silenceper/wechat/v2/miniprogram/config"
  9. "github.com/silenceper/wechat/v2/miniprogram/encryptor"
  10. )
  11. func GetWxApp() (miniprogram *miniprogram.MiniProgram) {
  12. wc := wechat.NewWechat()
  13. memory := cache.NewMemory()
  14. //memory := cache.NewRedis(global.Redis)
  15. // var WxId = `gh_75abb562a946`
  16. // var WxAppId = `wxb059c872d79b9967` // 投研小程序
  17. // var WxAppSecret = `1737c73e9f69a21de1a345b8f0800258`
  18. cfg := &config.Config{
  19. AppID: utils.WX_APPID,
  20. AppSecret: utils.WX_APP_SECRET,
  21. // AppID: utils.WX_APPID,
  22. // AppSecret: utils.WX_APP_SECRET,
  23. // AppID: WxAppId,
  24. // AppSecret: WxAppSecret,
  25. Cache: memory,
  26. }
  27. miniprogram = wc.GetMiniProgram(cfg)
  28. return
  29. }
  30. // GetSession 获取用户详情
  31. func GetSession(code string) (userInfo auth.ResCode2Session, err error) {
  32. wechatClient := GetWxApp()
  33. authClient := wechatClient.GetAuth()
  34. userInfo, err = authClient.Code2Session(code)
  35. return
  36. }
  37. // 获取解密信息 GetDecryptInfo
  38. func GetDecryptInfo(sessionKey, encryptedData, iv string) (decryptData *encryptor.PlainData, err error) {
  39. wechatClient := GetWxApp()
  40. encryptorClient := wechatClient.GetEncryptor()
  41. decryptData, err = encryptorClient.Decrypt(sessionKey, encryptedData, iv)
  42. return
  43. }
  44. // // MsgSecCheck 检查一段文本是否含有违法违规内容。
  45. // func MsgSecCheck(openid string, content string) (result security.Result, err error) {
  46. // wechatClient := GetWxApp()
  47. // myMiniprogram := security.NewMyMiniprogram(wechatClient)
  48. // bodyContent := &security.BodyContent{
  49. // Version: 2,
  50. // Content: content,
  51. // Openid: openid,
  52. // Scene: 2,
  53. // }
  54. // return myMiniprogram.MsgSecCheckWithResult(bodyContent)
  55. // }