package common import ( "fmt" "github.com/guonaihong/gout" "gogs.uu.mdfitnesscao.com/Algor/sdk" "gogs.uu.mdfitnesscao.com/Algor/sdk/response" ) type ConfigResponse struct { Config map[string]any `json:"config"` } // 获取OSS的配置信息 func GetOssConfig() (*sdk.BaseResponse[ConfigResponse], *response.ErrCode) { var resp *sdk.BaseResponse[ConfigResponse] resp, err := getReq[*sdk.BaseResponse[ConfigResponse]]("/commonService/openapi/oss/config", gout.H{}) if err != nil { return nil, &response.ErrCode{ Code: response.PLATFORM_ERROR, Msg: err.Error(), } } if resp.Code != 200 { return nil, &response.ErrCode{ Code: resp.Code, Msg: resp.Message, } } return resp, nil } type RegionResponse struct { Province *sdk.Province `json:"province"` City *sdk.City `json:"city"` County *sdk.County `json:"county"` Street *sdk.Street `json:"street"` Villages *sdk.Villages `json:"villages"` } // 通过省市区编码获取省市区详细信息 func GetRegionByCode(provinceId string, cityId string, countyId string, streetId string, villagesId string) (*sdk.BaseResponse[RegionResponse], *response.ErrCode) { var resp *sdk.BaseResponse[RegionResponse] resp, err := getReq[*sdk.BaseResponse[RegionResponse]]("/commonService/openapi/region/get", gout.H{ "provinceCode": provinceId, "cityCode": cityId, "countyCode": countyId, "streetCode": streetId, "villagesCode": villagesId, }) if err != nil { return nil, &response.ErrCode{ Code: response.PLATFORM_ERROR, Msg: err.Error(), } } if resp.Code != 200 { return nil, &response.ErrCode{ Code: resp.Code, Msg: resp.Message, } } return resp, nil } // postReq 发送post请求 func postReq[T any](path string, data gout.H) (T, error) { var res T fmt.Println(sdk.GetConfig()) // 检查配置 if sdk.GetConfig().ApiDomain == "" { return res, fmt.Errorf("请先配置API域名") } url := fmt.Sprintf("%s%s", sdk.GetConfig().ApiDomain, path) fmt.Println("请求地址 ===>", url) err := gout.POST(url).Debug(sdk.GetConfig().AppDebug). SetHeader(gout.H{}). SetJSON(data). BindJSON(&res). Do() if err != nil { fmt.Println("请求失败: ", err) return res, err } return res, nil } // postReq 发送post请求 func getReq[T any](path string, data gout.H) (T, error) { var res T fmt.Println(sdk.GetConfig()) // 检查配置 if sdk.GetConfig().ApiDomain == "" { return res, fmt.Errorf("请先配置API域名") } url := fmt.Sprintf("%s%s", sdk.GetConfig().ApiDomain, path) fmt.Println("请求地址 ===>", url) err := gout.GET(url).Debug(sdk.GetConfig().AppDebug). SetHeader(gout.H{}). SetQuery(data). BindJSON(&res). Do() if err != nil { fmt.Println("请求失败: ", err) return res, err } return res, nil }