|
@@ -0,0 +1,80 @@
|
|
|
+package util
|
|
|
+
|
|
|
+import (
|
|
|
+ "encoding/json"
|
|
|
+ "io/ioutil"
|
|
|
+ "log"
|
|
|
+ "net/http"
|
|
|
+ "qfw/util/jwt"
|
|
|
+ "strings"
|
|
|
+)
|
|
|
+
|
|
|
+var ContentType_Json = "application/json"
|
|
|
+
|
|
|
+var UserCenterAdd = "/userCenter/user/add"
|
|
|
+var UserCenterUpdate = "/userCenter/user/updateById"
|
|
|
+var UserCenterDelete = "/userCenter/user/deleteById"
|
|
|
+
|
|
|
+/*
|
|
|
+ 修改header 的post请求
|
|
|
+*/
|
|
|
+func PostHeader(url, value string, headers map[string]string, ck *http.Cookie) (string, error) {
|
|
|
+ client := &http.Client{}
|
|
|
+ req, err := http.NewRequest("POST", url, strings.NewReader(value))
|
|
|
+ req.AddCookie(ck)
|
|
|
+ if err != nil {
|
|
|
+ return "", err
|
|
|
+ }
|
|
|
+ for key, header := range headers {
|
|
|
+ req.Header.Set(key, header)
|
|
|
+ }
|
|
|
+ resp, err := client.Do(req)
|
|
|
+ if err != nil {
|
|
|
+ return "", err
|
|
|
+ }
|
|
|
+ defer resp.Body.Close()
|
|
|
+ body, err := ioutil.ReadAll(resp.Body)
|
|
|
+ if err != nil {
|
|
|
+ return "", err
|
|
|
+ }
|
|
|
+ return string(body), nil
|
|
|
+}
|
|
|
+
|
|
|
+//调用用户中台相关-api接口
|
|
|
+func PostUserCenter(url, contentTpe, userid string, data map[string]interface{}, ck *http.Cookie) (*map[string]interface{}, bool) {
|
|
|
+ token, err := jwt.UserJwt.GetToken(map[string]interface{}{
|
|
|
+ "userid": userid,
|
|
|
+ })
|
|
|
+ if err != nil {
|
|
|
+ log.Printf("%s获取token失败", userid)
|
|
|
+ return nil, false
|
|
|
+ }
|
|
|
+ log.Println("token jwt:", token)
|
|
|
+ log.Println("data:", data)
|
|
|
+ data_str, err := json.Marshal(data)
|
|
|
+ if err != nil {
|
|
|
+ log.Printf("%s序列化失败%+v", userid, data)
|
|
|
+ return nil, false
|
|
|
+ }
|
|
|
+ ret, err := PostHeader(url, string(data_str), map[string]string{
|
|
|
+ "Content-Type": contentTpe,
|
|
|
+ "Authorization": token,
|
|
|
+ }, ck)
|
|
|
+ if err != nil {
|
|
|
+ log.Printf("%s调用%s接口失败%+v", userid, url, data)
|
|
|
+ return nil, false
|
|
|
+ }
|
|
|
+ log.Println("ret:", ret)
|
|
|
+ m := ObjToMap(ret)
|
|
|
+ if m == nil || len(*m) == 0 {
|
|
|
+ return nil, false
|
|
|
+ }
|
|
|
+ errmsg := ObjToString((*m)["error_msg"])
|
|
|
+ dataM := ObjToMap((*m)["data"])
|
|
|
+ status := IntAllDef((*dataM)["status"], 0)
|
|
|
+ if errmsg != "" || status != 1 {
|
|
|
+ log.Printf("%s调用%s接口返回结果失败:%s", userid, url, errmsg)
|
|
|
+ return nil, false
|
|
|
+ }
|
|
|
+ return dataM, true
|
|
|
+}
|