1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package utils
  2. import (
  3. "github.com/astaxie/beego/config"
  4. "github.com/astaxie/beego/logs"
  5. "github.com/kinisky564477/wechat/component"
  6. )
  7. // Component 微信开放平台
  8. var Component *component.ComponentClient
  9. // ComponentInit 第三方初始化
  10. func ComponentInit() {
  11. // 初始化第三方
  12. // 读取配置文件
  13. conf, err := config.NewConfig("ini", GetAppRoot()+"/conf/wechat.conf")
  14. if err != nil {
  15. logs.Error("读取微信配置文件失败")
  16. }
  17. var cert = map[string]string{
  18. "component_appid": conf.String("wechat::appid"),
  19. "aeskey": conf.String("wechat::aeskey"),
  20. }
  21. Component = component.NewComponentClient(cert)
  22. }
  23. // RefreshComponentTicket ticket
  24. func RefreshComponentTicket(ticket string) {
  25. Component.RefreshTicket(ticket)
  26. }
  27. // WechatInit 微信初始化
  28. func WechatInit(cert map[string]string, reflashToken func(map[string]string)) *component.WxClient {
  29. var wechatClient *component.WxClient
  30. wechatClient = component.NewWxClient(
  31. cert,
  32. Component.GetToken,
  33. Component.GetCertificate,
  34. reflashToken,
  35. )
  36. return wechatClient
  37. }
  38. // AppendWxClient 增加微信实例
  39. func AppendWxClient(wx *component.WxClient) {
  40. Component.AppendWxClient(wx)
  41. }