userCenter.go 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. package util
  2. import (
  3. "encoding/json"
  4. "io/ioutil"
  5. "log"
  6. "net/http"
  7. "qfw/util/jwt"
  8. "strings"
  9. )
  10. var ContentType_Json = "application/json"
  11. var UserCenterAdd = "/userCenter/user/add"
  12. var UserCenterUpdate = "/userCenter/user/updateById"
  13. var UserCenterDelete = "/userCenter/user/deleteById"
  14. /*
  15. 修改header 的post请求
  16. */
  17. func PostHeader(url, value string, headers map[string]string, ck *http.Cookie) (string, error) {
  18. client := &http.Client{}
  19. req, err := http.NewRequest("POST", url, strings.NewReader(value))
  20. req.AddCookie(ck)
  21. if err != nil {
  22. return "", err
  23. }
  24. for key, header := range headers {
  25. req.Header.Set(key, header)
  26. }
  27. resp, err := client.Do(req)
  28. if err != nil {
  29. return "", err
  30. }
  31. defer resp.Body.Close()
  32. body, err := ioutil.ReadAll(resp.Body)
  33. if err != nil {
  34. return "", err
  35. }
  36. return string(body), nil
  37. }
  38. //调用用户中台相关-api接口
  39. func PostUserCenter(url, contentTpe, userid string, data map[string]interface{}, ck *http.Cookie) (*map[string]interface{}, bool) {
  40. token, err := jwt.UserJwt.GetToken(map[string]interface{}{
  41. "userid": userid,
  42. })
  43. if err != nil {
  44. log.Printf("%s获取token失败", userid)
  45. return nil, false
  46. }
  47. log.Println("token jwt:", token)
  48. log.Println("data:", data)
  49. data_str, err := json.Marshal(data)
  50. if err != nil {
  51. log.Printf("%s序列化失败%+v", userid, data)
  52. return nil, false
  53. }
  54. ret, err := PostHeader(url, string(data_str), map[string]string{
  55. "Content-Type": contentTpe,
  56. "Authorization": token,
  57. }, ck)
  58. if err != nil {
  59. log.Printf("%s调用%s接口失败%+v", userid, url, data)
  60. return nil, false
  61. }
  62. log.Println("ret:", ret)
  63. m := ObjToMap(ret)
  64. if m == nil || len(*m) == 0 {
  65. return nil, false
  66. }
  67. errmsg := ObjToString((*m)["error_msg"])
  68. dataM := ObjToMap((*m)["data"])
  69. status := IntAllDef((*dataM)["status"], 0)
  70. if errmsg != "" || status != 1 {
  71. log.Printf("%s调用%s接口返回结果失败:%s", userid, url, errmsg)
  72. return nil, false
  73. }
  74. return dataM, true
  75. }