| | |
| | | }() |
| | | } |
| | | |
| | | //解绑所有与该别名绑定的cid |
| | | //func UnbindAlias(alias string) (bool, error) { |
| | | // appId := beego.AppConfig.String("pushAppId") |
| | | // baseUrl := beego.AppConfig.String("pushBaseUrl") + appId |
| | | // retryTimes := 0 |
| | | //ReTry: |
| | | // token := getCacheToken() |
| | | // if token == "" { |
| | | // return false, errors.New("token is nil") |
| | | // } |
| | | // url := baseUrl + "/user/alias/"+alias |
| | | // header := map[string]string { |
| | | // "token": token, |
| | | // } |
| | | // b,err := util.DoDeleteRequest(url, util.CONTENT_TYPE_UTF8_JSON, nil, header) |
| | | // if err !=nil { |
| | | // fmt.Println("DoDelete err:", err) |
| | | // return false, err |
| | | // } |
| | | // var result PushResult |
| | | // err = json.Unmarshal(b, &result) |
| | | // if err != nil { |
| | | // fmt.Println("unmarshal err:", err) |
| | | // return false, err |
| | | // } |
| | | // if result.Code == 0 { //解绑成功 |
| | | // return true, nil |
| | | // } else if result.Code == 10001 { //token过期 |
| | | // if retryTimes <=3 { |
| | | // newToken, err := RefreshToken() |
| | | // if err == nil { |
| | | // updateToken(newToken) |
| | | // retryTimes++ |
| | | // goto ReTry |
| | | // } |
| | | // } |
| | | // } |
| | | // return false, errors.New(result.Msg) |
| | | //} |
| | | //批量解绑别名 |
| | | func UnbindAlias(cid string) (bool, error) { |
| | | var uc models.UserClient |
| | | ucList := uc.GetByCid(cid) |
| | | if ucList ==nil { |
| | | return true,errors.New("ucList is nil") |
| | | } |
| | | var aliasArr []string |
| | | for _,als := range ucList { |
| | | aliasArr = append(aliasArr, als.PhoneNum) |
| | | } |
| | | appId := beego.AppConfig.String("pushAppId") |
| | | baseUrl := beego.AppConfig.String("pushBaseUrl") + appId |
| | | retryTimes := 0 |
| | | ReTry: |
| | | token := getCacheToken() |
| | | if token == "" { |
| | | return false, errors.New("token is nil") |
| | | } |
| | | url := baseUrl + "/user/alias" |
| | | header := map[string]string { |
| | | "token": token, |
| | | } |
| | | caArr := make([]map[string]string, 0) |
| | | for _,as := range aliasArr { |
| | | caArr = append(caArr, map[string]string{ |
| | | "cid": cid, |
| | | "alias": as, |
| | | }) |
| | | } |
| | | |
| | | reqBody := map[string]interface{}{ |
| | | "data_list": caArr, |
| | | } |
| | | b,err := util.DoDeleteRequest(url, util.CONTENT_TYPE_UTF8_JSON, reqBody, header) |
| | | if err !=nil { |
| | | fmt.Println("DoDelete err:", err) |
| | | return false, err |
| | | } |
| | | var result PushResult |
| | | err = json.Unmarshal(b, &result) |
| | | if err != nil { |
| | | fmt.Println("unmarshal err:", err) |
| | | return false, err |
| | | } |
| | | if result.Code == 0 { //解绑成功 |
| | | return true, nil |
| | | } else if result.Code == 10001 { //token过期 |
| | | if retryTimes <=3 { |
| | | newToken, err := RefreshToken() |
| | | if err == nil { |
| | | updateToken(newToken) |
| | | retryTimes++ |
| | | goto ReTry |
| | | } |
| | | } |
| | | } |
| | | return false, errors.New(result.Msg) |
| | | } |
| | | |
| | | //一个别名最多允许绑定10个cid |
| | | func BindAlias(cid, alias string) (bool, error) { |