| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- package http
- import (
- "encoding/json"
- "fmt"
- "io/ioutil"
- "net/http"
- "net/url"
- "strings"
- "video_course/errors"
- "video_course/global"
- "video_course/model"
- "video_course/utils"
- )
- type LoalloutServer struct {
- }
- func (l LoalloutServer) CheckPhone(phone string) (userMd5 string) {
- api := strings.Join([]string{global.Project.LoalloutUrl, "v1/Auth/CheckPhone"}, "/")
- resp, err := http.PostForm(api, url.Values{
- "phone": {phone},
- })
- if err != nil {
- panic(err)
- }
- defer resp.Body.Close()
- body, err := ioutil.ReadAll(resp.Body)
- if err != nil {
- err = fmt.Errorf("response:[%s], err:\n%w", string(body), err)
- panic(err)
- }
- var responseBase struct {
- Code int
- Memo string
- }
- err = json.Unmarshal(body, &responseBase)
- if err != nil {
- err = fmt.Errorf("response:[%s], err:\n%w", string(body), err)
- panic(err)
- }
- const (
- success = 0
- notRegister = 1012
- ban = 1007
- )
- switch responseBase.Code {
- case success:
- {
- var responseAll struct {
- Code int
- Memo string
- Md5 string
- }
- err = json.Unmarshal(body, &responseAll)
- if err != nil {
- err = fmt.Errorf("response:[%s], err:\n%w", string(body), err)
- panic(err)
- }
- userMd5 = responseAll.Md5
- }
- case notRegister:
- panic(errors.ErrUserNotExists)
- case ban:
- panic(errors.ErrUserBan)
- default:
- panic(errors.ErrHrSensorsTimeOut)
- }
- return
- }
- //查询用户身体数据
- func (l LoalloutServer) VipUserQueryByUserMd5(serviceKey string, userMd5 string) (rtnCode int, rtn *model.UserBodyInfo) {
- api := strings.Join([]string{global.Project.LoalloutUrl, "v1/User/VipUserQueryByUserMd5"}, "/")
- resp, err := http.PostForm(api, url.Values{
- "serviceKey": {serviceKey},
- "userMd5": {userMd5},
- })
- if err != nil {
- panic(err)
- }
- defer resp.Body.Close()
- body, err := ioutil.ReadAll(resp.Body)
- if err != nil {
- err = fmt.Errorf("response:[%s], err:\n%w", string(body), err)
- panic(err)
- }
- var responseBase struct {
- Code int
- Memo string
- Status int
- Info map[string]interface{}
- }
- err = json.Unmarshal(body, &responseBase)
- if err != nil {
- err = fmt.Errorf("response:[%s], err:\n%w", string(body), err)
- panic(err)
- }
- rtnCode = responseBase.Code
- if rtnCode == 0 {
- rtn = &model.UserBodyInfo{
- UserName: utils.MapToString(responseBase.Info, "UserName"),
- Birthday: utils.MapToTime(responseBase.Info, "Birthday"),
- Height: utils.MapToInt32(responseBase.Info, "Height"),
- Weight: utils.MapToInt32(responseBase.Info, "Weight"),
- Sex: utils.MapToInt32(responseBase.Info, "Sex"),
- StaticHr: utils.MapToInt32(responseBase.Info, "StaticHr"),
- UserMd5: utils.MapToString(responseBase.Info, "UserMd5"),
- Head: utils.MapToString(responseBase.Info, "Head"),
- }
- }
- return
- }
- //func MapToString(v interface{}, key string) (str string) {
- // f, ok := v.(map[string]interface{})[key].(string)
- // if !ok {
- // println(errors.ErrJsonToMap)
- // }
- // str = f
- // return
- //}
|