common.go 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. package common
  2. import (
  3. "fmt"
  4. "github.com/guonaihong/gout"
  5. "gogs.uu.mdfitnesscao.com/Algor/sdk"
  6. "gogs.uu.mdfitnesscao.com/Algor/sdk/response"
  7. )
  8. type ConfigResponse struct {
  9. Config map[string]any `json:"config"`
  10. }
  11. // 获取OSS的配置信息
  12. func GetOssConfig() (*sdk.BaseResponse[ConfigResponse], *response.ErrCode) {
  13. var resp *sdk.BaseResponse[ConfigResponse]
  14. resp, err := getReq[*sdk.BaseResponse[ConfigResponse]]("/commonService/openapi/oss/config", gout.H{})
  15. if err != nil {
  16. return nil, &response.ErrCode{
  17. Code: response.PLATFORM_ERROR,
  18. Msg: err.Error(),
  19. }
  20. }
  21. if resp.Code != 200 {
  22. return nil, &response.ErrCode{
  23. Code: resp.Code,
  24. Msg: resp.Message,
  25. }
  26. }
  27. return resp, nil
  28. }
  29. type RegionResponse struct {
  30. Province *sdk.Province `json:"province"`
  31. City *sdk.City `json:"city"`
  32. County *sdk.County `json:"county"`
  33. Street *sdk.Street `json:"street"`
  34. Villages *sdk.Villages `json:"villages"`
  35. }
  36. // 通过省市区编码获取省市区详细信息
  37. func GetRegionByCode(provinceId string, cityId string, countyId string, streetId string, villagesId string) (*sdk.BaseResponse[RegionResponse], *response.ErrCode) {
  38. var resp *sdk.BaseResponse[RegionResponse]
  39. resp, err := getReq[*sdk.BaseResponse[RegionResponse]]("/commonService/openapi/region/get", gout.H{
  40. "provinceCode": provinceId,
  41. "cityCode": cityId,
  42. "countyCode": countyId,
  43. "streetCode": streetId,
  44. "villagesCode": villagesId,
  45. })
  46. if err != nil {
  47. return nil, &response.ErrCode{
  48. Code: response.PLATFORM_ERROR,
  49. Msg: err.Error(),
  50. }
  51. }
  52. if resp.Code != 200 {
  53. return nil, &response.ErrCode{
  54. Code: resp.Code,
  55. Msg: resp.Message,
  56. }
  57. }
  58. return resp, nil
  59. }
  60. // postReq 发送post请求
  61. func postReq[T any](path string, data gout.H) (T, error) {
  62. var res T
  63. fmt.Println(sdk.GetConfig())
  64. // 检查配置
  65. if sdk.GetConfig().ApiDomain == "" {
  66. return res, fmt.Errorf("请先配置API域名")
  67. }
  68. url := fmt.Sprintf("%s%s", sdk.GetConfig().ApiDomain, path)
  69. fmt.Println("请求地址 ===>", url)
  70. err := gout.POST(url).Debug(sdk.GetConfig().AppDebug).
  71. SetHeader(gout.H{}).
  72. SetJSON(data).
  73. BindJSON(&res).
  74. Do()
  75. if err != nil {
  76. fmt.Println("请求失败: ", err)
  77. return res, err
  78. }
  79. return res, nil
  80. }
  81. // postReq 发送post请求
  82. func getReq[T any](path string, data gout.H) (T, error) {
  83. var res T
  84. fmt.Println(sdk.GetConfig())
  85. // 检查配置
  86. if sdk.GetConfig().ApiDomain == "" {
  87. return res, fmt.Errorf("请先配置API域名")
  88. }
  89. url := fmt.Sprintf("%s%s", sdk.GetConfig().ApiDomain, path)
  90. fmt.Println("请求地址 ===>", url)
  91. err := gout.GET(url).Debug(sdk.GetConfig().AppDebug).
  92. SetHeader(gout.H{}).
  93. SetQuery(data).
  94. BindJSON(&res).
  95. Do()
  96. if err != nil {
  97. fmt.Println("请求失败: ", err)
  98. return res, err
  99. }
  100. return res, nil
  101. }