123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- package algor
- import (
- "fmt"
- "github.com/guonaihong/gout"
- "gogs.uu.mdfitnesscao.com/Algor/sdk"
- "gogs.uu.mdfitnesscao.com/Algor/sdk/response"
- "gogs.uu.mdfitnesscao.com/Algor/sdk/utils"
- )
- var s *setting
- type setting struct {
- Domain string
- AppKey string
- AppSecret string
- Debug bool
- }
- func InitClient(domain, appKey, appSecret string, debug bool) {
- s = &setting{
- Domain: domain,
- AppKey: appKey,
- AppSecret: appSecret,
- Debug: debug,
- }
- }
- // 获取授权列表
- func ListAuthorizes() (*sdk.BaseResponse[sdk.ListResponse[sdk.AlgorAppAuth]], *response.ErrCode) {
- var resp *sdk.BaseResponse[sdk.ListResponse[sdk.AlgorAppAuth]]
- resp, err := postReq[*sdk.BaseResponse[sdk.ListResponse[sdk.AlgorAppAuth]]]("/openapi/authorize/list", gout.H{})
- if err != nil {
- return nil, response.ErrPlatform
- }
- if resp.Code != 200 {
- return nil, &response.ErrCode{
- Code: resp.Code,
- Msg: resp.Message,
- }
- }
- return resp, nil
- }
- // 获取问卷信息
- func DetailSurvey(decisionModelSn string) (*sdk.BaseResponse[sdk.DetailResponse[any]], *response.ErrCode) {
- var resp *sdk.BaseResponse[sdk.DetailResponse[any]]
- resp, err := postReq[*sdk.BaseResponse[sdk.DetailResponse[any]]]("/openapi/survey/detail", gout.H{
- "decisionModelSn": decisionModelSn,
- })
- if err != nil {
- return nil, response.ErrPlatform
- }
- if resp.Code != 200 {
- return nil, &response.ErrCode{
- Code: resp.Code,
- Msg: resp.Message,
- }
- }
- return resp, nil
- }
- // 执行决策模型
- func Run(request sdk.ExecuteRequest) (*sdk.BaseResponse[map[string]any], *response.ErrCode) {
- var resp *sdk.BaseResponse[map[string]any]
- resp, err := postReq[*sdk.BaseResponse[map[string]any]]("/openapi/run", utils.StructToGoutH(request))
- if err != nil {
- return nil, response.ErrPlatform
- }
- if resp.Code != 200 {
- return nil, &response.ErrCode{
- Code: resp.Code,
- Msg: resp.Message,
- }
- }
- return resp, nil
- }
- func postReq[T any](path string, data gout.H) (T, error) {
- url := fmt.Sprintf("%s%s", s.Domain, path)
- fmt.Println("请求地址 ===>", url)
- var res T
- err := gout.POST(url).Debug(s.Debug).
- SetHeader(gout.H{
- "token": fmt.Sprintf("%s:%s", s.AppKey, utils.Md5(s.AppSecret)),
- "appkey": s.AppKey,
- }).
- SetJSON(data).
- BindJSON(&res).
- Do()
- if err != nil {
- return res, err
- }
- return res, nil
- }
|