basic.go 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package basic
  2. import (
  3. "fmt"
  4. openContext "github.com/silenceper/wechat/v2/openplatform/context"
  5. "github.com/silenceper/wechat/v2/util"
  6. )
  7. const (
  8. getAccountBasicInfoURL = "https://api.weixin.qq.com/cgi-bin/account/getaccountbasicinfo"
  9. )
  10. // Basic 基础信息设置
  11. type Basic struct {
  12. *openContext.Context
  13. appID string
  14. }
  15. // NewBasic new
  16. func NewBasic(opContext *openContext.Context, appID string) *Basic {
  17. return &Basic{Context: opContext, appID: appID}
  18. }
  19. // AccountBasicInfo 基础信息
  20. type AccountBasicInfo struct {
  21. util.CommonError
  22. }
  23. // GetAccountBasicInfo 获取小程序基础信息
  24. //
  25. //reference:https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/Mini_Programs/Mini_Program_Information_Settings.html
  26. func (basic *Basic) GetAccountBasicInfo() (*AccountBasicInfo, error) {
  27. ak, err := basic.GetAuthrAccessToken(basic.AppID)
  28. if err != nil {
  29. return nil, err
  30. }
  31. url := fmt.Sprintf("%s?access_token=%s", getAccountBasicInfoURL, ak)
  32. data, err := util.HTTPGet(url)
  33. if err != nil {
  34. return nil, err
  35. }
  36. result := &AccountBasicInfo{}
  37. if err := util.DecodeWithError(data, result, "account/getaccountbasicinfo"); err != nil {
  38. return nil, err
  39. }
  40. return result, nil
  41. }
  42. // modify_domain设置服务器域名
  43. // TODO
  44. // func (encryptor *Basic) modifyDomain() {
  45. // }