Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

73 Zeilen
1.7KB

  1. package main
  2. import (
  3. "encoding/json"
  4. "fmt"
  5. "io/ioutil"
  6. "log"
  7. "net/http"
  8. )
  9. func onSubscribe(in InWechatMsg) {
  10. openID := in.header.FromUserName
  11. log.Println(openID)
  12. }
  13. /*
  14. {
  15. "subscribe": 1,
  16. "openid": "o6_bmjrPTlm6_2sgVt7hMZOPfL2M",
  17. "nickname": "Band",
  18. "sex": 1,
  19. "language": "zh_CN",
  20. "city": "广州",
  21. "province": "广东",
  22. "country": "中国",
  23. "headimgurl": "http://wx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/0",
  24. "subscribe_time": 1382694957,
  25. "unionid": " o6_bmasdasdsad6_2sgVt7hMZOPfL"
  26. "remark": "",
  27. "groupid": 0,
  28. "tagid_list":[128,2]
  29. }
  30. */
  31. type WechatUserInfo struct {
  32. Subscribe int32 `json:"subscribe"`
  33. OpenID string `json:"openid"`
  34. NickName string `json:"nickname"`
  35. Sex int32 `json:"sex"`
  36. Language string `json:"language"`
  37. City string `json:"city"`
  38. Province string `json:"province"`
  39. Country string `json:"country"`
  40. Avatar string `json:"headimgurl"`
  41. SubscribeTime int32 `json:"subscribe_time"`
  42. UnionID string `json:"unionid"`
  43. Remark string `json:"remark"`
  44. GroupID int32 `json:"groupid"`
  45. TagIDList []int32 `json:"tagid_list"`
  46. }
  47. func getUserInfo(openID string, lang string) (result WechatUserInfo) {
  48. url := result.getURL(openID, lang)
  49. resp, err := http.Get(url)
  50. if err != nil {
  51. }
  52. b, err := ioutil.ReadAll(resp.Body)
  53. err = json.Unmarshal(b, &result)
  54. return
  55. }
  56. func (m *WechatUserInfo) getURL(openID, lang string) string {
  57. atk, _ := GetAccessToken()
  58. u := fmt.Sprintf("https://api.weixin.qq.com/cgi-bin/user/info?access_token=%s&openid=%s&lang=%s", atk, openID, lang)
  59. return u
  60. }
  61. func (m *WechatUserInfo) save2CRM() {
  62. }