package form import ( "fmt" "github.com/guonaihong/gout" "gogs.uu.mdfitnesscao.com/Algor/sdk" "gogs.uu.mdfitnesscao.com/Algor/sdk/response" ) // 获取表单列表 func ListForm(ids []string) (*sdk.BaseResponse[sdk.ListResponse[*sdk.Form]], *response.ErrCode) { var resp *sdk.BaseResponse[sdk.ListResponse[*sdk.Form]] if len(ids) == 0 { return resp, nil } resp, err := postReq[*sdk.BaseResponse[sdk.ListResponse[*sdk.Form]]]("/formService/openapi/form/listByIds", gout.H{ "ids": ids, }) 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 } // 获取表单数据 func DetailForm(id string, needCheckItemId bool) (*sdk.BaseResponse[sdk.DetailResponse[*sdk.Form]], *response.ErrCode) { var resp *sdk.BaseResponse[sdk.DetailResponse[*sdk.Form]] resp, err := postReq[*sdk.BaseResponse[sdk.DetailResponse[*sdk.Form]]]("/formService/openapi/form/detail", gout.H{ "id": id, "needCheckItemId": needCheckItemId, }) 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 } // 获取表单数据 func DetailFormByCustomFields(customFields []*sdk.FormCustomField) (*sdk.BaseResponse[sdk.FormFieldsResponse[[]*sdk.FormField]], *response.ErrCode) { var resp *sdk.BaseResponse[sdk.FormFieldsResponse[[]*sdk.FormField]] resp, err := postReq[*sdk.BaseResponse[sdk.FormFieldsResponse[[]*sdk.FormField]]]("/formService/openapi/form/detailByCustomFields", gout.H{ "customFields": customFields, }) 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 }