From 76c093f929713a6cdb8106d872cd28dfe1cef907 Mon Sep 17 00:00:00 2001 From: dingawm Date: Tue, 29 Mar 2022 11:46:41 +0800 Subject: [PATCH 1/2] first commit for tp sdk --- .../analysis/getAnalysisActivityUser/main.go | 42 ++++ .../tp/analysis/getAnalysisRegion/main.go | 42 ++++ .../analysis/getAnalysisRetainedUser/main.go | 44 ++++ .../tp/analysis/getAnalysisSourceInfo/main.go | 42 ++++ .../analysis/getAnalysisTerminalInfo/main.go | 43 ++++ .../tp/analysis/getAnalysisUserTrend/main.go | 43 ++++ .../getAnalysisVisitAttribute/main.go | 41 +++ .../getAnalysisVisitCharacter/main.go | 43 ++++ .../tp/analysis/getAnalysisVisitPage/main.go | 42 ++++ doc_examples/tp/analysis/getData/main.go | 45 ++++ doc_examples/tp/app/checkAppNickName/main.go | 41 +++ doc_examples/tp/app/controlAppFlow/main.go | 40 +++ .../tp/app/getAppCategoryList/main.go | 40 +++ doc_examples/tp/app/getAppQRCode/main.go | 47 ++++ doc_examples/tp/app/getAppSupportVer/main.go | 39 +++ doc_examples/tp/app/pauseApp/main.go | 39 +++ doc_examples/tp/app/resumeApp/main.go | 39 +++ doc_examples/tp/app/setAppCategory/main.go | 40 +++ doc_examples/tp/app/setAppDomain/main.go | 44 ++++ doc_examples/tp/app/setAppImage/main.go | 40 +++ doc_examples/tp/app/setAppNickName/main.go | 41 +++ doc_examples/tp/app/setAppSignature/main.go | 40 +++ .../tp/app/setAppWebViewDomain/main.go | 41 +++ doc_examples/tp/authcert/getFaceAuth/main.go | 39 +++ .../tp/authcert/getPaymentCert/main.go | 39 +++ .../tp/authprocess/getAppInfo/main.go | 39 +++ .../tp/authprocess/getOAuthToken/main.go | 41 +++ .../tp/authprocess/getPreAuthCode/main.go | 39 +++ .../tp/authprocess/getTpToken/main.go | 40 +++ .../tp/authprocess/refreshOAuthToken/main.go | 41 +++ .../tp/authprocess/retrieveAuthCode/main.go | 40 +++ .../customermsg/sendCustomerMessage/main.go | 44 ++++ .../tp/domain/downloadDomainCheckFile/main.go | 44 ++++ .../tp/domain/modifyBusinessDomain/main.go | 41 +++ .../tp/domain/modifyServerDomain/main.go | 44 ++++ .../tp/feed/accessResourceQuery/main.go | 46 ++++ .../tp/feed/accessResourceSubmit/main.go | 50 ++++ doc_examples/tp/feed/deleteResource/main.go | 41 +++ doc_examples/tp/feed/deleteSitemap/main.go | 41 +++ doc_examples/tp/feed/submitSitemap/main.go | 44 ++++ doc_examples/tp/grade/appGrade/main.go | 40 +++ doc_examples/tp/image/uploadImage/main.go | 53 ++++ doc_examples/tp/login/getSessionKey/main.go | 41 +++ doc_examples/tp/login/getUnionId/main.go | 40 +++ .../tp/mobileauth/applyMobileAuth/main.go | 43 ++++ .../tp/mobileauth/cancelMobileAuth/main.go | 39 +++ .../tp/mobileauth/getMobileAuthStatus/main.go | 39 +++ doc_examples/tp/msg/getMsg/main.go | 45 ++++ .../tp/msgtemplate/addMsgTemplate/main.go | 41 +++ .../tp/msgtemplate/delMsgTemplate/main.go | 40 +++ .../getMsgTemplateLibraryKeyWord/main.go | 40 +++ .../getMsgTemplateLibraryList/main.go | 41 +++ .../tp/msgtemplate/getMsgTemplateList/main.go | 41 +++ doc_examples/tp/msgtemplate/sendMsg/main.go | 47 ++++ .../tp/offline/getAppViolationDetail/main.go | 39 +++ doc_examples/tp/offline/setAppOffline/main.go | 43 ++++ .../tp/optimization/getPrelink/main.go | 39 +++ .../tp/optimization/setPrelink/main.go | 40 +++ doc_examples/tp/order/addMainInfo/main.go | 165 ++++++++++++ doc_examples/tp/order/appendSubInfo/main.go | 91 +++++++ doc_examples/tp/order/updateMainInfo/main.go | 123 +++++++++ .../tp/order/updateMainStatus/main.go | 52 ++++ doc_examples/tp/order/updateSubInfo/main.go | 95 +++++++ doc_examples/tp/order/updateSubStatus/main.go | 68 +++++ doc_examples/tp/pay/applyOrderRefund/main.go | 49 ++++ doc_examples/tp/pay/closeOrder/main.go | 41 +++ doc_examples/tp/pay/createPayAccount/main.go | 70 ++++++ .../tp/pay/createPaymentService/main.go | 52 ++++ .../tp/pay/downloadCapitalBill/main.go | 41 +++ doc_examples/tp/pay/downloadOrderBill/main.go | 41 +++ .../tp/pay/getBindPaymentService/main.go | 39 +++ doc_examples/tp/pay/getByTpOrderId/main.go | 41 +++ doc_examples/tp/pay/getExpenseDetail/main.go | 40 +++ doc_examples/tp/pay/getExpenseList/main.go | 43 ++++ doc_examples/tp/pay/getFinanceBalance/main.go | 43 ++++ doc_examples/tp/pay/getIncomeDetail/main.go | 42 ++++ doc_examples/tp/pay/getOrderList/main.go | 44 ++++ doc_examples/tp/pay/getOrderRefund/main.go | 42 ++++ doc_examples/tp/pay/getOtherDetail/main.go | 43 ++++ .../tp/pay/getPayAccountAuditStatus/main.go | 39 +++ .../tp/pay/getPayServiceAuditStatus/main.go | 39 +++ .../tp/pay/getPaymentServiceDict/main.go | 39 +++ .../tp/pay/getTradeIndustryList/main.go | 39 +++ .../tp/pay/submitDevelopConfig/main.go | 43 ++++ .../tp/pay/updateBindPaymentService/main.go | 52 ++++ .../tp/pay/updatePaymentService/main.go | 42 ++++ doc_examples/tp/pkg/getPackage/main.go | 39 +++ doc_examples/tp/pkg/getPackageDetail/main.go | 41 +++ .../tp/pkg/getPackageSubmitAuditQuota/main.go | 39 +++ doc_examples/tp/pkg/releasePackage/main.go | 40 +++ doc_examples/tp/pkg/rollbackPackage/main.go | 40 +++ .../tp/pkg/submitPackageAudit/main.go | 44 ++++ doc_examples/tp/pkg/uploadPackage/main.go | 45 ++++ .../tp/pkg/withdrawPackageAudit/main.go | 40 +++ doc_examples/tp/search/addSubChain/main.go | 43 ++++ doc_examples/tp/search/bindSite/main.go | 40 +++ doc_examples/tp/search/delUrlMapping/main.go | 40 +++ doc_examples/tp/search/deleteSubChain/main.go | 40 +++ doc_examples/tp/search/getAllSubChain/main.go | 39 +++ doc_examples/tp/search/getBindSite/main.go | 41 +++ .../tp/search/getQueryKeyword/main.go | 43 ++++ doc_examples/tp/search/getSitemapMeta/main.go | 40 +++ .../tp/search/getTopQueryUrlInfo/main.go | 42 ++++ .../tp/search/getUrlMappingDetail/main.go | 40 +++ .../tp/search/modifyWebStatus/main.go | 40 +++ .../tp/search/queryUrlMapping/main.go | 41 +++ doc_examples/tp/search/rankSubChain/main.go | 40 +++ doc_examples/tp/search/saveUrlMapping/main.go | 41 +++ doc_examples/tp/search/startSubChain/main.go | 40 +++ doc_examples/tp/search/stopSubChain/main.go | 40 +++ .../tp/search/submitSitemapByApi/main.go | 41 +++ doc_examples/tp/search/updateSubChain/main.go | 44 ++++ .../tp/search/uploadRobotsForApp/main.go | 51 ++++ .../tp/search/uploadRobotsForTemplate/main.go | 52 ++++ .../tp/template/addToTemplate/main.go | 41 +++ doc_examples/tp/template/delTemplate/main.go | 40 +++ .../tp/template/getTemplateDraftList/main.go | 41 +++ .../tp/template/getTemplateList/main.go | 41 +++ .../tp/analysis/getAnalysisActivityUser.go | 100 ++++++++ openapi/tp/analysis/getAnalysisRegion.go | 90 +++++++ .../tp/analysis/getAnalysisRetainedUser.go | 83 +++++++ openapi/tp/analysis/getAnalysisSourceInfo.go | 83 +++++++ .../tp/analysis/getAnalysisTerminalInfo.go | 92 +++++++ openapi/tp/analysis/getAnalysisUserTrend.go | 98 ++++++++ .../tp/analysis/getAnalysisVisitAttribute.go | 89 +++++++ .../tp/analysis/getAnalysisVisitCharacter.go | 82 ++++++ openapi/tp/analysis/getAnalysisVisitPage.go | 98 ++++++++ openapi/tp/analysis/getData.go | 97 ++++++++ openapi/tp/app/checkAppNickName.go | 68 +++++ openapi/tp/app/controlAppFlow.go | 66 +++++ openapi/tp/app/getAppCategoryList.go | 74 ++++++ openapi/tp/app/getAppQRCode.go | 67 +++++ openapi/tp/app/getAppSupportVer.go | 66 +++++ openapi/tp/app/pauseApp.go | 62 +++++ openapi/tp/app/resumeApp.go | 62 +++++ openapi/tp/app/setAppCategory.go | 63 +++++ openapi/tp/app/setAppDomain.go | 74 ++++++ openapi/tp/app/setAppImage.go | 62 +++++ openapi/tp/app/setAppNickName.go | 65 +++++ openapi/tp/app/setAppSignature.go | 62 +++++ openapi/tp/app/setAppWebViewDomain.go | 61 +++++ openapi/tp/authcert/getFaceAuth.go | 63 +++++ openapi/tp/authcert/getPaymentCert.go | 61 +++++ openapi/tp/authprocess/getAppInfo.go | 136 ++++++++++ openapi/tp/authprocess/getOAuthToken.go | 73 ++++++ openapi/tp/authprocess/getPreAuthCode.go | 66 +++++ openapi/tp/authprocess/getTpToken.go | 65 +++++ openapi/tp/authprocess/refreshOAuthToken.go | 73 ++++++ openapi/tp/authprocess/retrieveAuthCode.go | 66 +++++ openapi/tp/customermsg/sendCustomerMessage.go | 74 ++++++ openapi/tp/domain/downloadDomainCheckFile.go | 56 +++++ openapi/tp/domain/modifyBusinessDomain.go | 61 +++++ openapi/tp/domain/modifyServerDomain.go | 74 ++++++ openapi/tp/feed/accessResourceQuery.go | 88 +++++++ openapi/tp/feed/accessResourceSubmit.go | 81 ++++++ openapi/tp/feed/deleteResource.go | 61 +++++ openapi/tp/feed/deleteSitemap.go | 61 +++++ openapi/tp/feed/submitSitemap.go | 69 +++++ openapi/tp/grade/appGrade.go | 75 ++++++ openapi/tp/image/uploadImage.go | 91 +++++++ openapi/tp/login/getSessionKey.go | 65 +++++ openapi/tp/login/getUnionId.go | 63 +++++ openapi/tp/mobileauth/applyMobileAuth.go | 70 ++++++ openapi/tp/mobileauth/cancelMobileAuth.go | 60 +++++ openapi/tp/mobileauth/getMobileAuthStatus.go | 62 +++++ openapi/tp/msg/getMsg.go | 82 ++++++ openapi/tp/msgtemplate/addMsgTemplate.go | 65 +++++ openapi/tp/msgtemplate/delMsgTemplate.go | 64 +++++ .../getMsgTemplateLibraryKeyWord.go | 72 ++++++ .../msgtemplate/getMsgTemplateLibraryList.go | 73 ++++++ openapi/tp/msgtemplate/getMsgTemplateList.go | 75 ++++++ openapi/tp/msgtemplate/sendMsg.go | 79 ++++++ openapi/tp/offline/getAppViolationDetail.go | 72 ++++++ openapi/tp/offline/setAppOffline.go | 69 +++++ openapi/tp/optimization/getPrelink.go | 57 +++++ openapi/tp/optimization/setPrelink.go | 85 +++++++ openapi/tp/order/addMainInfo.go | 174 +++++++++++++ openapi/tp/order/appendSubInfo.go | 118 +++++++++ openapi/tp/order/updateMainInfo.go | 141 +++++++++++ openapi/tp/order/updateMainStatus.go | 89 +++++++ openapi/tp/order/updateSubInfo.go | 122 +++++++++ openapi/tp/order/updateSubStatus.go | 100 ++++++++ openapi/tp/pay/applyOrderRefund.go | 84 +++++++ openapi/tp/pay/closeOrder.go | 61 +++++ openapi/tp/pay/createPayAccount.go | 124 +++++++++ openapi/tp/pay/createPaymentService.go | 88 +++++++ openapi/tp/pay/downloadCapitalBill.go | 73 ++++++ openapi/tp/pay/downloadOrderBill.go | 73 ++++++ openapi/tp/pay/getBindPaymentService.go | 78 ++++++ openapi/tp/pay/getByTpOrderId.go | 85 +++++++ openapi/tp/pay/getExpenseDetail.go | 73 ++++++ openapi/tp/pay/getExpenseList.go | 84 +++++++ openapi/tp/pay/getFinanceBalance.go | 88 +++++++ openapi/tp/pay/getIncomeDetail.go | 86 +++++++ openapi/tp/pay/getOrderList.go | 95 +++++++ openapi/tp/pay/getOrderRefund.go | 73 ++++++ openapi/tp/pay/getOtherDetail.go | 84 +++++++ openapi/tp/pay/getPayAccountAuditStatus.go | 62 +++++ openapi/tp/pay/getPayServiceAuditStatus.go | 62 +++++ openapi/tp/pay/getPaymentServiceDict.go | 85 +++++++ openapi/tp/pay/getTradeIndustryList.go | 83 +++++++ openapi/tp/pay/submitDevelopConfig.go | 68 +++++ openapi/tp/pay/updateBindPaymentService.go | 88 +++++++ openapi/tp/pay/updatePaymentService.go | 68 +++++ openapi/tp/pkg/getPackage.go | 73 ++++++ openapi/tp/pkg/getPackageDetail.go | 72 ++++++ openapi/tp/pkg/getPackageSubmitAuditQuota.go | 63 +++++ openapi/tp/pkg/releasePackage.go | 62 +++++ openapi/tp/pkg/rollbackPackage.go | 62 +++++ openapi/tp/pkg/submitPackageAudit.go | 70 ++++++ openapi/tp/pkg/uploadPackage.go | 72 ++++++ openapi/tp/pkg/withdrawPackageAudit.go | 62 +++++ openapi/tp/search/addSubChain.go | 65 +++++ openapi/tp/search/bindSite.go | 59 +++++ openapi/tp/search/delUrlMapping.go | 61 +++++ openapi/tp/search/deleteSubChain.go | 59 +++++ openapi/tp/search/getAllSubChain.go | 83 +++++++ openapi/tp/search/getBindSite.go | 63 +++++ openapi/tp/search/getQueryKeyword.go | 79 ++++++ openapi/tp/search/getSitemapMeta.go | 75 ++++++ openapi/tp/search/getTopQueryUrlInfo.go | 81 ++++++ openapi/tp/search/getUrlMappingDetail.go | 77 ++++++ openapi/tp/search/modifyWebStatus.go | 66 +++++ openapi/tp/search/queryUrlMapping.go | 80 ++++++ openapi/tp/search/rankSubChain.go | 59 +++++ openapi/tp/search/saveUrlMapping.go | 61 +++++ openapi/tp/search/startSubChain.go | 59 +++++ openapi/tp/search/stopSubChain.go | 59 +++++ openapi/tp/search/submitSitemapByApi.go | 66 +++++ openapi/tp/search/updateSubChain.go | 67 +++++ openapi/tp/search/uploadRobotsForApp.go | 88 +++++++ openapi/tp/search/uploadRobotsForTemplate.go | 91 +++++++ openapi/tp/template/addToTemplate.go | 65 +++++ openapi/tp/template/delTemplate.go | 64 +++++ openapi/tp/template/getTemplateDraftList.go | 74 ++++++ openapi/tp/template/getTemplateList.go | 74 ++++++ utils/base.go | 41 +++ utils/http_client.go | 235 ++++++++++++++++++ utils/options.go | 37 +++ 239 files changed, 14613 insertions(+) create mode 100644 doc_examples/tp/analysis/getAnalysisActivityUser/main.go create mode 100644 doc_examples/tp/analysis/getAnalysisRegion/main.go create mode 100644 doc_examples/tp/analysis/getAnalysisRetainedUser/main.go create mode 100644 doc_examples/tp/analysis/getAnalysisSourceInfo/main.go create mode 100644 doc_examples/tp/analysis/getAnalysisTerminalInfo/main.go create mode 100644 doc_examples/tp/analysis/getAnalysisUserTrend/main.go create mode 100644 doc_examples/tp/analysis/getAnalysisVisitAttribute/main.go create mode 100644 doc_examples/tp/analysis/getAnalysisVisitCharacter/main.go create mode 100644 doc_examples/tp/analysis/getAnalysisVisitPage/main.go create mode 100644 doc_examples/tp/analysis/getData/main.go create mode 100644 doc_examples/tp/app/checkAppNickName/main.go create mode 100644 doc_examples/tp/app/controlAppFlow/main.go create mode 100644 doc_examples/tp/app/getAppCategoryList/main.go create mode 100644 doc_examples/tp/app/getAppQRCode/main.go create mode 100644 doc_examples/tp/app/getAppSupportVer/main.go create mode 100644 doc_examples/tp/app/pauseApp/main.go create mode 100644 doc_examples/tp/app/resumeApp/main.go create mode 100644 doc_examples/tp/app/setAppCategory/main.go create mode 100644 doc_examples/tp/app/setAppDomain/main.go create mode 100644 doc_examples/tp/app/setAppImage/main.go create mode 100644 doc_examples/tp/app/setAppNickName/main.go create mode 100644 doc_examples/tp/app/setAppSignature/main.go create mode 100644 doc_examples/tp/app/setAppWebViewDomain/main.go create mode 100644 doc_examples/tp/authcert/getFaceAuth/main.go create mode 100644 doc_examples/tp/authcert/getPaymentCert/main.go create mode 100644 doc_examples/tp/authprocess/getAppInfo/main.go create mode 100644 doc_examples/tp/authprocess/getOAuthToken/main.go create mode 100644 doc_examples/tp/authprocess/getPreAuthCode/main.go create mode 100644 doc_examples/tp/authprocess/getTpToken/main.go create mode 100644 doc_examples/tp/authprocess/refreshOAuthToken/main.go create mode 100644 doc_examples/tp/authprocess/retrieveAuthCode/main.go create mode 100644 doc_examples/tp/customermsg/sendCustomerMessage/main.go create mode 100644 doc_examples/tp/domain/downloadDomainCheckFile/main.go create mode 100644 doc_examples/tp/domain/modifyBusinessDomain/main.go create mode 100644 doc_examples/tp/domain/modifyServerDomain/main.go create mode 100644 doc_examples/tp/feed/accessResourceQuery/main.go create mode 100644 doc_examples/tp/feed/accessResourceSubmit/main.go create mode 100644 doc_examples/tp/feed/deleteResource/main.go create mode 100644 doc_examples/tp/feed/deleteSitemap/main.go create mode 100644 doc_examples/tp/feed/submitSitemap/main.go create mode 100644 doc_examples/tp/grade/appGrade/main.go create mode 100644 doc_examples/tp/image/uploadImage/main.go create mode 100644 doc_examples/tp/login/getSessionKey/main.go create mode 100644 doc_examples/tp/login/getUnionId/main.go create mode 100644 doc_examples/tp/mobileauth/applyMobileAuth/main.go create mode 100644 doc_examples/tp/mobileauth/cancelMobileAuth/main.go create mode 100644 doc_examples/tp/mobileauth/getMobileAuthStatus/main.go create mode 100644 doc_examples/tp/msg/getMsg/main.go create mode 100644 doc_examples/tp/msgtemplate/addMsgTemplate/main.go create mode 100644 doc_examples/tp/msgtemplate/delMsgTemplate/main.go create mode 100644 doc_examples/tp/msgtemplate/getMsgTemplateLibraryKeyWord/main.go create mode 100644 doc_examples/tp/msgtemplate/getMsgTemplateLibraryList/main.go create mode 100644 doc_examples/tp/msgtemplate/getMsgTemplateList/main.go create mode 100644 doc_examples/tp/msgtemplate/sendMsg/main.go create mode 100644 doc_examples/tp/offline/getAppViolationDetail/main.go create mode 100644 doc_examples/tp/offline/setAppOffline/main.go create mode 100644 doc_examples/tp/optimization/getPrelink/main.go create mode 100644 doc_examples/tp/optimization/setPrelink/main.go create mode 100644 doc_examples/tp/order/addMainInfo/main.go create mode 100644 doc_examples/tp/order/appendSubInfo/main.go create mode 100644 doc_examples/tp/order/updateMainInfo/main.go create mode 100644 doc_examples/tp/order/updateMainStatus/main.go create mode 100644 doc_examples/tp/order/updateSubInfo/main.go create mode 100644 doc_examples/tp/order/updateSubStatus/main.go create mode 100644 doc_examples/tp/pay/applyOrderRefund/main.go create mode 100644 doc_examples/tp/pay/closeOrder/main.go create mode 100644 doc_examples/tp/pay/createPayAccount/main.go create mode 100644 doc_examples/tp/pay/createPaymentService/main.go create mode 100644 doc_examples/tp/pay/downloadCapitalBill/main.go create mode 100644 doc_examples/tp/pay/downloadOrderBill/main.go create mode 100644 doc_examples/tp/pay/getBindPaymentService/main.go create mode 100644 doc_examples/tp/pay/getByTpOrderId/main.go create mode 100644 doc_examples/tp/pay/getExpenseDetail/main.go create mode 100644 doc_examples/tp/pay/getExpenseList/main.go create mode 100644 doc_examples/tp/pay/getFinanceBalance/main.go create mode 100644 doc_examples/tp/pay/getIncomeDetail/main.go create mode 100644 doc_examples/tp/pay/getOrderList/main.go create mode 100644 doc_examples/tp/pay/getOrderRefund/main.go create mode 100644 doc_examples/tp/pay/getOtherDetail/main.go create mode 100644 doc_examples/tp/pay/getPayAccountAuditStatus/main.go create mode 100644 doc_examples/tp/pay/getPayServiceAuditStatus/main.go create mode 100644 doc_examples/tp/pay/getPaymentServiceDict/main.go create mode 100644 doc_examples/tp/pay/getTradeIndustryList/main.go create mode 100644 doc_examples/tp/pay/submitDevelopConfig/main.go create mode 100644 doc_examples/tp/pay/updateBindPaymentService/main.go create mode 100644 doc_examples/tp/pay/updatePaymentService/main.go create mode 100644 doc_examples/tp/pkg/getPackage/main.go create mode 100644 doc_examples/tp/pkg/getPackageDetail/main.go create mode 100644 doc_examples/tp/pkg/getPackageSubmitAuditQuota/main.go create mode 100644 doc_examples/tp/pkg/releasePackage/main.go create mode 100644 doc_examples/tp/pkg/rollbackPackage/main.go create mode 100644 doc_examples/tp/pkg/submitPackageAudit/main.go create mode 100644 doc_examples/tp/pkg/uploadPackage/main.go create mode 100644 doc_examples/tp/pkg/withdrawPackageAudit/main.go create mode 100644 doc_examples/tp/search/addSubChain/main.go create mode 100644 doc_examples/tp/search/bindSite/main.go create mode 100644 doc_examples/tp/search/delUrlMapping/main.go create mode 100644 doc_examples/tp/search/deleteSubChain/main.go create mode 100644 doc_examples/tp/search/getAllSubChain/main.go create mode 100644 doc_examples/tp/search/getBindSite/main.go create mode 100644 doc_examples/tp/search/getQueryKeyword/main.go create mode 100644 doc_examples/tp/search/getSitemapMeta/main.go create mode 100644 doc_examples/tp/search/getTopQueryUrlInfo/main.go create mode 100644 doc_examples/tp/search/getUrlMappingDetail/main.go create mode 100644 doc_examples/tp/search/modifyWebStatus/main.go create mode 100644 doc_examples/tp/search/queryUrlMapping/main.go create mode 100644 doc_examples/tp/search/rankSubChain/main.go create mode 100644 doc_examples/tp/search/saveUrlMapping/main.go create mode 100644 doc_examples/tp/search/startSubChain/main.go create mode 100644 doc_examples/tp/search/stopSubChain/main.go create mode 100644 doc_examples/tp/search/submitSitemapByApi/main.go create mode 100644 doc_examples/tp/search/updateSubChain/main.go create mode 100644 doc_examples/tp/search/uploadRobotsForApp/main.go create mode 100644 doc_examples/tp/search/uploadRobotsForTemplate/main.go create mode 100644 doc_examples/tp/template/addToTemplate/main.go create mode 100644 doc_examples/tp/template/delTemplate/main.go create mode 100644 doc_examples/tp/template/getTemplateDraftList/main.go create mode 100644 doc_examples/tp/template/getTemplateList/main.go create mode 100644 openapi/tp/analysis/getAnalysisActivityUser.go create mode 100644 openapi/tp/analysis/getAnalysisRegion.go create mode 100644 openapi/tp/analysis/getAnalysisRetainedUser.go create mode 100644 openapi/tp/analysis/getAnalysisSourceInfo.go create mode 100644 openapi/tp/analysis/getAnalysisTerminalInfo.go create mode 100644 openapi/tp/analysis/getAnalysisUserTrend.go create mode 100644 openapi/tp/analysis/getAnalysisVisitAttribute.go create mode 100644 openapi/tp/analysis/getAnalysisVisitCharacter.go create mode 100644 openapi/tp/analysis/getAnalysisVisitPage.go create mode 100644 openapi/tp/analysis/getData.go create mode 100644 openapi/tp/app/checkAppNickName.go create mode 100644 openapi/tp/app/controlAppFlow.go create mode 100644 openapi/tp/app/getAppCategoryList.go create mode 100644 openapi/tp/app/getAppQRCode.go create mode 100644 openapi/tp/app/getAppSupportVer.go create mode 100644 openapi/tp/app/pauseApp.go create mode 100644 openapi/tp/app/resumeApp.go create mode 100644 openapi/tp/app/setAppCategory.go create mode 100644 openapi/tp/app/setAppDomain.go create mode 100644 openapi/tp/app/setAppImage.go create mode 100644 openapi/tp/app/setAppNickName.go create mode 100644 openapi/tp/app/setAppSignature.go create mode 100644 openapi/tp/app/setAppWebViewDomain.go create mode 100644 openapi/tp/authcert/getFaceAuth.go create mode 100644 openapi/tp/authcert/getPaymentCert.go create mode 100644 openapi/tp/authprocess/getAppInfo.go create mode 100644 openapi/tp/authprocess/getOAuthToken.go create mode 100644 openapi/tp/authprocess/getPreAuthCode.go create mode 100644 openapi/tp/authprocess/getTpToken.go create mode 100644 openapi/tp/authprocess/refreshOAuthToken.go create mode 100644 openapi/tp/authprocess/retrieveAuthCode.go create mode 100644 openapi/tp/customermsg/sendCustomerMessage.go create mode 100644 openapi/tp/domain/downloadDomainCheckFile.go create mode 100644 openapi/tp/domain/modifyBusinessDomain.go create mode 100644 openapi/tp/domain/modifyServerDomain.go create mode 100644 openapi/tp/feed/accessResourceQuery.go create mode 100644 openapi/tp/feed/accessResourceSubmit.go create mode 100644 openapi/tp/feed/deleteResource.go create mode 100644 openapi/tp/feed/deleteSitemap.go create mode 100644 openapi/tp/feed/submitSitemap.go create mode 100644 openapi/tp/grade/appGrade.go create mode 100644 openapi/tp/image/uploadImage.go create mode 100644 openapi/tp/login/getSessionKey.go create mode 100644 openapi/tp/login/getUnionId.go create mode 100644 openapi/tp/mobileauth/applyMobileAuth.go create mode 100644 openapi/tp/mobileauth/cancelMobileAuth.go create mode 100644 openapi/tp/mobileauth/getMobileAuthStatus.go create mode 100644 openapi/tp/msg/getMsg.go create mode 100644 openapi/tp/msgtemplate/addMsgTemplate.go create mode 100644 openapi/tp/msgtemplate/delMsgTemplate.go create mode 100644 openapi/tp/msgtemplate/getMsgTemplateLibraryKeyWord.go create mode 100644 openapi/tp/msgtemplate/getMsgTemplateLibraryList.go create mode 100644 openapi/tp/msgtemplate/getMsgTemplateList.go create mode 100644 openapi/tp/msgtemplate/sendMsg.go create mode 100644 openapi/tp/offline/getAppViolationDetail.go create mode 100644 openapi/tp/offline/setAppOffline.go create mode 100644 openapi/tp/optimization/getPrelink.go create mode 100644 openapi/tp/optimization/setPrelink.go create mode 100644 openapi/tp/order/addMainInfo.go create mode 100644 openapi/tp/order/appendSubInfo.go create mode 100644 openapi/tp/order/updateMainInfo.go create mode 100644 openapi/tp/order/updateMainStatus.go create mode 100644 openapi/tp/order/updateSubInfo.go create mode 100644 openapi/tp/order/updateSubStatus.go create mode 100644 openapi/tp/pay/applyOrderRefund.go create mode 100644 openapi/tp/pay/closeOrder.go create mode 100644 openapi/tp/pay/createPayAccount.go create mode 100644 openapi/tp/pay/createPaymentService.go create mode 100644 openapi/tp/pay/downloadCapitalBill.go create mode 100644 openapi/tp/pay/downloadOrderBill.go create mode 100644 openapi/tp/pay/getBindPaymentService.go create mode 100644 openapi/tp/pay/getByTpOrderId.go create mode 100644 openapi/tp/pay/getExpenseDetail.go create mode 100644 openapi/tp/pay/getExpenseList.go create mode 100644 openapi/tp/pay/getFinanceBalance.go create mode 100644 openapi/tp/pay/getIncomeDetail.go create mode 100644 openapi/tp/pay/getOrderList.go create mode 100644 openapi/tp/pay/getOrderRefund.go create mode 100644 openapi/tp/pay/getOtherDetail.go create mode 100644 openapi/tp/pay/getPayAccountAuditStatus.go create mode 100644 openapi/tp/pay/getPayServiceAuditStatus.go create mode 100644 openapi/tp/pay/getPaymentServiceDict.go create mode 100644 openapi/tp/pay/getTradeIndustryList.go create mode 100644 openapi/tp/pay/submitDevelopConfig.go create mode 100644 openapi/tp/pay/updateBindPaymentService.go create mode 100644 openapi/tp/pay/updatePaymentService.go create mode 100644 openapi/tp/pkg/getPackage.go create mode 100644 openapi/tp/pkg/getPackageDetail.go create mode 100644 openapi/tp/pkg/getPackageSubmitAuditQuota.go create mode 100644 openapi/tp/pkg/releasePackage.go create mode 100644 openapi/tp/pkg/rollbackPackage.go create mode 100644 openapi/tp/pkg/submitPackageAudit.go create mode 100644 openapi/tp/pkg/uploadPackage.go create mode 100644 openapi/tp/pkg/withdrawPackageAudit.go create mode 100644 openapi/tp/search/addSubChain.go create mode 100644 openapi/tp/search/bindSite.go create mode 100644 openapi/tp/search/delUrlMapping.go create mode 100644 openapi/tp/search/deleteSubChain.go create mode 100644 openapi/tp/search/getAllSubChain.go create mode 100644 openapi/tp/search/getBindSite.go create mode 100644 openapi/tp/search/getQueryKeyword.go create mode 100644 openapi/tp/search/getSitemapMeta.go create mode 100644 openapi/tp/search/getTopQueryUrlInfo.go create mode 100644 openapi/tp/search/getUrlMappingDetail.go create mode 100644 openapi/tp/search/modifyWebStatus.go create mode 100644 openapi/tp/search/queryUrlMapping.go create mode 100644 openapi/tp/search/rankSubChain.go create mode 100644 openapi/tp/search/saveUrlMapping.go create mode 100644 openapi/tp/search/startSubChain.go create mode 100644 openapi/tp/search/stopSubChain.go create mode 100644 openapi/tp/search/submitSitemapByApi.go create mode 100644 openapi/tp/search/updateSubChain.go create mode 100644 openapi/tp/search/uploadRobotsForApp.go create mode 100644 openapi/tp/search/uploadRobotsForTemplate.go create mode 100644 openapi/tp/template/addToTemplate.go create mode 100644 openapi/tp/template/delTemplate.go create mode 100644 openapi/tp/template/getTemplateDraftList.go create mode 100644 openapi/tp/template/getTemplateList.go create mode 100644 utils/base.go create mode 100644 utils/http_client.go create mode 100644 utils/options.go diff --git a/doc_examples/tp/analysis/getAnalysisActivityUser/main.go b/doc_examples/tp/analysis/getAnalysisActivityUser/main.go new file mode 100644 index 0000000..40c7f0c --- /dev/null +++ b/doc_examples/tp/analysis/getAnalysisActivityUser/main.go @@ -0,0 +1,42 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/analysis" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &analysis.GetAnalysisActivityUserRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + StartIndex: 0, // 文档中对应字段:start_index,实际使用时请替换成真实参数 + StartDate: "22104851", // 文档中对应字段:start_date,实际使用时请替换成真实参数 + EndDate: "26308111", // 文档中对应字段:end_date,实际使用时请替换成真实参数 + } + + resp, err := analysis.GetAnalysisActivityUser(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/analysis/getAnalysisRegion/main.go b/doc_examples/tp/analysis/getAnalysisRegion/main.go new file mode 100644 index 0000000..09091c2 --- /dev/null +++ b/doc_examples/tp/analysis/getAnalysisRegion/main.go @@ -0,0 +1,42 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/analysis" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &analysis.GetAnalysisRegionRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + StartIndex: 0, // 文档中对应字段:start_index,实际使用时请替换成真实参数 + StartDate: "28368088", // 文档中对应字段:start_date,实际使用时请替换成真实参数 + EndDate: "20208265", // 文档中对应字段:end_date,实际使用时请替换成真实参数 + } + + resp, err := analysis.GetAnalysisRegion(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/analysis/getAnalysisRetainedUser/main.go b/doc_examples/tp/analysis/getAnalysisRetainedUser/main.go new file mode 100644 index 0000000..2914158 --- /dev/null +++ b/doc_examples/tp/analysis/getAnalysisRetainedUser/main.go @@ -0,0 +1,44 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/analysis" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &analysis.GetAnalysisRetainedUserRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + ReportType: "count", // 文档中对应字段:report_type,实际使用时请替换成真实参数 + StartIndex: 0, // 文档中对应字段:start_index,实际使用时请替换成真实参数 + StartDate: "24051472", // 文档中对应字段:start_date,实际使用时请替换成真实参数 + EndDate: "27411407", // 文档中对应字段:end_date,实际使用时请替换成真实参数 + Gran: "month", // 文档中对应字段:gran,实际使用时请替换成真实参数 + } + + resp, err := analysis.GetAnalysisRetainedUser(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/analysis/getAnalysisSourceInfo/main.go b/doc_examples/tp/analysis/getAnalysisSourceInfo/main.go new file mode 100644 index 0000000..48479da --- /dev/null +++ b/doc_examples/tp/analysis/getAnalysisSourceInfo/main.go @@ -0,0 +1,42 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/analysis" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &analysis.GetAnalysisSourceInfoRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + StartIndex: 0, // 文档中对应字段:start_index,实际使用时请替换成真实参数 + StartDate: "25658036", // 文档中对应字段:start_date,实际使用时请替换成真实参数 + EndDate: "27205222", // 文档中对应字段:end_date,实际使用时请替换成真实参数 + } + + resp, err := analysis.GetAnalysisSourceInfo(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/analysis/getAnalysisTerminalInfo/main.go b/doc_examples/tp/analysis/getAnalysisTerminalInfo/main.go new file mode 100644 index 0000000..5f1dc3b --- /dev/null +++ b/doc_examples/tp/analysis/getAnalysisTerminalInfo/main.go @@ -0,0 +1,43 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/analysis" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &analysis.GetAnalysisTerminalInfoRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + TerminalType: "terminal_brand", // 文档中对应字段:terminal_type,实际使用时请替换成真实参数 + StartIndex: 0, // 文档中对应字段:start_index,实际使用时请替换成真实参数 + StartDate: "20485107", // 文档中对应字段:start_date,实际使用时请替换成真实参数 + EndDate: "26557608", // 文档中对应字段:end_date,实际使用时请替换成真实参数 + } + + resp, err := analysis.GetAnalysisTerminalInfo(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/analysis/getAnalysisUserTrend/main.go b/doc_examples/tp/analysis/getAnalysisUserTrend/main.go new file mode 100644 index 0000000..9c0f812 --- /dev/null +++ b/doc_examples/tp/analysis/getAnalysisUserTrend/main.go @@ -0,0 +1,43 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/analysis" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &analysis.GetAnalysisUserTrendRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + StartIndex: 0, // 文档中对应字段:start_index,实际使用时请替换成真实参数 + StartDate: "23505084", // 文档中对应字段:start_date,实际使用时请替换成真实参数 + EndDate: "24821044", // 文档中对应字段:end_date,实际使用时请替换成真实参数 + Gran: "month", // 文档中对应字段:gran,实际使用时请替换成真实参数 + } + + resp, err := analysis.GetAnalysisUserTrend(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/analysis/getAnalysisVisitAttribute/main.go b/doc_examples/tp/analysis/getAnalysisVisitAttribute/main.go new file mode 100644 index 0000000..50aed19 --- /dev/null +++ b/doc_examples/tp/analysis/getAnalysisVisitAttribute/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/analysis" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &analysis.GetAnalysisVisitAttributeRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + StartDate: "24553570", // 文档中对应字段:start_date,实际使用时请替换成真实参数 + EndDate: "27488344", // 文档中对应字段:end_date,实际使用时请替换成真实参数 + } + + resp, err := analysis.GetAnalysisVisitAttribute(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/analysis/getAnalysisVisitCharacter/main.go b/doc_examples/tp/analysis/getAnalysisVisitCharacter/main.go new file mode 100644 index 0000000..02ccb49 --- /dev/null +++ b/doc_examples/tp/analysis/getAnalysisVisitCharacter/main.go @@ -0,0 +1,43 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/analysis" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &analysis.GetAnalysisVisitCharacterRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + CharacterType: "time", // 文档中对应字段:character_type,实际使用时请替换成真实参数 + StartIndex: 0, // 文档中对应字段:start_index,实际使用时请替换成真实参数 + StartDate: "22246843", // 文档中对应字段:start_date,实际使用时请替换成真实参数 + EndDate: "23125353", // 文档中对应字段:end_date,实际使用时请替换成真实参数 + } + + resp, err := analysis.GetAnalysisVisitCharacter(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/analysis/getAnalysisVisitPage/main.go b/doc_examples/tp/analysis/getAnalysisVisitPage/main.go new file mode 100644 index 0000000..8de3bee --- /dev/null +++ b/doc_examples/tp/analysis/getAnalysisVisitPage/main.go @@ -0,0 +1,42 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/analysis" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &analysis.GetAnalysisVisitPageRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + StartIndex: 0, // 文档中对应字段:start_index,实际使用时请替换成真实参数 + StartDate: "24834887", // 文档中对应字段:start_date,实际使用时请替换成真实参数 + EndDate: "24455321", // 文档中对应字段:end_date,实际使用时请替换成真实参数 + } + + resp, err := analysis.GetAnalysisVisitPage(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/analysis/getData/main.go b/doc_examples/tp/analysis/getData/main.go new file mode 100644 index 0000000..fde25d8 --- /dev/null +++ b/doc_examples/tp/analysis/getData/main.go @@ -0,0 +1,45 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/analysis" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &analysis.GetDataRequest{ + AccessToken: "#tpToken", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Scene: "10666318", // 文档中对应字段:scene,实际使用时请替换成真实参数 + Metrics: "metrics", // 文档中对应字段:metrics,实际使用时请替换成真实参数 + StartDate: "20885860", // 文档中对应字段:start_date,实际使用时请替换成真实参数 + EndDate: "21753851", // 文档中对应字段:end_date,实际使用时请替换成真实参数 + StartIndex: 0, // 文档中对应字段:start_index,实际使用时请替换成真实参数 + MaxResults: 24, // 文档中对应字段:max_results,实际使用时请替换成真实参数 + } + + resp, err := analysis.GetData(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/app/checkAppNickName/main.go b/doc_examples/tp/app/checkAppNickName/main.go new file mode 100644 index 0000000..8ef1b00 --- /dev/null +++ b/doc_examples/tp/app/checkAppNickName/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/app" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &app.CheckAppNickNameRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + AppName: "baidu", // 文档中对应字段:app_name,实际使用时请替换成真实参数 + QualMaterials: "", // 文档中对应字段:qual_materials,实际使用时请替换成真实参数 + } + + resp, err := app.CheckAppNickName(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/app/controlAppFlow/main.go b/doc_examples/tp/app/controlAppFlow/main.go new file mode 100644 index 0000000..a28aab0 --- /dev/null +++ b/doc_examples/tp/app/controlAppFlow/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/app" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &app.ControlAppFlowRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Type: 2, // 文档中对应字段:type,实际使用时请替换成真实参数 + } + + resp, err := app.ControlAppFlow(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/app/getAppCategoryList/main.go b/doc_examples/tp/app/getAppCategoryList/main.go new file mode 100644 index 0000000..280738c --- /dev/null +++ b/doc_examples/tp/app/getAppCategoryList/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/app" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &app.GetAppCategoryListRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + CategoryType: "1", // 文档中对应字段:category_type,实际使用时请替换成真实参数 + } + + resp, err := app.GetAppCategoryList(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/app/getAppQRCode/main.go b/doc_examples/tp/app/getAppQRCode/main.go new file mode 100644 index 0000000..a8c8048 --- /dev/null +++ b/doc_examples/tp/app/getAppQRCode/main.go @@ -0,0 +1,47 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + "io/ioutil" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/app" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &app.GetAppQRCodeRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Path: "", // 文档中对应字段:path,实际使用时请替换成真实参数 + PackageID: "", // 文档中对应字段:package_id,实际使用时请替换成真实参数 + Width: 465, // 文档中对应字段:width,实际使用时请替换成真实参数 + } + + resp, err := app.GetAppQRCode(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + if resp.ContentType == utils.ConverterTypePNG { + fileName := "./GetAppQRCodeRequest.png" + _ = ioutil.WriteFile(fileName, resp.Data, 0644) + } + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/app/getAppSupportVer/main.go b/doc_examples/tp/app/getAppSupportVer/main.go new file mode 100644 index 0000000..f4e8e77 --- /dev/null +++ b/doc_examples/tp/app/getAppSupportVer/main.go @@ -0,0 +1,39 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/app" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &app.GetAppSupportVerRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + } + + resp, err := app.GetAppSupportVer(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/app/pauseApp/main.go b/doc_examples/tp/app/pauseApp/main.go new file mode 100644 index 0000000..11a1fed --- /dev/null +++ b/doc_examples/tp/app/pauseApp/main.go @@ -0,0 +1,39 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/app" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &app.PauseAppRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + } + + resp, err := app.PauseApp(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/app/resumeApp/main.go b/doc_examples/tp/app/resumeApp/main.go new file mode 100644 index 0000000..984c63a --- /dev/null +++ b/doc_examples/tp/app/resumeApp/main.go @@ -0,0 +1,39 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/app" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &app.ResumeAppRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + } + + resp, err := app.ResumeApp(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/app/setAppCategory/main.go b/doc_examples/tp/app/setAppCategory/main.go new file mode 100644 index 0000000..b7842dd --- /dev/null +++ b/doc_examples/tp/app/setAppCategory/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/app" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &app.SetAppCategoryRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Categorys: "", // 文档中对应字段:categorys,实际使用时请替换成真实参数 + } + + resp, err := app.SetAppCategory(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/app/setAppDomain/main.go b/doc_examples/tp/app/setAppDomain/main.go new file mode 100644 index 0000000..6c2b559 --- /dev/null +++ b/doc_examples/tp/app/setAppDomain/main.go @@ -0,0 +1,44 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/app" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &app.SetAppDomainRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Action: "get", // 文档中对应字段:action,实际使用时请替换成真实参数 + DownloadDomain: "", // 文档中对应字段:download_domain,实际使用时请替换成真实参数 + RequestDomain: "", // 文档中对应字段:request_domain,实际使用时请替换成真实参数 + SocketDomain: "", // 文档中对应字段:socket_domain,实际使用时请替换成真实参数 + UploadDomain: "", // 文档中对应字段:upload_domain,实际使用时请替换成真实参数 + } + + resp, err := app.SetAppDomain(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/app/setAppImage/main.go b/doc_examples/tp/app/setAppImage/main.go new file mode 100644 index 0000000..0c1717a --- /dev/null +++ b/doc_examples/tp/app/setAppImage/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/app" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &app.SetAppImageRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + ImageURL: "https://mbs2.bdstatic.com/searchbox/mappconsole/image/17564658/85feb8a1-d25b-033c-8476-10cfff30c3a7.jpg", // 文档中对应字段:image_url,实际使用时请替换成真实参数 + } + + resp, err := app.SetAppImage(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/app/setAppNickName/main.go b/doc_examples/tp/app/setAppNickName/main.go new file mode 100644 index 0000000..baf86fa --- /dev/null +++ b/doc_examples/tp/app/setAppNickName/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/app" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &app.SetAppNickNameRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + NickName: "", // 文档中对应字段:nick_name,实际使用时请替换成真实参数 + QualMaterials: "", // 文档中对应字段:qual_materials,实际使用时请替换成真实参数 + } + + resp, err := app.SetAppNickName(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/app/setAppSignature/main.go b/doc_examples/tp/app/setAppSignature/main.go new file mode 100644 index 0000000..842c1d9 --- /dev/null +++ b/doc_examples/tp/app/setAppSignature/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/app" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &app.SetAppSignatureRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Signature: "功能介绍文字", // 文档中对应字段:signature,实际使用时请替换成真实参数 + } + + resp, err := app.SetAppSignature(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/app/setAppWebViewDomain/main.go b/doc_examples/tp/app/setAppWebViewDomain/main.go new file mode 100644 index 0000000..28c5a3c --- /dev/null +++ b/doc_examples/tp/app/setAppWebViewDomain/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/app" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &app.SetAppWebViewDomainRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Action: "get", // 文档中对应字段:action,实际使用时请替换成真实参数 + WebViewDomain: "", // 文档中对应字段:web_view_domain,实际使用时请替换成真实参数 + } + + resp, err := app.SetAppWebViewDomain(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/authcert/getFaceAuth/main.go b/doc_examples/tp/authcert/getFaceAuth/main.go new file mode 100644 index 0000000..9a335a3 --- /dev/null +++ b/doc_examples/tp/authcert/getFaceAuth/main.go @@ -0,0 +1,39 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/authcert" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &authcert.GetFaceAuthRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + } + + resp, err := authcert.GetFaceAuth(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/authcert/getPaymentCert/main.go b/doc_examples/tp/authcert/getPaymentCert/main.go new file mode 100644 index 0000000..213b737 --- /dev/null +++ b/doc_examples/tp/authcert/getPaymentCert/main.go @@ -0,0 +1,39 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/authcert" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &authcert.GetPaymentCertRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + } + + resp, err := authcert.GetPaymentCert(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/authprocess/getAppInfo/main.go b/doc_examples/tp/authprocess/getAppInfo/main.go new file mode 100644 index 0000000..f7b9d14 --- /dev/null +++ b/doc_examples/tp/authprocess/getAppInfo/main.go @@ -0,0 +1,39 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/authprocess" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &authprocess.GetAppInfoRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + } + + resp, err := authprocess.GetAppInfo(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/authprocess/getOAuthToken/main.go b/doc_examples/tp/authprocess/getOAuthToken/main.go new file mode 100644 index 0000000..589378e --- /dev/null +++ b/doc_examples/tp/authprocess/getOAuthToken/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/authprocess" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &authprocess.GetOAuthTokenRequest{ + AccessToken: "#tpToken", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Code: "f4c34656cc670a8f8c48181f7140bb30", // 文档中对应字段:code,实际使用时请替换成真实参数 + GrantType: "app_to_tp_authorization_code", // 文档中对应字段:grant_type,实际使用时请替换成真实参数 + } + + resp, err := authprocess.GetOAuthToken(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/authprocess/getPreAuthCode/main.go b/doc_examples/tp/authprocess/getPreAuthCode/main.go new file mode 100644 index 0000000..1139698 --- /dev/null +++ b/doc_examples/tp/authprocess/getPreAuthCode/main.go @@ -0,0 +1,39 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/authprocess" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &authprocess.GetPreAuthCodeRequest{ + AccessToken: "#tpToken", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + } + + resp, err := authprocess.GetPreAuthCode(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/authprocess/getTpToken/main.go b/doc_examples/tp/authprocess/getTpToken/main.go new file mode 100644 index 0000000..cbd9194 --- /dev/null +++ b/doc_examples/tp/authprocess/getTpToken/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/authprocess" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &authprocess.GetTpTokenRequest{ + ClientID: "10eA34XvP60EVTiaDGtpZNfVjkgLuugk", // 文档中对应字段:client_id,实际使用时请替换成真实参数 + Ticket: "8aa178a8700064bb5f26aad55665ff18", // 文档中对应字段:ticket,实际使用时请替换成真实参数 + } + + resp, err := authprocess.GetTpToken(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/authprocess/refreshOAuthToken/main.go b/doc_examples/tp/authprocess/refreshOAuthToken/main.go new file mode 100644 index 0000000..5a1d749 --- /dev/null +++ b/doc_examples/tp/authprocess/refreshOAuthToken/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/authprocess" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &authprocess.RefreshOAuthTokenRequest{ + AccessToken: "#tpToken", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + RefreshToken: "", // 文档中对应字段:refresh_token,实际使用时请替换成真实参数 + GrantType: "app_to_tp_refresh_token", // 文档中对应字段:grant_type,实际使用时请替换成真实参数 + } + + resp, err := authprocess.RefreshOAuthToken(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/authprocess/retrieveAuthCode/main.go b/doc_examples/tp/authprocess/retrieveAuthCode/main.go new file mode 100644 index 0000000..3205044 --- /dev/null +++ b/doc_examples/tp/authprocess/retrieveAuthCode/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/authprocess" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &authprocess.RetrieveAuthCodeRequest{ + AccessToken: "#tpToken", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + AppID: 16533225, // 文档中对应字段:app_id,实际使用时请替换成真实参数 + } + + resp, err := authprocess.RetrieveAuthCode(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/customermsg/sendCustomerMessage/main.go b/doc_examples/tp/customermsg/sendCustomerMessage/main.go new file mode 100644 index 0000000..c72c966 --- /dev/null +++ b/doc_examples/tp/customermsg/sendCustomerMessage/main.go @@ -0,0 +1,44 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/customermsg" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &customermsg.SendCustomerMessageRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + UserType: 1, // 文档中对应字段:user_type,实际使用时请替换成真实参数 + OpenID: "#openid", // 文档中对应字段:open_id,实际使用时请替换成真实参数 + MsgType: "text", // 文档中对应字段:msg_type,实际使用时请替换成真实参数 + Content: "content", // 文档中对应字段:content,实际使用时请替换成真实参数 + PicURL: "https://mbs7.bdstatic.com/searchbox/mappconsole/image/35423816/06feb8a1-d65b-667c-6282-66cfff76c4a7.jpg", // 文档中对应字段:pic_url,实际使用时请替换成真实参数 + } + + resp, err := customermsg.SendCustomerMessage(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/domain/downloadDomainCheckFile/main.go b/doc_examples/tp/domain/downloadDomainCheckFile/main.go new file mode 100644 index 0000000..3593981 --- /dev/null +++ b/doc_examples/tp/domain/downloadDomainCheckFile/main.go @@ -0,0 +1,44 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + "io/ioutil" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/domain" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &domain.DownloadDomainCheckFileRequest{ + AccessToken: "#tpToken", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + } + + resp, err := domain.DownloadDomainCheckFile(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + if resp.ContentType == utils.ConverterTypeStream { + fileName := "./DownloadDomainCheckFileRequest.txt" + _ = ioutil.WriteFile(fileName, resp.Data, 0644) + } + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/domain/modifyBusinessDomain/main.go b/doc_examples/tp/domain/modifyBusinessDomain/main.go new file mode 100644 index 0000000..2df2b33 --- /dev/null +++ b/doc_examples/tp/domain/modifyBusinessDomain/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/domain" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &domain.ModifyBusinessDomainRequest{ + AccessToken: "#tpToken", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Action: "get", // 文档中对应字段:action,实际使用时请替换成真实参数 + WebViewDomain: "http://www.baidu.com", // 文档中对应字段:web_view_domain,实际使用时请替换成真实参数 + } + + resp, err := domain.ModifyBusinessDomain(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/domain/modifyServerDomain/main.go b/doc_examples/tp/domain/modifyServerDomain/main.go new file mode 100644 index 0000000..08c6be7 --- /dev/null +++ b/doc_examples/tp/domain/modifyServerDomain/main.go @@ -0,0 +1,44 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/domain" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &domain.ModifyServerDomainRequest{ + AccessToken: "#tpToken", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Action: "get", // 文档中对应字段:action,实际使用时请替换成真实参数 + DownloadDomain: "http://www.baidu.com", // 文档中对应字段:download_domain,实际使用时请替换成真实参数 + RequestDomain: "http://www.baidu.com", // 文档中对应字段:request_domain,实际使用时请替换成真实参数 + SocketDomain: "http://www.baidu.com", // 文档中对应字段:socket_domain,实际使用时请替换成真实参数 + UploadDomain: "http://www.baidu.com", // 文档中对应字段:upload_domain,实际使用时请替换成真实参数 + } + + resp, err := domain.ModifyServerDomain(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/feed/accessResourceQuery/main.go b/doc_examples/tp/feed/accessResourceQuery/main.go new file mode 100644 index 0000000..ac87ef2 --- /dev/null +++ b/doc_examples/tp/feed/accessResourceQuery/main.go @@ -0,0 +1,46 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/feed" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &feed.AccessResourceQueryRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Begin: 1505380052, // 文档中对应字段:begin,实际使用时请替换成真实参数 + End: 1673574458, // 文档中对应字段:end,实际使用时请替换成真实参数 + ImageType: 0, // 文档中对应字段:image_type,实际使用时请替换成真实参数 + PageNo: 1, // 文档中对应字段:page_no,实际使用时请替换成真实参数 + PageSize: 16, // 文档中对应字段:page_size,实际使用时请替换成真实参数 + Status: 0, // 文档中对应字段:status,实际使用时请替换成真实参数 + Title: "百度智能小程序,给你全新的智能体验", // 文档中对应字段:title,实际使用时请替换成真实参数 + } + + resp, err := feed.AccessResourceQuery(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/feed/accessResourceSubmit/main.go b/doc_examples/tp/feed/accessResourceSubmit/main.go new file mode 100644 index 0000000..5df333c --- /dev/null +++ b/doc_examples/tp/feed/accessResourceSubmit/main.go @@ -0,0 +1,50 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/feed" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &feed.AccessResourceSubmitRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + AppID: 157, // 文档中对应字段:app_id,实际使用时请替换成真实参数 + Body: "爱说唱是一款基于百度语音技术的智能小程序。即便你对嘻哈音乐一窍不通,只需对它说上几句话,便可智能合成最酷的嘻哈音乐。同时还支持歌词查看和等功能,在线即可完成rap单曲的创作和分享。来吧,让我们在嘻哈的世界肆意妄为,一起Freestyle吧!", // 文档中对应字段:body,实际使用时请替换成真实参数 + Ext: "{\"publish_time\": \"2022年3月1日\"}", // 文档中对应字段:ext,实际使用时请替换成真实参数 + FeedSubType: "明星八卦", // 文档中对应字段:feed_sub_type,实际使用时请替换成真实参数 + FeedType: "娱乐", // 文档中对应字段:feed_type,实际使用时请替换成真实参数 + Images: "[\"https://b.bdstatic.com/miniapp/resource/image/demo5.png\", \"https://b.bdstatic.com/miniapp/resource/image/demo5.png\"]", // 文档中对应字段:images,实际使用时请替换成真实参数 + MappSubType: 1666, // 文档中对应字段:mapp_sub_type,实际使用时请替换成真实参数 + MappType: 1134, // 文档中对应字段:mapp_type,实际使用时请替换成真实参数 + Path: "/pages/detail/detail?id=436388", // 文档中对应字段:path,实际使用时请替换成真实参数 + Tags: "电影,吴亦凡", // 文档中对应字段:tags,实际使用时请替换成真实参数 + Title: "百度智能小程序,给你全新的智能体验", // 文档中对应字段:title,实际使用时请替换成真实参数 + } + + resp, err := feed.AccessResourceSubmit(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/feed/deleteResource/main.go b/doc_examples/tp/feed/deleteResource/main.go new file mode 100644 index 0000000..2a29a24 --- /dev/null +++ b/doc_examples/tp/feed/deleteResource/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/feed" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &feed.DeleteResourceRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + AppID: 185, // 文档中对应字段:app_id,实际使用时请替换成真实参数 + Path: "/pages/detail/detail?id=567830", // 文档中对应字段:path,实际使用时请替换成真实参数 + } + + resp, err := feed.DeleteResource(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/feed/deleteSitemap/main.go b/doc_examples/tp/feed/deleteSitemap/main.go new file mode 100644 index 0000000..204924c --- /dev/null +++ b/doc_examples/tp/feed/deleteSitemap/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/feed" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &feed.DeleteSitemapRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + AppID: 118, // 文档中对应字段:app_id,实际使用时请替换成真实参数 + URL: "https://www.baidu.com", // 文档中对应字段:url,实际使用时请替换成真实参数 + } + + resp, err := feed.DeleteSitemap(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/feed/submitSitemap/main.go b/doc_examples/tp/feed/submitSitemap/main.go new file mode 100644 index 0000000..04e452b --- /dev/null +++ b/doc_examples/tp/feed/submitSitemap/main.go @@ -0,0 +1,44 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/feed" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &feed.SubmitSitemapRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + AppID: 158, // 文档中对应字段:app_id,实际使用时请替换成真实参数 + Desc: "智能小程序示例", // 文档中对应字段:desc,实际使用时请替换成真实参数 + Frequency: 3, // 文档中对应字段:frequency,实际使用时请替换成真实参数 + Type: 1, // 文档中对应字段:type,实际使用时请替换成真实参数 + URL: "https://www.baidu.com", // 文档中对应字段:url,实际使用时请替换成真实参数 + } + + resp, err := feed.SubmitSitemap(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/grade/appGrade/main.go b/doc_examples/tp/grade/appGrade/main.go new file mode 100644 index 0000000..2b505d7 --- /dev/null +++ b/doc_examples/tp/grade/appGrade/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/grade" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &grade.AppGradeRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + PageNo: 1, // 文档中对应字段:page_no,实际使用时请替换成真实参数 + } + + resp, err := grade.AppGrade(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/image/uploadImage/main.go b/doc_examples/tp/image/uploadImage/main.go new file mode 100644 index 0000000..9b02223 --- /dev/null +++ b/doc_examples/tp/image/uploadImage/main.go @@ -0,0 +1,53 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + "os" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/image" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + fileReader, err := os.Open("xxxxx") + if err != nil { + panic(err) + } + defer fileReader.Close() + + uploadImageRequestFileVal := image.UploadImageRequestFile{ + Name: "multipartFile", + Reader: fileReader, + } + + reqParams := &image.UploadImageRequest{ + AccessToken: "#tpToken", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + MultipartFile: uploadImageRequestFileVal, // 文档中对应字段:multipartFile,实际使用时请替换成真实参数 + Type: 2, // 文档中对应字段:type,实际使用时请替换成真实参数 + } + + resp, err := image.UploadImage(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/login/getSessionKey/main.go b/doc_examples/tp/login/getSessionKey/main.go new file mode 100644 index 0000000..099cdc6 --- /dev/null +++ b/doc_examples/tp/login/getSessionKey/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/login" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &login.GetSessionKeyRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Code: "", // 文档中对应字段:code,实际使用时请替换成真实参数 + GrantType: "authorization_code", // 文档中对应字段:grant_type,实际使用时请替换成真实参数 + } + + resp, err := login.GetSessionKey(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/login/getUnionId/main.go b/doc_examples/tp/login/getUnionId/main.go new file mode 100644 index 0000000..af14d18 --- /dev/null +++ b/doc_examples/tp/login/getUnionId/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/login" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &login.GetUnionIDRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + OpenID: "", // 文档中对应字段:open_id,实际使用时请替换成真实参数 + } + + resp, err := login.GetUnionID(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/mobileauth/applyMobileAuth/main.go b/doc_examples/tp/mobileauth/applyMobileAuth/main.go new file mode 100644 index 0000000..aac700c --- /dev/null +++ b/doc_examples/tp/mobileauth/applyMobileAuth/main.go @@ -0,0 +1,43 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/mobileauth" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &mobileauth.ApplyMobileAuthRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Reason: 1, // 文档中对应字段:reason,实际使用时请替换成真实参数 + UsedScene: 1, // 文档中对应字段:used_scene,实际使用时请替换成真实参数 + SceneDesc: "使用场景描述不得超过 212 字", // 文档中对应字段:scene_desc,实际使用时请替换成真实参数 + SceneDemo: "https://mbs7.bdstatic.com/searchbox/mappconsole/image/11441211/50feb5a0-d47b-423c-0247-32cfff47c3a2.jpg", // 文档中对应字段:scene_demo,实际使用时请替换成真实参数 + } + + resp, err := mobileauth.ApplyMobileAuth(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/mobileauth/cancelMobileAuth/main.go b/doc_examples/tp/mobileauth/cancelMobileAuth/main.go new file mode 100644 index 0000000..7ca8a6f --- /dev/null +++ b/doc_examples/tp/mobileauth/cancelMobileAuth/main.go @@ -0,0 +1,39 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/mobileauth" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &mobileauth.CancelMobileAuthRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + } + + resp, err := mobileauth.CancelMobileAuth(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/mobileauth/getMobileAuthStatus/main.go b/doc_examples/tp/mobileauth/getMobileAuthStatus/main.go new file mode 100644 index 0000000..d8fd46e --- /dev/null +++ b/doc_examples/tp/mobileauth/getMobileAuthStatus/main.go @@ -0,0 +1,39 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/mobileauth" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &mobileauth.GetMobileAuthStatusRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + } + + resp, err := mobileauth.GetMobileAuthStatus(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/msg/getMsg/main.go b/doc_examples/tp/msg/getMsg/main.go new file mode 100644 index 0000000..162b446 --- /dev/null +++ b/doc_examples/tp/msg/getMsg/main.go @@ -0,0 +1,45 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/msg" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &msg.GetMsgRequest{ + AccessToken: "#tpToken", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Start: 1220741250, // 文档中对应字段:start,实际使用时请替换成真实参数 + End: 1080871482, // 文档中对应字段:end,实际使用时请替换成真实参数 + PushType: 2, // 文档中对应字段:push_type,实际使用时请替换成真实参数 + Offset: 0, // 文档中对应字段:offset,实际使用时请替换成真实参数 + Count: 146, // 文档中对应字段:count,实际使用时请替换成真实参数 + IDList: "14161,27835", // 文档中对应字段:id_list,实际使用时请替换成真实参数 + } + + resp, err := msg.GetMsg(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/msgtemplate/addMsgTemplate/main.go b/doc_examples/tp/msgtemplate/addMsgTemplate/main.go new file mode 100644 index 0000000..ed854ac --- /dev/null +++ b/doc_examples/tp/msgtemplate/addMsgTemplate/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/msgtemplate" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &msgtemplate.AddMsgTemplateRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + ID: "BD4620", // 文档中对应字段:id,实际使用时请替换成真实参数 + KeywordIDList: "[5,0]", // 文档中对应字段:keyword_id_list,实际使用时请替换成真实参数 + } + + resp, err := msgtemplate.AddMsgTemplate(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/msgtemplate/delMsgTemplate/main.go b/doc_examples/tp/msgtemplate/delMsgTemplate/main.go new file mode 100644 index 0000000..9f117a6 --- /dev/null +++ b/doc_examples/tp/msgtemplate/delMsgTemplate/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/msgtemplate" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &msgtemplate.DelMsgTemplateRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + TemplateID: "", // 文档中对应字段:template_id,实际使用时请替换成真实参数 + } + + resp, err := msgtemplate.DelMsgTemplate(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/msgtemplate/getMsgTemplateLibraryKeyWord/main.go b/doc_examples/tp/msgtemplate/getMsgTemplateLibraryKeyWord/main.go new file mode 100644 index 0000000..e679b23 --- /dev/null +++ b/doc_examples/tp/msgtemplate/getMsgTemplateLibraryKeyWord/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/msgtemplate" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &msgtemplate.GetMsgTemplateLibraryKeyWordRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + ID: "BD8415", // 文档中对应字段:id,实际使用时请替换成真实参数 + } + + resp, err := msgtemplate.GetMsgTemplateLibraryKeyWord(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/msgtemplate/getMsgTemplateLibraryList/main.go b/doc_examples/tp/msgtemplate/getMsgTemplateLibraryList/main.go new file mode 100644 index 0000000..10d4ea8 --- /dev/null +++ b/doc_examples/tp/msgtemplate/getMsgTemplateLibraryList/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/msgtemplate" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &msgtemplate.GetMsgTemplateLibraryListRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Offset: 0, // 文档中对应字段:offset,实际使用时请替换成真实参数 + Count: 27, // 文档中对应字段:count,实际使用时请替换成真实参数 + } + + resp, err := msgtemplate.GetMsgTemplateLibraryList(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/msgtemplate/getMsgTemplateList/main.go b/doc_examples/tp/msgtemplate/getMsgTemplateList/main.go new file mode 100644 index 0000000..746a960 --- /dev/null +++ b/doc_examples/tp/msgtemplate/getMsgTemplateList/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/msgtemplate" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &msgtemplate.GetMsgTemplateListRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Offset: 0, // 文档中对应字段:offset,实际使用时请替换成真实参数 + Count: 23, // 文档中对应字段:count,实际使用时请替换成真实参数 + } + + resp, err := msgtemplate.GetMsgTemplateList(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/msgtemplate/sendMsg/main.go b/doc_examples/tp/msgtemplate/sendMsg/main.go new file mode 100644 index 0000000..32fc3e9 --- /dev/null +++ b/doc_examples/tp/msgtemplate/sendMsg/main.go @@ -0,0 +1,47 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/msgtemplate" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &msgtemplate.SendMsgRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + TemplateID: "27a76c3d14314cda4a40cad0ffe05725", // 文档中对应字段:template_id,实际使用时请替换成真实参数 + TouserOpenID: "", // 文档中对应字段:touser_openId,实际使用时请替换成真实参数 + Data: "{\"keyword5\": {\"value\": \"order106372\"},\"keyword3\": {\"value\": \"026\"}}", // 文档中对应字段:data,实际使用时请替换成真实参数 + Page: "", // 文档中对应字段:page,实际使用时请替换成真实参数 + SceneID: "scene101", // 文档中对应字段:scene_id,实际使用时请替换成真实参数 + SceneType: 1, // 文档中对应字段:scene_type,实际使用时请替换成真实参数 + Title: "title380", // 文档中对应字段:title,实际使用时请替换成真实参数 + Ext: "", // 文档中对应字段:ext,实际使用时请替换成真实参数 + } + + resp, err := msgtemplate.SendMsg(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/offline/getAppViolationDetail/main.go b/doc_examples/tp/offline/getAppViolationDetail/main.go new file mode 100644 index 0000000..b95656d --- /dev/null +++ b/doc_examples/tp/offline/getAppViolationDetail/main.go @@ -0,0 +1,39 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/offline" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &offline.GetAppViolationDetailRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + } + + resp, err := offline.GetAppViolationDetail(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/offline/setAppOffline/main.go b/doc_examples/tp/offline/setAppOffline/main.go new file mode 100644 index 0000000..c9ba350 --- /dev/null +++ b/doc_examples/tp/offline/setAppOffline/main.go @@ -0,0 +1,43 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/offline" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &offline.SetAppOfflineRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + AppName: "", // 文档中对应字段:app_name,实际使用时请替换成真实参数 + AppDesc: "", // 文档中对应字段:app_desc,实际使用时请替换成真实参数 + PhotoAddr: "", // 文档中对应字段:photo_addr,实际使用时请替换成真实参数 + AppNameMaterial: "", // 文档中对应字段:app_name_material,实际使用时请替换成真实参数 + } + + resp, err := offline.SetAppOffline(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/optimization/getPrelink/main.go b/doc_examples/tp/optimization/getPrelink/main.go new file mode 100644 index 0000000..7c37ff1 --- /dev/null +++ b/doc_examples/tp/optimization/getPrelink/main.go @@ -0,0 +1,39 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/optimization" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &optimization.GetPrelinkRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + } + + resp, err := optimization.GetPrelink(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/optimization/setPrelink/main.go b/doc_examples/tp/optimization/setPrelink/main.go new file mode 100644 index 0000000..8b0bea9 --- /dev/null +++ b/doc_examples/tp/optimization/setPrelink/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/optimization" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &optimization.SetPrelinkRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + PrelinkURL: "https://www.baidu.com", // 文档中对应字段:prelink_url,实际使用时请替换成真实参数 + } + + resp, err := optimization.SetPrelink(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/order/addMainInfo/main.go b/doc_examples/tp/order/addMainInfo/main.go new file mode 100644 index 0000000..dd2ea5d --- /dev/null +++ b/doc_examples/tp/order/addMainInfo/main.go @@ -0,0 +1,165 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/order" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + AddMainInfoRequestDataItemEXTMainOrderProductsItemSkuAttrItemVal := order.AddMainInfoRequestDataItemEXTMainOrderProductsItemSkuAttrItem{ + Name: "", // 文档中对应字段:Name,实际使用时请替换成真实参数 + Value: "", // 文档中对应字段:Value,实际使用时请替换成真实参数 + } + + AddMainInfoRequestDataItemEXTMainOrderProductsItemVal := order.AddMainInfoRequestDataItemEXTMainOrderProductsItem{ + Desc: "", // 文档中对应字段:Desc,实际使用时请替换成真实参数 + ID: "", // 文档中对应字段:ID,实际使用时请替换成真实参数 + ImgList: []string{ + "", // 文档中对应字段:ImgList,实际使用时请替换成真实参数 + }, + Name: "", // 文档中对应字段:Name,实际使用时请替换成真实参数 + PayPrice: 0, // 文档中对应字段:PayPrice,实际使用时请替换成真实参数 + Price: 0, // 文档中对应字段:Price,实际使用时请替换成真实参数 + Quantity: 0, // 文档中对应字段:Quantity,实际使用时请替换成真实参数 + SkuAttr: []order.AddMainInfoRequestDataItemEXTMainOrderProductsItemSkuAttrItem{ + AddMainInfoRequestDataItemEXTMainOrderProductsItemSkuAttrItemVal, // 文档中对应字段:SkuAttr,实际使用时请替换成真实参数 + }, + } + + AddMainInfoRequestDataItemEXTMainOrderPaymentPreferentialInfoItemVal := order.AddMainInfoRequestDataItemEXTMainOrderPaymentPreferentialInfoItem{ + Name: "", // 文档中对应字段:Name,实际使用时请替换成真实参数 + Quantity: 0, // 文档中对应字段:Quantity,实际使用时请替换成真实参数 + Value: 0, // 文档中对应字段:Value,实际使用时请替换成真实参数 + } + + AddMainInfoRequestDataItemEXTMainOrderPaymentPaymentInfoItemVal := order.AddMainInfoRequestDataItemEXTMainOrderPaymentPaymentInfoItem{ + Name: "", // 文档中对应字段:Name,实际使用时请替换成真实参数 + Quantity: 0, // 文档中对应字段:Quantity,实际使用时请替换成真实参数 + Value: 0, // 文档中对应字段:Value,实际使用时请替换成真实参数 + } + + AddMainInfoRequestDataItemEXTMainOrderPaymentVal := order.AddMainInfoRequestDataItemEXTMainOrderPayment{ + Amount: 0, // 文档中对应字段:Amount,实际使用时请替换成真实参数 + IsPayment: false, // 文档中对应字段:IsPayment,实际使用时请替换成真实参数 + Method: 0, // 文档中对应字段:Method,实际使用时请替换成真实参数 + PaymentInfo: []order.AddMainInfoRequestDataItemEXTMainOrderPaymentPaymentInfoItem{ + AddMainInfoRequestDataItemEXTMainOrderPaymentPaymentInfoItemVal, // 文档中对应字段:PaymentInfo,实际使用时请替换成真实参数 + }, + PreferentialInfo: []order.AddMainInfoRequestDataItemEXTMainOrderPaymentPreferentialInfoItem{ + AddMainInfoRequestDataItemEXTMainOrderPaymentPreferentialInfoItemVal, // 文档中对应字段:PreferentialInfo,实际使用时请替换成真实参数 + }, + Time: 0, // 文档中对应字段:Time,实际使用时请替换成真实参数 + } + + AddMainInfoRequestDataItemEXTMainOrderAppraiseVal := order.AddMainInfoRequestDataItemEXTMainOrderAppraise{ + Name: "", // 文档中对应字段:Name,实际使用时请替换成真实参数 + Status: 0, // 文档中对应字段:Status,实际使用时请替换成真实参数 + SwanSchema: "", // 文档中对应字段:SwanSchema,实际使用时请替换成真实参数 + } + + AddMainInfoRequestDataItemEXTMainOrderOrderDetailVal := order.AddMainInfoRequestDataItemEXTMainOrderOrderDetail{ + Name: "", // 文档中对应字段:Name,实际使用时请替换成真实参数 + Status: 0, // 文档中对应字段:Status,实际使用时请替换成真实参数 + SwanSchema: "", // 文档中对应字段:SwanSchema,实际使用时请替换成真实参数 + } + + AddMainInfoRequestDataItemEXTMainOrderVal := order.AddMainInfoRequestDataItemEXTMainOrder{ + Appraise: AddMainInfoRequestDataItemEXTMainOrderAppraiseVal, // 文档中对应字段:Appraise,实际使用时请替换成真实参数 + OrderDetail: AddMainInfoRequestDataItemEXTMainOrderOrderDetailVal, // 文档中对应字段:OrderDetail,实际使用时请替换成真实参数 + Payment: AddMainInfoRequestDataItemEXTMainOrderPaymentVal, // 文档中对应字段:Payment,实际使用时请替换成真实参数 + Products: []order.AddMainInfoRequestDataItemEXTMainOrderProductsItem{ + AddMainInfoRequestDataItemEXTMainOrderProductsItemVal, // 文档中对应字段:Products,实际使用时请替换成真实参数 + }, + } + + AddMainInfoRequestDataItemEXTSubsOrderItemsItemOrderDetailVal := order.AddMainInfoRequestDataItemEXTSubsOrderItemsItemOrderDetail{ + AndroidSchema: "", // 文档中对应字段:AndroidSchema,实际使用时请替换成真实参数 + IPhoneSchema: "", // 文档中对应字段:IPhoneSchema,实际使用时请替换成真实参数 + Name: "", // 文档中对应字段:Name,实际使用时请替换成真实参数 + Status: 0, // 文档中对应字段:Status,实际使用时请替换成真实参数 + SwanSchema: "", // 文档中对应字段:SwanSchema,实际使用时请替换成真实参数 + } + + AddMainInfoRequestDataItemEXTSubsOrderItemsItemRefundProductItemVal := order.AddMainInfoRequestDataItemEXTSubsOrderItemsItemRefundProductItem{ + Amount: 0, // 文档中对应字段:Amount,实际使用时请替换成真实参数 + ID: "", // 文档中对应字段:ID,实际使用时请替换成真实参数 + Quantity: 0, // 文档中对应字段:Quantity,实际使用时请替换成真实参数 + } + + AddMainInfoRequestDataItemEXTSubsOrderItemsItemRefundVal := order.AddMainInfoRequestDataItemEXTSubsOrderItemsItemRefund{ + Amount: 0, // 文档中对应字段:Amount,实际使用时请替换成真实参数 + Product: []order.AddMainInfoRequestDataItemEXTSubsOrderItemsItemRefundProductItem{ + AddMainInfoRequestDataItemEXTSubsOrderItemsItemRefundProductItemVal, // 文档中对应字段:Product,实际使用时请替换成真实参数 + }, + } + + AddMainInfoRequestDataItemEXTSubsOrderItemsItemVal := order.AddMainInfoRequestDataItemEXTSubsOrderItemsItem{ + CTime: 0, // 文档中对应字段:CTime,实际使用时请替换成真实参数 + MTime: 0, // 文档中对应字段:MTime,实际使用时请替换成真实参数 + OrderDetail: AddMainInfoRequestDataItemEXTSubsOrderItemsItemOrderDetailVal, // 文档中对应字段:OrderDetail,实际使用时请替换成真实参数 + OrderType: 0, // 文档中对应字段:OrderType,实际使用时请替换成真实参数 + Refund: AddMainInfoRequestDataItemEXTSubsOrderItemsItemRefundVal, // 文档中对应字段:Refund,实际使用时请替换成真实参数 + SubOrderID: "", // 文档中对应字段:SubOrderID,实际使用时请替换成真实参数 + SubStatus: 0, // 文档中对应字段:SubStatus,实际使用时请替换成真实参数 + } + + AddMainInfoRequestDataItemEXTSubsOrderVal := order.AddMainInfoRequestDataItemEXTSubsOrder{ + Items: []order.AddMainInfoRequestDataItemEXTSubsOrderItemsItem{ + AddMainInfoRequestDataItemEXTSubsOrderItemsItemVal, // 文档中对应字段:Items,实际使用时请替换成真实参数 + }, + Status: 0, // 文档中对应字段:Status,实际使用时请替换成真实参数 + } + + AddMainInfoRequestDataItemEXTVal := order.AddMainInfoRequestDataItemEXT{ + MainOrder: AddMainInfoRequestDataItemEXTMainOrderVal, // 文档中对应字段:MainOrder,实际使用时请替换成真实参数 + SubsOrder: AddMainInfoRequestDataItemEXTSubsOrderVal, // 文档中对应字段:SubsOrder,实际使用时请替换成真实参数 + } + + AddMainInfoRequestDataItemVal := order.AddMainInfoRequestDataItem{ + BizAPPID: "", // 文档中对应字段:BizAPPID,实际使用时请替换成真实参数 + CateID: 0, // 文档中对应字段:CateID,实际使用时请替换成真实参数 + Ctime: 0, // 文档中对应字段:Ctime,实际使用时请替换成真实参数 + EXT: AddMainInfoRequestDataItemEXTVal, // 文档中对应字段:EXT,实际使用时请替换成真实参数 + Mtime: 0, // 文档中对应字段:Mtime,实际使用时请替换成真实参数 + ResourceID: "", // 文档中对应字段:ResourceID,实际使用时请替换成真实参数 + Status: 0, // 文档中对应字段:Status,实际使用时请替换成真实参数 + Title: "", // 文档中对应字段:Title,实际使用时请替换成真实参数 + } + + reqParams := &order.AddMainInfoRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + OpenID: "107", // 文档中对应字段:open_id,实际使用时请替换成真实参数 + SceneID: "181", // 文档中对应字段:scene_id,实际使用时请替换成真实参数 + SceneType: 2, // 文档中对应字段:scene_type,实际使用时请替换成真实参数 + Data: []order.AddMainInfoRequestDataItem{ + AddMainInfoRequestDataItemVal, + }, // 文档中对应字段:Data,实际使用时请替换成真实参数 + } + + resp, err := order.AddMainInfo(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/order/appendSubInfo/main.go b/doc_examples/tp/order/appendSubInfo/main.go new file mode 100644 index 0000000..a70fccd --- /dev/null +++ b/doc_examples/tp/order/appendSubInfo/main.go @@ -0,0 +1,91 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/order" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + AppendSubInfoRequestDataItemEXTSubsOrderItemsItemOrderDetailVal := order.AppendSubInfoRequestDataItemEXTSubsOrderItemsItemOrderDetail{ + Name: "", // 文档中对应字段:Name,实际使用时请替换成真实参数 + Status: 0, // 文档中对应字段:Status,实际使用时请替换成真实参数 + SwanSchema: "", // 文档中对应字段:SwanSchema,实际使用时请替换成真实参数 + } + + AppendSubInfoRequestDataItemEXTSubsOrderItemsItemRefundProductItemVal := order.AppendSubInfoRequestDataItemEXTSubsOrderItemsItemRefundProductItem{ + Amount: 0, // 文档中对应字段:Amount,实际使用时请替换成真实参数 + ID: "", // 文档中对应字段:ID,实际使用时请替换成真实参数 + Quantity: 0, // 文档中对应字段:Quantity,实际使用时请替换成真实参数 + } + + AppendSubInfoRequestDataItemEXTSubsOrderItemsItemRefundVal := order.AppendSubInfoRequestDataItemEXTSubsOrderItemsItemRefund{ + Amount: 0, // 文档中对应字段:Amount,实际使用时请替换成真实参数 + Product: []order.AppendSubInfoRequestDataItemEXTSubsOrderItemsItemRefundProductItem{ + AppendSubInfoRequestDataItemEXTSubsOrderItemsItemRefundProductItemVal, // 文档中对应字段:Product,实际使用时请替换成真实参数 + }, + } + + AppendSubInfoRequestDataItemEXTSubsOrderItemsItemVal := order.AppendSubInfoRequestDataItemEXTSubsOrderItemsItem{ + CTime: 0, // 文档中对应字段:CTime,实际使用时请替换成真实参数 + MTime: 0, // 文档中对应字段:MTime,实际使用时请替换成真实参数 + OrderDetail: AppendSubInfoRequestDataItemEXTSubsOrderItemsItemOrderDetailVal, // 文档中对应字段:OrderDetail,实际使用时请替换成真实参数 + OrderType: 0, // 文档中对应字段:OrderType,实际使用时请替换成真实参数 + Refund: AppendSubInfoRequestDataItemEXTSubsOrderItemsItemRefundVal, // 文档中对应字段:Refund,实际使用时请替换成真实参数 + SubOrderID: "", // 文档中对应字段:SubOrderID,实际使用时请替换成真实参数 + SubStatus: 0, // 文档中对应字段:SubStatus,实际使用时请替换成真实参数 + } + + AppendSubInfoRequestDataItemEXTSubsOrderVal := order.AppendSubInfoRequestDataItemEXTSubsOrder{ + Items: []order.AppendSubInfoRequestDataItemEXTSubsOrderItemsItem{ + AppendSubInfoRequestDataItemEXTSubsOrderItemsItemVal, // 文档中对应字段:Items,实际使用时请替换成真实参数 + }, + } + + AppendSubInfoRequestDataItemEXTVal := order.AppendSubInfoRequestDataItemEXT{ + SubsOrder: AppendSubInfoRequestDataItemEXTSubsOrderVal, // 文档中对应字段:SubsOrder,实际使用时请替换成真实参数 + } + + AppendSubInfoRequestDataItemVal := order.AppendSubInfoRequestDataItem{ + BizAPPID: "", // 文档中对应字段:BizAPPID,实际使用时请替换成真实参数 + CateID: 0, // 文档中对应字段:CateID,实际使用时请替换成真实参数 + EXT: AppendSubInfoRequestDataItemEXTVal, // 文档中对应字段:EXT,实际使用时请替换成真实参数 + ResourceID: "", // 文档中对应字段:ResourceID,实际使用时请替换成真实参数 + } + + reqParams := &order.AppendSubInfoRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + OpenID: "105", // 文档中对应字段:open_id,实际使用时请替换成真实参数 + SceneID: "166", // 文档中对应字段:scene_id,实际使用时请替换成真实参数 + SceneType: 2, // 文档中对应字段:scene_type,实际使用时请替换成真实参数 + Data: []order.AppendSubInfoRequestDataItem{ + AppendSubInfoRequestDataItemVal, + }, // 文档中对应字段:Data,实际使用时请替换成真实参数 + } + + resp, err := order.AppendSubInfo(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/order/updateMainInfo/main.go b/doc_examples/tp/order/updateMainInfo/main.go new file mode 100644 index 0000000..1e54cda --- /dev/null +++ b/doc_examples/tp/order/updateMainInfo/main.go @@ -0,0 +1,123 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/order" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + UpdateMainInfoRequestDataItemEXTMainOrderProductsItemSkuAttrItemVal := order.UpdateMainInfoRequestDataItemEXTMainOrderProductsItemSkuAttrItem{ + Name: "", // 文档中对应字段:Name,实际使用时请替换成真实参数 + Value: "", // 文档中对应字段:Value,实际使用时请替换成真实参数 + } + + UpdateMainInfoRequestDataItemEXTMainOrderProductsItemVal := order.UpdateMainInfoRequestDataItemEXTMainOrderProductsItem{ + Desc: "", // 文档中对应字段:Desc,实际使用时请替换成真实参数 + ID: "", // 文档中对应字段:ID,实际使用时请替换成真实参数 + ImgList: []string{ + "", // 文档中对应字段:ImgList,实际使用时请替换成真实参数 + }, + Name: "", // 文档中对应字段:Name,实际使用时请替换成真实参数 + PayPrice: 0, // 文档中对应字段:PayPrice,实际使用时请替换成真实参数 + Price: 0, // 文档中对应字段:Price,实际使用时请替换成真实参数 + Quantity: 0, // 文档中对应字段:Quantity,实际使用时请替换成真实参数 + SkuAttr: []order.UpdateMainInfoRequestDataItemEXTMainOrderProductsItemSkuAttrItem{ + UpdateMainInfoRequestDataItemEXTMainOrderProductsItemSkuAttrItemVal, // 文档中对应字段:SkuAttr,实际使用时请替换成真实参数 + }, + } + + UpdateMainInfoRequestDataItemEXTMainOrderPaymentPreferentialInfoItemVal := order.UpdateMainInfoRequestDataItemEXTMainOrderPaymentPreferentialInfoItem{ + Name: "", // 文档中对应字段:Name,实际使用时请替换成真实参数 + Quantity: 0, // 文档中对应字段:Quantity,实际使用时请替换成真实参数 + Value: 0, // 文档中对应字段:Value,实际使用时请替换成真实参数 + } + + UpdateMainInfoRequestDataItemEXTMainOrderPaymentPaymentInfoItemVal := order.UpdateMainInfoRequestDataItemEXTMainOrderPaymentPaymentInfoItem{ + Name: "", // 文档中对应字段:Name,实际使用时请替换成真实参数 + Quantity: 0, // 文档中对应字段:Quantity,实际使用时请替换成真实参数 + Value: 0, // 文档中对应字段:Value,实际使用时请替换成真实参数 + } + + UpdateMainInfoRequestDataItemEXTMainOrderPaymentVal := order.UpdateMainInfoRequestDataItemEXTMainOrderPayment{ + Amount: 0, // 文档中对应字段:Amount,实际使用时请替换成真实参数 + IsPayment: false, // 文档中对应字段:IsPayment,实际使用时请替换成真实参数 + Method: 0, // 文档中对应字段:Method,实际使用时请替换成真实参数 + PaymentInfo: []order.UpdateMainInfoRequestDataItemEXTMainOrderPaymentPaymentInfoItem{ + UpdateMainInfoRequestDataItemEXTMainOrderPaymentPaymentInfoItemVal, // 文档中对应字段:PaymentInfo,实际使用时请替换成真实参数 + }, + PreferentialInfo: []order.UpdateMainInfoRequestDataItemEXTMainOrderPaymentPreferentialInfoItem{ + UpdateMainInfoRequestDataItemEXTMainOrderPaymentPreferentialInfoItemVal, // 文档中对应字段:PreferentialInfo,实际使用时请替换成真实参数 + }, + Time: 0, // 文档中对应字段:Time,实际使用时请替换成真实参数 + } + + UpdateMainInfoRequestDataItemEXTMainOrderAppraiseVal := order.UpdateMainInfoRequestDataItemEXTMainOrderAppraise{ + Name: "", // 文档中对应字段:Name,实际使用时请替换成真实参数 + Status: 0, // 文档中对应字段:Status,实际使用时请替换成真实参数 + SwanSchema: "", // 文档中对应字段:SwanSchema,实际使用时请替换成真实参数 + } + + UpdateMainInfoRequestDataItemEXTMainOrderOrderDetailVal := order.UpdateMainInfoRequestDataItemEXTMainOrderOrderDetail{ + Name: "", // 文档中对应字段:Name,实际使用时请替换成真实参数 + Status: 0, // 文档中对应字段:Status,实际使用时请替换成真实参数 + SwanSchema: "", // 文档中对应字段:SwanSchema,实际使用时请替换成真实参数 + } + + UpdateMainInfoRequestDataItemEXTMainOrderVal := order.UpdateMainInfoRequestDataItemEXTMainOrder{ + Appraise: UpdateMainInfoRequestDataItemEXTMainOrderAppraiseVal, // 文档中对应字段:Appraise,实际使用时请替换成真实参数 + OrderDetail: UpdateMainInfoRequestDataItemEXTMainOrderOrderDetailVal, // 文档中对应字段:OrderDetail,实际使用时请替换成真实参数 + Payment: UpdateMainInfoRequestDataItemEXTMainOrderPaymentVal, // 文档中对应字段:Payment,实际使用时请替换成真实参数 + Products: []order.UpdateMainInfoRequestDataItemEXTMainOrderProductsItem{ + UpdateMainInfoRequestDataItemEXTMainOrderProductsItemVal, // 文档中对应字段:Products,实际使用时请替换成真实参数 + }, + } + + UpdateMainInfoRequestDataItemEXTVal := order.UpdateMainInfoRequestDataItemEXT{ + MainOrder: UpdateMainInfoRequestDataItemEXTMainOrderVal, // 文档中对应字段:MainOrder,实际使用时请替换成真实参数 + } + + UpdateMainInfoRequestDataItemVal := order.UpdateMainInfoRequestDataItem{ + BizAPPID: "", // 文档中对应字段:BizAPPID,实际使用时请替换成真实参数 + CateID: 0, // 文档中对应字段:CateID,实际使用时请替换成真实参数 + EXT: UpdateMainInfoRequestDataItemEXTVal, // 文档中对应字段:EXT,实际使用时请替换成真实参数 + ResourceID: "", // 文档中对应字段:ResourceID,实际使用时请替换成真实参数 + Status: 0, // 文档中对应字段:Status,实际使用时请替换成真实参数 + } + + reqParams := &order.UpdateMainInfoRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + OpenID: "128", // 文档中对应字段:open_id,实际使用时请替换成真实参数 + SceneID: "100", // 文档中对应字段:scene_id,实际使用时请替换成真实参数 + SceneType: 2, // 文档中对应字段:scene_type,实际使用时请替换成真实参数 + Data: []order.UpdateMainInfoRequestDataItem{ + UpdateMainInfoRequestDataItemVal, + }, // 文档中对应字段:Data,实际使用时请替换成真实参数 + } + + resp, err := order.UpdateMainInfo(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/order/updateMainStatus/main.go b/doc_examples/tp/order/updateMainStatus/main.go new file mode 100644 index 0000000..e0422f1 --- /dev/null +++ b/doc_examples/tp/order/updateMainStatus/main.go @@ -0,0 +1,52 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/order" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + UpdateMainStatusRequestDataItemVal := order.UpdateMainStatusRequestDataItem{ + BizAPPID: "", // 文档中对应字段:BizAPPID,实际使用时请替换成真实参数 + CateID: 0, // 文档中对应字段:CateID,实际使用时请替换成真实参数 + ResourceID: "", // 文档中对应字段:ResourceID,实际使用时请替换成真实参数 + Status: 0, // 文档中对应字段:Status,实际使用时请替换成真实参数 + } + + reqParams := &order.UpdateMainStatusRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + OpenID: "114", // 文档中对应字段:open_id,实际使用时请替换成真实参数 + SceneID: "110", // 文档中对应字段:scene_id,实际使用时请替换成真实参数 + SceneType: 2, // 文档中对应字段:scene_type,实际使用时请替换成真实参数 + Data: []order.UpdateMainStatusRequestDataItem{ + UpdateMainStatusRequestDataItemVal, + }, // 文档中对应字段:Data,实际使用时请替换成真实参数 + } + + resp, err := order.UpdateMainStatus(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/order/updateSubInfo/main.go b/doc_examples/tp/order/updateSubInfo/main.go new file mode 100644 index 0000000..138fc49 --- /dev/null +++ b/doc_examples/tp/order/updateSubInfo/main.go @@ -0,0 +1,95 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/order" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + UpdateSubInfoRequestDataItemEXTSubsOrderItemsItemOrderDetailVal := order.UpdateSubInfoRequestDataItemEXTSubsOrderItemsItemOrderDetail{ + AndroidSchema: "", // 文档中对应字段:AndroidSchema,实际使用时请替换成真实参数 + H5Schema: "", // 文档中对应字段:H5Schema,实际使用时请替换成真实参数 + IPhoneSchema: "", // 文档中对应字段:IPhoneSchema,实际使用时请替换成真实参数 + Name: "", // 文档中对应字段:Name,实际使用时请替换成真实参数 + Status: 0, // 文档中对应字段:Status,实际使用时请替换成真实参数 + SwanSchema: "", // 文档中对应字段:SwanSchema,实际使用时请替换成真实参数 + } + + UpdateSubInfoRequestDataItemEXTSubsOrderItemsItemRefundProductItemVal := order.UpdateSubInfoRequestDataItemEXTSubsOrderItemsItemRefundProductItem{ + Amount: 0, // 文档中对应字段:Amount,实际使用时请替换成真实参数 + ID: "", // 文档中对应字段:ID,实际使用时请替换成真实参数 + Quantity: 0, // 文档中对应字段:Quantity,实际使用时请替换成真实参数 + } + + UpdateSubInfoRequestDataItemEXTSubsOrderItemsItemRefundVal := order.UpdateSubInfoRequestDataItemEXTSubsOrderItemsItemRefund{ + Amount: 0, // 文档中对应字段:Amount,实际使用时请替换成真实参数 + Product: []order.UpdateSubInfoRequestDataItemEXTSubsOrderItemsItemRefundProductItem{ + UpdateSubInfoRequestDataItemEXTSubsOrderItemsItemRefundProductItemVal, // 文档中对应字段:Product,实际使用时请替换成真实参数 + }, + } + + UpdateSubInfoRequestDataItemEXTSubsOrderItemsItemVal := order.UpdateSubInfoRequestDataItemEXTSubsOrderItemsItem{ + CTime: 0, // 文档中对应字段:CTime,实际使用时请替换成真实参数 + MTime: 0, // 文档中对应字段:MTime,实际使用时请替换成真实参数 + OrderDetail: UpdateSubInfoRequestDataItemEXTSubsOrderItemsItemOrderDetailVal, // 文档中对应字段:OrderDetail,实际使用时请替换成真实参数 + OrderType: 0, // 文档中对应字段:OrderType,实际使用时请替换成真实参数 + Refund: UpdateSubInfoRequestDataItemEXTSubsOrderItemsItemRefundVal, // 文档中对应字段:Refund,实际使用时请替换成真实参数 + SubOrderID: "", // 文档中对应字段:SubOrderID,实际使用时请替换成真实参数 + SubStatus: 0, // 文档中对应字段:SubStatus,实际使用时请替换成真实参数 + } + + UpdateSubInfoRequestDataItemEXTSubsOrderVal := order.UpdateSubInfoRequestDataItemEXTSubsOrder{ + Items: []order.UpdateSubInfoRequestDataItemEXTSubsOrderItemsItem{ + UpdateSubInfoRequestDataItemEXTSubsOrderItemsItemVal, // 文档中对应字段:Items,实际使用时请替换成真实参数 + }, + Status: 0, // 文档中对应字段:Status,实际使用时请替换成真实参数 + } + + UpdateSubInfoRequestDataItemEXTVal := order.UpdateSubInfoRequestDataItemEXT{ + SubsOrder: UpdateSubInfoRequestDataItemEXTSubsOrderVal, // 文档中对应字段:SubsOrder,实际使用时请替换成真实参数 + } + + UpdateSubInfoRequestDataItemVal := order.UpdateSubInfoRequestDataItem{ + BizAPPID: "", // 文档中对应字段:BizAPPID,实际使用时请替换成真实参数 + CateID: 0, // 文档中对应字段:CateID,实际使用时请替换成真实参数 + EXT: UpdateSubInfoRequestDataItemEXTVal, // 文档中对应字段:EXT,实际使用时请替换成真实参数 + ResourceID: "", // 文档中对应字段:ResourceID,实际使用时请替换成真实参数 + } + + reqParams := &order.UpdateSubInfoRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + OpenID: "186", // 文档中对应字段:open_id,实际使用时请替换成真实参数 + SceneID: "172", // 文档中对应字段:scene_id,实际使用时请替换成真实参数 + SceneType: 2, // 文档中对应字段:scene_type,实际使用时请替换成真实参数 + Data: []order.UpdateSubInfoRequestDataItem{ + UpdateSubInfoRequestDataItemVal, + }, // 文档中对应字段:Data,实际使用时请替换成真实参数 + } + + resp, err := order.UpdateSubInfo(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/order/updateSubStatus/main.go b/doc_examples/tp/order/updateSubStatus/main.go new file mode 100644 index 0000000..1ca57d3 --- /dev/null +++ b/doc_examples/tp/order/updateSubStatus/main.go @@ -0,0 +1,68 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/order" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + UpdateSubStatusRequestDataItemEXTSubsOrderItemsItemVal := order.UpdateSubStatusRequestDataItemEXTSubsOrderItemsItem{ + SubOrderID: "", // 文档中对应字段:SubOrderID,实际使用时请替换成真实参数 + SubStatus: 0, // 文档中对应字段:SubStatus,实际使用时请替换成真实参数 + } + + UpdateSubStatusRequestDataItemEXTSubsOrderVal := order.UpdateSubStatusRequestDataItemEXTSubsOrder{ + Items: []order.UpdateSubStatusRequestDataItemEXTSubsOrderItemsItem{ + UpdateSubStatusRequestDataItemEXTSubsOrderItemsItemVal, // 文档中对应字段:Items,实际使用时请替换成真实参数 + }, + Status: 0, // 文档中对应字段:Status,实际使用时请替换成真实参数 + } + + UpdateSubStatusRequestDataItemEXTVal := order.UpdateSubStatusRequestDataItemEXT{ + SubsOrder: UpdateSubStatusRequestDataItemEXTSubsOrderVal, // 文档中对应字段:SubsOrder,实际使用时请替换成真实参数 + } + + UpdateSubStatusRequestDataItemVal := order.UpdateSubStatusRequestDataItem{ + BizAPPID: "", // 文档中对应字段:BizAPPID,实际使用时请替换成真实参数 + CateID: 0, // 文档中对应字段:CateID,实际使用时请替换成真实参数 + EXT: UpdateSubStatusRequestDataItemEXTVal, // 文档中对应字段:EXT,实际使用时请替换成真实参数 + ResourceID: "", // 文档中对应字段:ResourceID,实际使用时请替换成真实参数 + } + + reqParams := &order.UpdateSubStatusRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + OpenID: "112", // 文档中对应字段:open_id,实际使用时请替换成真实参数 + SceneID: "153", // 文档中对应字段:scene_id,实际使用时请替换成真实参数 + SceneType: 2, // 文档中对应字段:scene_type,实际使用时请替换成真实参数 + Data: []order.UpdateSubStatusRequestDataItem{ + UpdateSubStatusRequestDataItemVal, + }, // 文档中对应字段:Data,实际使用时请替换成真实参数 + } + + resp, err := order.UpdateSubStatus(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pay/applyOrderRefund/main.go b/doc_examples/tp/pay/applyOrderRefund/main.go new file mode 100644 index 0000000..a1c7668 --- /dev/null +++ b/doc_examples/tp/pay/applyOrderRefund/main.go @@ -0,0 +1,49 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pay" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pay.ApplyOrderRefundRequest{ + AccessToken: "#tpToken", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + ApplyRefundMoney: 181, // 文档中对应字段:applyRefundMoney,实际使用时请替换成真实参数 + BizRefundBatchID: "", // 文档中对应字段:bizRefundBatchId,实际使用时请替换成真实参数 + IsSkipAudit: 1, // 文档中对应字段:isSkipAudit,实际使用时请替换成真实参数 + OrderID: 0, // 文档中对应字段:orderId,实际使用时请替换成真实参数 + RefundReason: "refund", // 文档中对应字段:refundReason,实际使用时请替换成真实参数 + RefundType: 1, // 文档中对应字段:refundType,实际使用时请替换成真实参数 + TpOrderID: "", // 文档中对应字段:tpOrderId,实际使用时请替换成真实参数 + UserID: 0, // 文档中对应字段:userId,实际使用时请替换成真实参数 + RefundNotifyURL: "", // 文档中对应字段:refundNotifyUrl,实际使用时请替换成真实参数 + PmAppKey: "", // 文档中对应字段:pmAppKey,实际使用时请替换成真实参数 + } + + resp, err := pay.ApplyOrderRefund(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pay/closeOrder/main.go b/doc_examples/tp/pay/closeOrder/main.go new file mode 100644 index 0000000..90d610b --- /dev/null +++ b/doc_examples/tp/pay/closeOrder/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pay" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pay.CloseOrderRequest{ + AccessToken: "#tpToken", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + OrderID: "", // 文档中对应字段:orderId,实际使用时请替换成真实参数 + PmAppKey: "", // 文档中对应字段:pmAppKey,实际使用时请替换成真实参数 + } + + resp, err := pay.CloseOrder(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pay/createPayAccount/main.go b/doc_examples/tp/pay/createPayAccount/main.go new file mode 100644 index 0000000..70c97d9 --- /dev/null +++ b/doc_examples/tp/pay/createPayAccount/main.go @@ -0,0 +1,70 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pay" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pay.CreatePayAccountRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + BusinessScope: "科技产品", // 文档中对应字段:business_scope,实际使用时请替换成真实参数 + BusinessProvince: "广东省", // 文档中对应字段:business_province,实际使用时请替换成真实参数 + BusinessCity: "深圳市", // 文档中对应字段:business_city,实际使用时请替换成真实参数 + BusinessDetailAddress: "广东省南山市百度深圳研究院", // 文档中对应字段:business_detail_address,实际使用时请替换成真实参数 + LegalPerson: "百小度", // 文档中对应字段:legal_person,实际使用时请替换成真实参数 + LegalID: "182523780016702203", // 文档中对应字段:legal_id,实际使用时请替换成真实参数 + IDCardFrontURL: "https://mbs3.bdstatic.com/searchbox/mappconsole/image/16622335/81feb4a5-d67b-084c-2874-27cfff61c7a0.jpg", // 文档中对应字段:id_card_front_url,实际使用时请替换成真实参数 + IDCardBackURL: "https://mbs5.bdstatic.com/searchbox/mappconsole/image/34368180/68feb8a0-d48b-424c-5387-75cfff73c4a3.jpg", // 文档中对应字段:id_card_back_url,实际使用时请替换成真实参数 + LegalCardStartTime: "2624-84-42", // 文档中对应字段:legal_card_start_time,实际使用时请替换成真实参数 + LegalCardEndTime: "2124-05-66", // 文档中对应字段:legal_card_end_time,实际使用时请替换成真实参数 + LicenseStartTime: "2205-08-88", // 文档中对应字段:license_start_time,实际使用时请替换成真实参数 + LicenseEndTime: "2507-41-30", // 文档中对应字段:license_end_time,实际使用时请替换成真实参数 + IndustryID: 156, // 文档中对应字段:industry_id,实际使用时请替换成真实参数 + ManagePermitURL: "manage_permit_url", // 文档中对应字段:manage_permit_url,实际使用时请替换成真实参数 + AuthCapital: "184", // 文档中对应字段:auth_capital,实际使用时请替换成真实参数 + ManagerSame: 1, // 文档中对应字段:manager_same,实际使用时请替换成真实参数 + Manager: "Bob", // 文档中对应字段:manager,实际使用时请替换成真实参数 + ManagerCard: "100650564564168775", // 文档中对应字段:manager_card,实际使用时请替换成真实参数 + ManagerCardType: 1, // 文档中对应字段:manager_card_type,实际使用时请替换成真实参数 + ManagerCardFrontURL: "manager_card_front_url", // 文档中对应字段:manager_card_front_url,实际使用时请替换成真实参数 + ManagerCardBackURL: "manager_card_back_url", // 文档中对应字段:manager_card_back_url,实际使用时请替换成真实参数 + ManagerCardStartTime: "2627-85-88", // 文档中对应字段:manager_card_start_time,实际使用时请替换成真实参数 + ManagerCardEndTime: "2385-85-00", // 文档中对应字段:manager_card_end_time,实际使用时请替换成真实参数 + BenefitSame: 1, // 文档中对应字段:benefit_same,实际使用时请替换成真实参数 + Benefit: "Bob", // 文档中对应字段:benefit,实际使用时请替换成真实参数 + BenefitCard: "168368810768660384", // 文档中对应字段:benefit_card,实际使用时请替换成真实参数 + BenefitCardType: 1, // 文档中对应字段:benefit_card_type,实际使用时请替换成真实参数 + BenefitCardFrontURL: "manager_card_front_url", // 文档中对应字段:benefit_card_front_url,实际使用时请替换成真实参数 + BenefitCardBackURL: "manager_card_back_url", // 文档中对应字段:benefit_card_back_url,实际使用时请替换成真实参数 + BenefitStartTime: "2335-67-15", // 文档中对应字段:benefit_start_time,实际使用时请替换成真实参数 + BenefitEndTime: "2870-11-47", // 文档中对应字段:benefit_end_time,实际使用时请替换成真实参数 + } + + resp, err := pay.CreatePayAccount(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pay/createPaymentService/main.go b/doc_examples/tp/pay/createPaymentService/main.go new file mode 100644 index 0000000..cc8d9a9 --- /dev/null +++ b/doc_examples/tp/pay/createPaymentService/main.go @@ -0,0 +1,52 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pay" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pay.CreatePaymentServiceRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + AppName: "app_name", // 文档中对应字段:app_name,实际使用时请替换成真实参数 + ServicePhone: "11612164453", // 文档中对应字段:service_phone,实际使用时请替换成真实参数 + BankAccount: "bank_account", // 文档中对应字段:bank_account,实际使用时请替换成真实参数 + BankCard: "18176120040038", // 文档中对应字段:bank_card,实际使用时请替换成真实参数 + BankName: "招商银行", // 文档中对应字段:bank_name,实际使用时请替换成真实参数 + BankBranch: "招商银行北京上地支行", // 文档中对应字段:bank_branch,实际使用时请替换成真实参数 + OpenProvince: "广东省", // 文档中对应字段:open_province,实际使用时请替换成真实参数 + OpenCity: "深圳市", // 文档中对应字段:open_city,实际使用时请替换成真实参数 + PaymentDays: 7, // 文档中对应字段:payment_days,实际使用时请替换成真实参数 + CommissionRate: 6, // 文档中对应字段:commission_rate,实际使用时请替换成真实参数 + PoolCashPledge: 123, // 文档中对应字段:pool_cash_pledge,实际使用时请替换成真实参数 + DayMaxFrozenAmount: 15724, // 文档中对应字段:day_max_frozen_amount,实际使用时请替换成真实参数 + BankPhoneNumber: "18007451814", // 文档中对应字段:bank_phone_number,实际使用时请替换成真实参数 + } + + resp, err := pay.CreatePaymentService(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pay/downloadCapitalBill/main.go b/doc_examples/tp/pay/downloadCapitalBill/main.go new file mode 100644 index 0000000..a75ddd8 --- /dev/null +++ b/doc_examples/tp/pay/downloadCapitalBill/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pay" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pay.DownloadCapitalBillRequest{ + AccessToken: "#tpToken", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + BillTime: "", // 文档中对应字段:billTime,实际使用时请替换成真实参数 + PmAppKey: "", // 文档中对应字段:pmAppKey,实际使用时请替换成真实参数 + } + + resp, err := pay.DownloadCapitalBill(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pay/downloadOrderBill/main.go b/doc_examples/tp/pay/downloadOrderBill/main.go new file mode 100644 index 0000000..83066bf --- /dev/null +++ b/doc_examples/tp/pay/downloadOrderBill/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pay" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pay.DownloadOrderBillRequest{ + AccessToken: "#tpToken", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + BillTime: "", // 文档中对应字段:billTime,实际使用时请替换成真实参数 + PmAppKey: "", // 文档中对应字段:pmAppKey,实际使用时请替换成真实参数 + } + + resp, err := pay.DownloadOrderBill(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pay/getBindPaymentService/main.go b/doc_examples/tp/pay/getBindPaymentService/main.go new file mode 100644 index 0000000..5c649d0 --- /dev/null +++ b/doc_examples/tp/pay/getBindPaymentService/main.go @@ -0,0 +1,39 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pay" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pay.GetBindPaymentServiceRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + } + + resp, err := pay.GetBindPaymentService(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pay/getByTpOrderId/main.go b/doc_examples/tp/pay/getByTpOrderId/main.go new file mode 100644 index 0000000..b0a3ce3 --- /dev/null +++ b/doc_examples/tp/pay/getByTpOrderId/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pay" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pay.GetByTpOrderIDRequest{ + AccessToken: "#tpToken", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + TpOrderID: "", // 文档中对应字段:tpOrderId,实际使用时请替换成真实参数 + PmAppKey: "", // 文档中对应字段:pmAppKey,实际使用时请替换成真实参数 + } + + resp, err := pay.GetByTpOrderID(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pay/getExpenseDetail/main.go b/doc_examples/tp/pay/getExpenseDetail/main.go new file mode 100644 index 0000000..9d63712 --- /dev/null +++ b/doc_examples/tp/pay/getExpenseDetail/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pay" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pay.GetExpenseDetailRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + TaskID: 1, // 文档中对应字段:task_id,实际使用时请替换成真实参数 + } + + resp, err := pay.GetExpenseDetail(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pay/getExpenseList/main.go b/doc_examples/tp/pay/getExpenseList/main.go new file mode 100644 index 0000000..bc333d4 --- /dev/null +++ b/doc_examples/tp/pay/getExpenseList/main.go @@ -0,0 +1,43 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pay" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pay.GetExpenseListRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + CurrentPage: 1, // 文档中对应字段:current_page,实际使用时请替换成真实参数 + PageSize: 12, // 文档中对应字段:page_size,实际使用时请替换成真实参数 + StartTime: "2771-37-73", // 文档中对应字段:start_time,实际使用时请替换成真实参数 + EndTime: "2645-50-58", // 文档中对应字段:end_time,实际使用时请替换成真实参数 + } + + resp, err := pay.GetExpenseList(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pay/getFinanceBalance/main.go b/doc_examples/tp/pay/getFinanceBalance/main.go new file mode 100644 index 0000000..f92e092 --- /dev/null +++ b/doc_examples/tp/pay/getFinanceBalance/main.go @@ -0,0 +1,43 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pay" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pay.GetFinanceBalanceRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + StartTime: "2256-24-22", // 文档中对应字段:start_time,实际使用时请替换成真实参数 + EndTime: "2806-04-73", // 文档中对应字段:end_time,实际使用时请替换成真实参数 + CurrentPage: 1, // 文档中对应字段:current_page,实际使用时请替换成真实参数 + PageSize: 11, // 文档中对应字段:page_size,实际使用时请替换成真实参数 + } + + resp, err := pay.GetFinanceBalance(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pay/getIncomeDetail/main.go b/doc_examples/tp/pay/getIncomeDetail/main.go new file mode 100644 index 0000000..ca0c65f --- /dev/null +++ b/doc_examples/tp/pay/getIncomeDetail/main.go @@ -0,0 +1,42 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pay" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pay.GetIncomeDetailRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + StartTime: "2541-65-32", // 文档中对应字段:start_time,实际使用时请替换成真实参数 + CurrentPage: 1, // 文档中对应字段:current_page,实际使用时请替换成真实参数 + PageSize: 13, // 文档中对应字段:page_size,实际使用时请替换成真实参数 + } + + resp, err := pay.GetIncomeDetail(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pay/getOrderList/main.go b/doc_examples/tp/pay/getOrderList/main.go new file mode 100644 index 0000000..e8add90 --- /dev/null +++ b/doc_examples/tp/pay/getOrderList/main.go @@ -0,0 +1,44 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pay" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pay.GetOrderListRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Status: "1", // 文档中对应字段:status,实际使用时请替换成真实参数 + StartTime: 10356534384, // 文档中对应字段:start_time,实际使用时请替换成真实参数 + EndTime: 16541104262, // 文档中对应字段:end_time,实际使用时请替换成真实参数 + CurrentPage: 1, // 文档中对应字段:current_page,实际使用时请替换成真实参数 + PageSize: 10, // 文档中对应字段:page_size,实际使用时请替换成真实参数 + } + + resp, err := pay.GetOrderList(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pay/getOrderRefund/main.go b/doc_examples/tp/pay/getOrderRefund/main.go new file mode 100644 index 0000000..2f0ffc0 --- /dev/null +++ b/doc_examples/tp/pay/getOrderRefund/main.go @@ -0,0 +1,42 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pay" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pay.GetOrderRefundRequest{ + AccessToken: "#tpToken", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + TpOrderID: "", // 文档中对应字段:tpOrderId,实际使用时请替换成真实参数 + UserID: 0, // 文档中对应字段:userId,实际使用时请替换成真实参数 + PmAppKey: "", // 文档中对应字段:pmAppKey,实际使用时请替换成真实参数 + } + + resp, err := pay.GetOrderRefund(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pay/getOtherDetail/main.go b/doc_examples/tp/pay/getOtherDetail/main.go new file mode 100644 index 0000000..d108bb2 --- /dev/null +++ b/doc_examples/tp/pay/getOtherDetail/main.go @@ -0,0 +1,43 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pay" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pay.GetOtherDetailRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + CurrentPage: 1, // 文档中对应字段:current_page,实际使用时请替换成真实参数 + PageSize: 15, // 文档中对应字段:page_size,实际使用时请替换成真实参数 + StartTime: "2844-74-23", // 文档中对应字段:start_time,实际使用时请替换成真实参数 + EndTime: "2615-26-53", // 文档中对应字段:end_time,实际使用时请替换成真实参数 + } + + resp, err := pay.GetOtherDetail(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pay/getPayAccountAuditStatus/main.go b/doc_examples/tp/pay/getPayAccountAuditStatus/main.go new file mode 100644 index 0000000..4d3602f --- /dev/null +++ b/doc_examples/tp/pay/getPayAccountAuditStatus/main.go @@ -0,0 +1,39 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pay" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pay.GetPayAccountAuditStatusRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + } + + resp, err := pay.GetPayAccountAuditStatus(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pay/getPayServiceAuditStatus/main.go b/doc_examples/tp/pay/getPayServiceAuditStatus/main.go new file mode 100644 index 0000000..31f551f --- /dev/null +++ b/doc_examples/tp/pay/getPayServiceAuditStatus/main.go @@ -0,0 +1,39 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pay" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pay.GetPayServiceAuditStatusRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + } + + resp, err := pay.GetPayServiceAuditStatus(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pay/getPaymentServiceDict/main.go b/doc_examples/tp/pay/getPaymentServiceDict/main.go new file mode 100644 index 0000000..8fc9ec5 --- /dev/null +++ b/doc_examples/tp/pay/getPaymentServiceDict/main.go @@ -0,0 +1,39 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pay" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pay.GetPaymentServiceDictRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + } + + resp, err := pay.GetPaymentServiceDict(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pay/getTradeIndustryList/main.go b/doc_examples/tp/pay/getTradeIndustryList/main.go new file mode 100644 index 0000000..02c39e0 --- /dev/null +++ b/doc_examples/tp/pay/getTradeIndustryList/main.go @@ -0,0 +1,39 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pay" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pay.GetTradeIndustryListRequest{ + AccessToken: "#tpToken", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + } + + resp, err := pay.GetTradeIndustryList(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pay/submitDevelopConfig/main.go b/doc_examples/tp/pay/submitDevelopConfig/main.go new file mode 100644 index 0000000..bddaa8f --- /dev/null +++ b/doc_examples/tp/pay/submitDevelopConfig/main.go @@ -0,0 +1,43 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pay" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pay.SubmitDevelopConfigRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + TpPublicKey: "MIGfMA4GCSqGSIb2DQEBAQUAA8GNADCBiQKBgQC3ZbnSK1EeCMFq2KUdp4hyd4ExvfPYy58berLkjm8eKX3swDq2nF+bpCtM25+5pssRuoypaBIOTP1nf+Qpd1p0yP2kMQF7GbUy7t7kZzs6lqpGe5RZ/8ehVKIyLlCEgm7cUMFGKyLH48XL3QcQkqAJjinbjgYjtvt1Ms+VCmmolwIDAQAB", // 文档中对应字段:tp_public_key,实际使用时请替换成真实参数 + PayNotifyURL: "https://www.baidu.com", // 文档中对应字段:pay_notify_url,实际使用时请替换成真实参数 + RefundAuditURL: "https://www.baidu.com", // 文档中对应字段:refund_audit_url,实际使用时请替换成真实参数 + RefundSuccURL: "https://www.baidu.com", // 文档中对应字段:refund_succ_url,实际使用时请替换成真实参数 + } + + resp, err := pay.SubmitDevelopConfig(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pay/updateBindPaymentService/main.go b/doc_examples/tp/pay/updateBindPaymentService/main.go new file mode 100644 index 0000000..0679d65 --- /dev/null +++ b/doc_examples/tp/pay/updateBindPaymentService/main.go @@ -0,0 +1,52 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pay" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pay.UpdateBindPaymentServiceRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + AppName: "智能小程序", // 文档中对应字段:app_name,实际使用时请替换成真实参数 + ServicePhone: "13270077877", // 文档中对应字段:service_phone,实际使用时请替换成真实参数 + BankAccount: "百度", // 文档中对应字段:bank_account,实际使用时请替换成真实参数 + BankCard: "", // 文档中对应字段:bank_card,实际使用时请替换成真实参数 + BankName: "招商银行", // 文档中对应字段:bank_name,实际使用时请替换成真实参数 + BankBranch: "招商银行北京上地支行", // 文档中对应字段:bank_branch,实际使用时请替换成真实参数 + OpenProvince: "广东省", // 文档中对应字段:open_province,实际使用时请替换成真实参数 + OpenCity: "深圳市", // 文档中对应字段:open_city,实际使用时请替换成真实参数 + PaymentDays: 7, // 文档中对应字段:payment_days,实际使用时请替换成真实参数 + CommissionRate: 6, // 文档中对应字段:commission_rate,实际使用时请替换成真实参数 + PoolCashPledge: 182, // 文档中对应字段:pool_cash_pledge,实际使用时请替换成真实参数 + DayMaxFrozenAmount: 14684, // 文档中对应字段:day_max_frozen_amount,实际使用时请替换成真实参数 + BankPhoneNumber: "10212486702", // 文档中对应字段:bank_phone_number,实际使用时请替换成真实参数 + } + + resp, err := pay.UpdateBindPaymentService(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pay/updatePaymentService/main.go b/doc_examples/tp/pay/updatePaymentService/main.go new file mode 100644 index 0000000..34dbb98 --- /dev/null +++ b/doc_examples/tp/pay/updatePaymentService/main.go @@ -0,0 +1,42 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pay" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pay.UpdatePaymentServiceRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + AppName: "智能小程序", // 文档中对应字段:app_name,实际使用时请替换成真实参数 + ServicePhone: "14438632138", // 文档中对应字段:service_phone,实际使用时请替换成真实参数 + PoolCashPledge: 184, // 文档中对应字段:pool_cash_pledge,实际使用时请替换成真实参数 + } + + resp, err := pay.UpdatePaymentService(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pkg/getPackage/main.go b/doc_examples/tp/pkg/getPackage/main.go new file mode 100644 index 0000000..e86d27f --- /dev/null +++ b/doc_examples/tp/pkg/getPackage/main.go @@ -0,0 +1,39 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pkg" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pkg.GetPackageRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + } + + resp, err := pkg.GetPackage(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pkg/getPackageDetail/main.go b/doc_examples/tp/pkg/getPackageDetail/main.go new file mode 100644 index 0000000..2c3e9c7 --- /dev/null +++ b/doc_examples/tp/pkg/getPackageDetail/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pkg" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pkg.GetPackageDetailRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Type: 1, // 文档中对应字段:type,实际使用时请替换成真实参数 + PackageID: 0, // 文档中对应字段:package_id,实际使用时请替换成真实参数 + } + + resp, err := pkg.GetPackageDetail(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pkg/getPackageSubmitAuditQuota/main.go b/doc_examples/tp/pkg/getPackageSubmitAuditQuota/main.go new file mode 100644 index 0000000..1c5c495 --- /dev/null +++ b/doc_examples/tp/pkg/getPackageSubmitAuditQuota/main.go @@ -0,0 +1,39 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pkg" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pkg.GetPackageSubmitAuditQuotaRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + } + + resp, err := pkg.GetPackageSubmitAuditQuota(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pkg/releasePackage/main.go b/doc_examples/tp/pkg/releasePackage/main.go new file mode 100644 index 0000000..f2702f5 --- /dev/null +++ b/doc_examples/tp/pkg/releasePackage/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pkg" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pkg.ReleasePackageRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + PackageID: "1610376", // 文档中对应字段:package_id,实际使用时请替换成真实参数 + } + + resp, err := pkg.ReleasePackage(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pkg/rollbackPackage/main.go b/doc_examples/tp/pkg/rollbackPackage/main.go new file mode 100644 index 0000000..7f76d3b --- /dev/null +++ b/doc_examples/tp/pkg/rollbackPackage/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pkg" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pkg.RollbackPackageRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + PackageID: "1408003", // 文档中对应字段:package_id,实际使用时请替换成真实参数 + } + + resp, err := pkg.RollbackPackage(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pkg/submitPackageAudit/main.go b/doc_examples/tp/pkg/submitPackageAudit/main.go new file mode 100644 index 0000000..91906b1 --- /dev/null +++ b/doc_examples/tp/pkg/submitPackageAudit/main.go @@ -0,0 +1,44 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pkg" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pkg.SubmitPackageAuditRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Content: "sdk-test-content", // 文档中对应字段:content,实际使用时请替换成真实参数 + PackageID: "1605142", // 文档中对应字段:package_id,实际使用时请替换成真实参数 + Remark: "sdk-test-remark", // 文档中对应字段:remark,实际使用时请替换成真实参数 + TestAccount: "", // 文档中对应字段:test_account,实际使用时请替换成真实参数 + TestPassword: "", // 文档中对应字段:test_password,实际使用时请替换成真实参数 + } + + resp, err := pkg.SubmitPackageAudit(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pkg/uploadPackage/main.go b/doc_examples/tp/pkg/uploadPackage/main.go new file mode 100644 index 0000000..fb7316e --- /dev/null +++ b/doc_examples/tp/pkg/uploadPackage/main.go @@ -0,0 +1,45 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pkg" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pkg.UploadPackageRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + TemplateID: "11075", // 文档中对应字段:template_id,实际使用时请替换成真实参数 + ExtJSON: "{\"extEnable\":true,\"extAppid\":\"15325375\",\"directCommit\":false}", // 文档中对应字段:ext_json,实际使用时请替换成真实参数 + UserDesc: "sdk-test", // 文档中对应字段:user_desc,实际使用时请替换成真实参数 + UserVersion: "2543.26.18", // 文档中对应字段:user_version,实际使用时请替换成真实参数 + TestAccount: "account", // 文档中对应字段:test_account,实际使用时请替换成真实参数 + TestPassword: "password", // 文档中对应字段:test_password,实际使用时请替换成真实参数 + } + + resp, err := pkg.UploadPackage(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pkg/withdrawPackageAudit/main.go b/doc_examples/tp/pkg/withdrawPackageAudit/main.go new file mode 100644 index 0000000..80ae874 --- /dev/null +++ b/doc_examples/tp/pkg/withdrawPackageAudit/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pkg" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pkg.WithdrawPackageAuditRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + PackageID: "1658411", // 文档中对应字段:package_id,实际使用时请替换成真实参数 + } + + resp, err := pkg.WithdrawPackageAudit(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/search/addSubChain/main.go b/doc_examples/tp/search/addSubChain/main.go new file mode 100644 index 0000000..65b23ed --- /dev/null +++ b/doc_examples/tp/search/addSubChain/main.go @@ -0,0 +1,43 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/search" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &search.AddSubChainRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + ChainName: "chainName", // 文档中对应字段:chain_name,实际使用时请替换成真实参数 + ChainDesc: "chainDesc", // 文档中对应字段:chain_desc,实际使用时请替换成真实参数 + ChainPath: "/chainPath", // 文档中对应字段:chain_path,实际使用时请替换成真实参数 + Telephone: "14463", // 文档中对应字段:telephone,实际使用时请替换成真实参数 + } + + resp, err := search.AddSubChain(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/search/bindSite/main.go b/doc_examples/tp/search/bindSite/main.go new file mode 100644 index 0000000..b21f4c0 --- /dev/null +++ b/doc_examples/tp/search/bindSite/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/search" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &search.BindSiteRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Sites: "www.baidu.com,www.baidu.com", // 文档中对应字段:sites,实际使用时请替换成真实参数 + } + + resp, err := search.BindSite(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/search/delUrlMapping/main.go b/doc_examples/tp/search/delUrlMapping/main.go new file mode 100644 index 0000000..ffc9236 --- /dev/null +++ b/doc_examples/tp/search/delUrlMapping/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/search" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &search.DelURLMappingRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + DelRuleID: 177, // 文档中对应字段:del_rule_id,实际使用时请替换成真实参数 + } + + resp, err := search.DelURLMapping(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/search/deleteSubChain/main.go b/doc_examples/tp/search/deleteSubChain/main.go new file mode 100644 index 0000000..111b60e --- /dev/null +++ b/doc_examples/tp/search/deleteSubChain/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/search" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &search.DeleteSubChainRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + SubchainID: "18842", // 文档中对应字段:subchain_id,实际使用时请替换成真实参数 + } + + resp, err := search.DeleteSubChain(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/search/getAllSubChain/main.go b/doc_examples/tp/search/getAllSubChain/main.go new file mode 100644 index 0000000..72f3107 --- /dev/null +++ b/doc_examples/tp/search/getAllSubChain/main.go @@ -0,0 +1,39 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/search" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &search.GetAllSubChainRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + } + + resp, err := search.GetAllSubChain(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/search/getBindSite/main.go b/doc_examples/tp/search/getBindSite/main.go new file mode 100644 index 0000000..b07d6d8 --- /dev/null +++ b/doc_examples/tp/search/getBindSite/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/search" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &search.GetBindSiteRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + PageNum: 1, // 文档中对应字段:page_num,实际使用时请替换成真实参数 + PageSize: 24, // 文档中对应字段:page_size,实际使用时请替换成真实参数 + } + + resp, err := search.GetBindSite(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/search/getQueryKeyword/main.go b/doc_examples/tp/search/getQueryKeyword/main.go new file mode 100644 index 0000000..602bbf4 --- /dev/null +++ b/doc_examples/tp/search/getQueryKeyword/main.go @@ -0,0 +1,43 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/search" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &search.GetQueryKeywordRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + WebURL: "/promotion/topquery/info", // 文档中对应字段:web_url,实际使用时请替换成真实参数 + TimeSpan: 7, // 文档中对应字段:time_span,实际使用时请替换成真实参数 + PageNum: 1, // 文档中对应字段:page_num,实际使用时请替换成真实参数 + PageSize: 10, // 文档中对应字段:page_size,实际使用时请替换成真实参数 + } + + resp, err := search.GetQueryKeyword(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/search/getSitemapMeta/main.go b/doc_examples/tp/search/getSitemapMeta/main.go new file mode 100644 index 0000000..f53cf6d --- /dev/null +++ b/doc_examples/tp/search/getSitemapMeta/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/search" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &search.GetSitemapMetaRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + TimeSpan: 7, // 文档中对应字段:time_span,实际使用时请替换成真实参数 + } + + resp, err := search.GetSitemapMeta(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/search/getTopQueryUrlInfo/main.go b/doc_examples/tp/search/getTopQueryUrlInfo/main.go new file mode 100644 index 0000000..93e0abc --- /dev/null +++ b/doc_examples/tp/search/getTopQueryUrlInfo/main.go @@ -0,0 +1,42 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/search" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &search.GetTopQueryURLInfoRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + TimeSpan: 7, // 文档中对应字段:time_span,实际使用时请替换成真实参数 + PageNum: 1, // 文档中对应字段:page_num,实际使用时请替换成真实参数 + PageSize: 17, // 文档中对应字段:page_size,实际使用时请替换成真实参数 + } + + resp, err := search.GetTopQueryURLInfo(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/search/getUrlMappingDetail/main.go b/doc_examples/tp/search/getUrlMappingDetail/main.go new file mode 100644 index 0000000..02134fc --- /dev/null +++ b/doc_examples/tp/search/getUrlMappingDetail/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/search" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &search.GetURLMappingDetailRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + RuleID: 161, // 文档中对应字段:rule_id,实际使用时请替换成真实参数 + } + + resp, err := search.GetURLMappingDetail(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/search/modifyWebStatus/main.go b/doc_examples/tp/search/modifyWebStatus/main.go new file mode 100644 index 0000000..79fbea6 --- /dev/null +++ b/doc_examples/tp/search/modifyWebStatus/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/search" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &search.ModifyWebStatusRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + WebStatus: 1, // 文档中对应字段:web_status,实际使用时请替换成真实参数 + } + + resp, err := search.ModifyWebStatus(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/search/queryUrlMapping/main.go b/doc_examples/tp/search/queryUrlMapping/main.go new file mode 100644 index 0000000..89610e0 --- /dev/null +++ b/doc_examples/tp/search/queryUrlMapping/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/search" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &search.QueryURLMappingRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + PageNum: 1, // 文档中对应字段:page_num,实际使用时请替换成真实参数 + PageSize: 14, // 文档中对应字段:page_size,实际使用时请替换成真实参数 + } + + resp, err := search.QueryURLMapping(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/search/rankSubChain/main.go b/doc_examples/tp/search/rankSubChain/main.go new file mode 100644 index 0000000..6d0b0a1 --- /dev/null +++ b/doc_examples/tp/search/rankSubChain/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/search" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &search.RankSubChainRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + SubchainRanklist: "1,3,5", // 文档中对应字段:subchain_ranklist,实际使用时请替换成真实参数 + } + + resp, err := search.RankSubChain(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/search/saveUrlMapping/main.go b/doc_examples/tp/search/saveUrlMapping/main.go new file mode 100644 index 0000000..4612de2 --- /dev/null +++ b/doc_examples/tp/search/saveUrlMapping/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/search" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &search.SaveURLMappingRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Content: "[{\"h2Pattern\":\"http://www.baidu.com/(d+).html\",\"appPattern\":\"/path/abc/${5}\",\"urlPairs\":[{\"h0Url\":\"http://www.baidu.com/030.html\",\"appUrl\":\"/page/abc/706\"}]}]", // 文档中对应字段:content,实际使用时请替换成真实参数 + CreateMethod: "17", // 文档中对应字段:create_method,实际使用时请替换成真实参数 + } + + resp, err := search.SaveURLMapping(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/search/startSubChain/main.go b/doc_examples/tp/search/startSubChain/main.go new file mode 100644 index 0000000..b9b96eb --- /dev/null +++ b/doc_examples/tp/search/startSubChain/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/search" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &search.StartSubChainRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + SubchainID: "140", // 文档中对应字段:subchain_id,实际使用时请替换成真实参数 + } + + resp, err := search.StartSubChain(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/search/stopSubChain/main.go b/doc_examples/tp/search/stopSubChain/main.go new file mode 100644 index 0000000..ac9cb75 --- /dev/null +++ b/doc_examples/tp/search/stopSubChain/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/search" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &search.StopSubChainRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + SubchainID: "160", // 文档中对应字段:subchain_id,实际使用时请替换成真实参数 + } + + resp, err := search.StopSubChain(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/search/submitSitemapByApi/main.go b/doc_examples/tp/search/submitSitemapByApi/main.go new file mode 100644 index 0000000..4a02c0c --- /dev/null +++ b/doc_examples/tp/search/submitSitemapByApi/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/search" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &search.SubmitSitemapByAPIRequest{ + AccessToken: "#tpToken", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Type: 0, // 文档中对应字段:type,实际使用时请替换成真实参数 + URLList: "submit/sitemap", // 文档中对应字段:url_list,实际使用时请替换成真实参数 + } + + resp, err := search.SubmitSitemapByAPI(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/search/updateSubChain/main.go b/doc_examples/tp/search/updateSubChain/main.go new file mode 100644 index 0000000..4ffdcd6 --- /dev/null +++ b/doc_examples/tp/search/updateSubChain/main.go @@ -0,0 +1,44 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/search" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &search.UpdateSubChainRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + SubchainID: "124", // 文档中对应字段:subchain_id,实际使用时请替换成真实参数 + ChainName: "chainName", // 文档中对应字段:chain_name,实际使用时请替换成真实参数 + ChainDesc: "chainDesc", // 文档中对应字段:chain_desc,实际使用时请替换成真实参数 + ChainPath: "/chainPath", // 文档中对应字段:chain_path,实际使用时请替换成真实参数 + Telephone: "13531", // 文档中对应字段:telephone,实际使用时请替换成真实参数 + } + + resp, err := search.UpdateSubChain(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/search/uploadRobotsForApp/main.go b/doc_examples/tp/search/uploadRobotsForApp/main.go new file mode 100644 index 0000000..c88442d --- /dev/null +++ b/doc_examples/tp/search/uploadRobotsForApp/main.go @@ -0,0 +1,51 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + "os" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/search" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + fileReader, err := os.Open("xxxxx") + if err != nil { + panic(err) + } + defer fileReader.Close() + + uploadRobotsForAppRequestFileVal := search.UploadRobotsForAppRequestFile{ + Name: "robots", + Reader: fileReader, + } + reqParams := &search.UploadRobotsForAppRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Robots: uploadRobotsForAppRequestFileVal, // 文档中对应字段:robots,实际使用时请替换成真实参数 + } + + resp, err := search.UploadRobotsForApp(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/search/uploadRobotsForTemplate/main.go b/doc_examples/tp/search/uploadRobotsForTemplate/main.go new file mode 100644 index 0000000..4980683 --- /dev/null +++ b/doc_examples/tp/search/uploadRobotsForTemplate/main.go @@ -0,0 +1,52 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + "os" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/search" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + fileReader, err := os.Open("xxxxx") + if err != nil { + panic(err) + } + defer fileReader.Close() + + uploadRobotsForTemplateRequestFileVal := search.UploadRobotsForTemplateRequestFile{ + Name: "robots", + Reader: fileReader, + } + reqParams := &search.UploadRobotsForTemplateRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + TemplateID: 185, // 文档中对应字段:template_id,实际使用时请替换成真实参数 + Robots: uploadRobotsForTemplateRequestFileVal, // 文档中对应字段:robots,实际使用时请替换成真实参数 + } + + resp, err := search.UploadRobotsForTemplate(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/template/addToTemplate/main.go b/doc_examples/tp/template/addToTemplate/main.go new file mode 100644 index 0000000..1c5c2fe --- /dev/null +++ b/doc_examples/tp/template/addToTemplate/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/template" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &template.AddToTemplateRequest{ + AccessToken: "#tpToken", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + DraftID: "2822", // 文档中对应字段:draft_id,实际使用时请替换成真实参数 + UserDesc: "sdk-test", // 文档中对应字段:user_desc,实际使用时请替换成真实参数 + } + + resp, err := template.AddToTemplate(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/template/delTemplate/main.go b/doc_examples/tp/template/delTemplate/main.go new file mode 100644 index 0000000..43004cb --- /dev/null +++ b/doc_examples/tp/template/delTemplate/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/template" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &template.DelTemplateRequest{ + AccessToken: "#tpToken", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + TemplateID: "28837", // 文档中对应字段:template_id,实际使用时请替换成真实参数 + } + + resp, err := template.DelTemplate(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/template/getTemplateDraftList/main.go b/doc_examples/tp/template/getTemplateDraftList/main.go new file mode 100644 index 0000000..b680207 --- /dev/null +++ b/doc_examples/tp/template/getTemplateDraftList/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/template" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &template.GetTemplateDraftListRequest{ + AccessToken: "#tpToken", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Page: 1, // 文档中对应字段:page,实际使用时请替换成真实参数 + PageSize: 12, // 文档中对应字段:page_size,实际使用时请替换成真实参数 + } + + resp, err := template.GetTemplateDraftList(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/template/getTemplateList/main.go b/doc_examples/tp/template/getTemplateList/main.go new file mode 100644 index 0000000..b93bffe --- /dev/null +++ b/doc_examples/tp/template/getTemplateList/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/template" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &template.GetTemplateListRequest{ + AccessToken: "#tpToken", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Page: 1, // 文档中对应字段:page,实际使用时请替换成真实参数 + PageSize: 14, // 文档中对应字段:page_size,实际使用时请替换成真实参数 + } + + resp, err := template.GetTemplateList(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/openapi/tp/analysis/getAnalysisActivityUser.go b/openapi/tp/analysis/getAnalysisActivityUser.go new file mode 100644 index 0000000..69ac34b --- /dev/null +++ b/openapi/tp/analysis/getAnalysisActivityUser.go @@ -0,0 +1,100 @@ +package analysis + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetAnalysisActivityUserRequest 请求结构体 +type GetAnalysisActivityUserRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + StartIndex int64 // 数据偏移位置,接口默认返回 20 条数据,可使用该偏移量进行翻页查看 + StartDate string // 开始日期:20190410 + EndDate string // 结束日期:20190415 +} + +// 响应结构体 + +type GetAnalysisActivityUserResponsedatasum struct { + AccumulativeUserCount interface{} `json:"accumulative_user_count"` // 累计启动用户,累计启动过小程序的用户数量(多次启动不重复计) + DailyActivityDegree interface{} `json:"daily_activity_degree"` // 日活跃度,当日启动用户/ 累计用户 + DayMonthActivityDegree interface{} `json:"day_month_activity_degree"` // 日活/月活,日启动用户数/月启动用户数,反映当日用户活跃与近30日的比较水平 + LostRatio interface{} `json:"lost_ratio"` // 流失率,流失用户/累计用户 + LostUserCount interface{} `json:"lost_user_count"` // 流失用户,最近60天(含查询当日)没有启动过小程序的用户(已去重) + MonthlyActivityDegree interface{} `json:"monthly_activity_degree"` // 月活跃度,月活跃用户/累计用户 + MonthlyUserCount interface{} `json:"monthly_user_count"` // 月活跃用户,最近30天(含查询当日)启动过小程序的用户数(多次启动不重复计) + UserCount interface{} `json:"user_count"` // 启动用户,启动过小程序的用户数(多次启动不重复计) + WeeklyActivityDegree interface{} `json:"weekly_activity_degree"` // 周活跃度,周活跃用户/累计用户 + WeeklyUserCount interface{} `json:"weekly_user_count"` // 周活跃用户,最近7天(含查询当日)启动过小程序的用户数(多次启动不重复计) +} + +type GetAnalysisActivityUserResponsedatadataListItem struct { + AccumulativeUserCount interface{} `json:"accumulative_user_count"` // 累计启动用户,累计启动过小程序的用户数量(多次启动不重复计) + DailyActivityDegree interface{} `json:"daily_activity_degree"` // 日活跃度,当日启动用户/ 累计用户 + DayMonthActivityDegree interface{} `json:"day_month_activity_degree"` // 日活/月活,日启动用户数/月启动用户数,反映当日用户活跃与近30日的比较水平 + LostRatio interface{} `json:"lost_ratio"` // 流失率,流失用户/累计用户 + LostUserCount interface{} `json:"lost_user_count"` // 流失用户,最近60天(含查询当日)没有启动过小程序的用户(已去重) + MonthlyActivityDegree interface{} `json:"monthly_activity_degree"` // 月活跃度,月活跃用户/累计用户 + MonthlyUserCount interface{} `json:"monthly_user_count"` // 月活跃用户,最近30天(含查询当日)启动过小程序的用户数(多次启动不重复计) + Name interface{} `json:"name"` // + UserCount interface{} `json:"user_count"` // 启动用户,启动过小程序的用户数(多次启动不重复计) + WeeklyActivityDegree interface{} `json:"weekly_activity_degree"` // 周活跃度,周活跃用户/累计用户 + WeeklyUserCount interface{} `json:"weekly_user_count"` // 周活跃用户,最近7天(含查询当日)启动过小程序的用户数(多次启动不重复计) +} + +type GetAnalysisActivityUserResponsedata struct { + DataList []GetAnalysisActivityUserResponsedatadataListItem `json:"data_list"` // 数据列表(指标内容) + Offset int64 `json:"offset"` // 数据偏移位置 + Sum GetAnalysisActivityUserResponsedatasum `json:"sum"` // 数据综合(指标内容) + TimeSpan string `json:"time_span"` // 时间范围 + Total int64 `json:"total"` // 数据量 +} + +type GetAnalysisActivityUserResponse struct { + Data GetAnalysisActivityUserResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetAnalysisActivityUser +func GetAnalysisActivityUser(params *GetAnalysisActivityUserRequest) (*GetAnalysisActivityUserResponsedata, error) { + var ( + err error + defaultRet *GetAnalysisActivityUserResponsedata + ) + respData := &GetAnalysisActivityUserResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/data/getanalysisactivityuser") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("start_index", fmt.Sprintf("%v", params.StartIndex)) + client.AddPostParam("start_date", params.StartDate) + client.AddPostParam("end_date", params.EndDate) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/analysis/getAnalysisRegion.go b/openapi/tp/analysis/getAnalysisRegion.go new file mode 100644 index 0000000..6731d1b --- /dev/null +++ b/openapi/tp/analysis/getAnalysisRegion.go @@ -0,0 +1,90 @@ +package analysis + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetAnalysisRegionRequest 请求结构体 +type GetAnalysisRegionRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + StartIndex int64 // 数据偏移位置,接口默认返回 20 条数据,可使用该偏移量进行翻页查看 + StartDate string // 开始日期:20190410 + EndDate string // 结束日期:20190415 +} + +// 响应结构体 + +type GetAnalysisRegionResponsedatasum struct { + AverageSessionTimeDistrict interface{} `json:"average_session_time_district"` // 次均使用时长,该地域内的用户平均每一次使用应用程序(session)的时间 + NewUserCountDistrictRatio interface{} `json:"new_user_count_district_ratio"` // 新用户分布,该地域的新用户数占全地域的新用户之和的比例 + SessionCountDistrict interface{} `json:"session_count_district"` // 启动次数,该地域用户的启动次数 + SessionCountDistrictRatio interface{} `json:"session_count_district_ratio"` // 启动次数比例分布,该地域用户的启动次数占全地域用户的启动次数之和的比例 + UserCountDistrictRatio interface{} `json:"user_count_district_ratio"` // 启动用户分布,该地域的启动用户数占全地域的启动用户(跨地域不去重)的比例 +} + +type GetAnalysisRegionResponsedatadataListItem struct { + AverageSessionTimeDistrict interface{} `json:"average_session_time_district"` // 次均使用时长,该地域内的用户平均每一次使用应用程序(session)的时间 + Name interface{} `json:"name"` // + NewUserCountDistrictRatio interface{} `json:"new_user_count_district_ratio"` // 新用户分布,该地域的新用户数占全地域的新用户之和的比例 + SessionCountDistrict interface{} `json:"session_count_district"` // 启动次数,该地域用户的启动次数 + SessionCountDistrictRatio interface{} `json:"session_count_district_ratio"` // 启动次数比例分布,该地域用户的启动次数占全地域用户的启动次数之和的比例 + UserCountDistrictRatio interface{} `json:"user_count_district_ratio"` // 启动用户分布,该地域的启动用户数占全地域的启动用户(跨地域不去重)的比例 +} + +type GetAnalysisRegionResponsedata struct { + DataList []GetAnalysisRegionResponsedatadataListItem `json:"data_list"` // 数据列表(指标内容) + Offset int64 `json:"offset"` // 数据偏移位置 + Sum GetAnalysisRegionResponsedatasum `json:"sum"` // 数据综合(指标内容) + TimeSpan string `json:"time_span"` // 时间范围 + Total int64 `json:"total"` // 数据量 +} + +type GetAnalysisRegionResponse struct { + Data GetAnalysisRegionResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetAnalysisRegion +func GetAnalysisRegion(params *GetAnalysisRegionRequest) (*GetAnalysisRegionResponsedata, error) { + var ( + err error + defaultRet *GetAnalysisRegionResponsedata + ) + respData := &GetAnalysisRegionResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/data/getanalysisregion") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("start_index", fmt.Sprintf("%v", params.StartIndex)) + client.AddPostParam("start_date", params.StartDate) + client.AddPostParam("end_date", params.EndDate) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/analysis/getAnalysisRetainedUser.go b/openapi/tp/analysis/getAnalysisRetainedUser.go new file mode 100644 index 0000000..4d812ee --- /dev/null +++ b/openapi/tp/analysis/getAnalysisRetainedUser.go @@ -0,0 +1,83 @@ +package analysis + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetAnalysisRetainedUserRequest 请求结构体 +type GetAnalysisRetainedUserRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + ReportType string // 报告数据类型:可选count数量类型、ratio比率类型,决定返回的指标内容 + StartIndex int64 // 数据偏移位置,接口默认返回 20 条数据,可使用该偏移量进行翻页查看 + StartDate string // 开始日期:20190410 + EndDate string // 结束日期:20190415 + Gran string // 数据粒度:day/week/month +} + +// 响应结构体 + +type GetAnalysisRetainedUserResponsedatasum struct { + ActiveUserCount interface{} `json:"active_user_count"` // 活跃用户数量,某日(周、月)启动过小程序的用户数(多次启动不重复计) + RetainedRatio interface{} `json:"retained_ratio"` // 留存用户率,留存用户数占新用户数的比例 + RetainedUserCount interface{} `json:"retained_user_count"` // 留存用户数量,某日(周、月)新用户(或启动用户)在目标时间段再次启动小程序的用户数 +} + +type GetAnalysisRetainedUserResponsedata struct { + DataList []map[string]interface{} `json:"data_list"` // 数据列表(指标内容) + Offset int64 `json:"offset"` // 数据偏移位置 + Sum GetAnalysisRetainedUserResponsedatasum `json:"sum"` // 数据综合(指标内容) + TimeSpan string `json:"time_span"` // 时间范围 + Total int64 `json:"total"` // 数据量 +} + +type GetAnalysisRetainedUserResponse struct { + Data GetAnalysisRetainedUserResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetAnalysisRetainedUser +func GetAnalysisRetainedUser(params *GetAnalysisRetainedUserRequest) (*GetAnalysisRetainedUserResponsedata, error) { + var ( + err error + defaultRet *GetAnalysisRetainedUserResponsedata + ) + respData := &GetAnalysisRetainedUserResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/data/getanalysisretaineduser") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("report_type", params.ReportType) + client.AddPostParam("start_index", fmt.Sprintf("%v", params.StartIndex)) + client.AddPostParam("start_date", params.StartDate) + client.AddPostParam("end_date", params.EndDate) + client.AddPostParam("gran", params.Gran) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/analysis/getAnalysisSourceInfo.go b/openapi/tp/analysis/getAnalysisSourceInfo.go new file mode 100644 index 0000000..6669589 --- /dev/null +++ b/openapi/tp/analysis/getAnalysisSourceInfo.go @@ -0,0 +1,83 @@ +package analysis + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetAnalysisSourceInfoRequest 请求结构体 +type GetAnalysisSourceInfoRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + StartIndex int64 // 数据偏移位置,接口默认返回 20 条数据,可使用该偏移量进行翻页查看 + StartDate string // 开始日期:20190410 + EndDate string // 结束日期:20190415 +} + +// 响应结构体 + +type GetAnalysisSourceInfoResponsedatadataListItem struct { + AverageSessionTime interface{} `json:"average_session_time"` // 次均使用时长,平均每一次启动小程序的时间,等于总时长/总启动次数 + Name interface{} `json:"name"` // + NewUserCount interface{} `json:"new_user_count"` // 新用户数,90天内首次启动小程序的用户数 + NewUserScale interface{} `json:"new_user_scale"` // 新用户分布,某来源的新用户数占全来源的新用户总数的比例 + SessionCountPerUser interface{} `json:"session_count_per_user"` // 人均启动次数,小程序累计启动次数/启动用户数 + SessionScale interface{} `json:"session_scale"` // 启动次数分布,某来源的启动次数占同一层级来源的启动次数总和的比例 + UserCount interface{} `json:"user_count"` // 启动用户数,启动过小程序的用户(多次启动不重复计) + UserScale interface{} `json:"user_scale"` // 启动用户分布,某来源的启动用户数占全来源的启动用户总数的比例 +} + +type GetAnalysisSourceInfoResponsedata struct { + DataList []GetAnalysisSourceInfoResponsedatadataListItem `json:"data_list"` // 数据综合(指标内容) + Offset int64 `json:"offset"` // 数据偏移位置 + TimeSpan string `json:"time_span"` // 时间范围 + Total int64 `json:"total"` // 数据量 +} + +type GetAnalysisSourceInfoResponse struct { + Data GetAnalysisSourceInfoResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetAnalysisSourceInfo +func GetAnalysisSourceInfo(params *GetAnalysisSourceInfoRequest) (*GetAnalysisSourceInfoResponsedata, error) { + var ( + err error + defaultRet *GetAnalysisSourceInfoResponsedata + ) + respData := &GetAnalysisSourceInfoResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/data/getanalysissource") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("start_index", fmt.Sprintf("%v", params.StartIndex)) + client.AddPostParam("start_date", params.StartDate) + client.AddPostParam("end_date", params.EndDate) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/analysis/getAnalysisTerminalInfo.go b/openapi/tp/analysis/getAnalysisTerminalInfo.go new file mode 100644 index 0000000..3ce2a62 --- /dev/null +++ b/openapi/tp/analysis/getAnalysisTerminalInfo.go @@ -0,0 +1,92 @@ +package analysis + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetAnalysisTerminalInfoRequest 请求结构体 +type GetAnalysisTerminalInfoRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + TerminalType string // 终端数据类型 + StartIndex int64 // 数据偏移位置,接口默认返回 20 条数据,可使用该偏移量进行翻页查看 + StartDate string // 开始日期:20190410 + EndDate string // 结束日期:20190415 +} + +// 响应结构体 + +type GetAnalysisTerminalInfoResponsedatasum struct { + AccumulativeNewUserCountRatio interface{} `json:"accumulative_new_user_count_ratio"` // 新用户分布,该品牌(或设备型号、操作系统、分辨率、联网方式)的新用户数占所有品牌(或设备型号、操作系统、分辨率、联网方式)新用户之和的比例 + AccumulativeSessionCount interface{} `json:"accumulative_session_count"` // 启动次数,该品牌(或设备型号、操作系统、分辨率、联网方式)的启动次数 + AccumulativeSessionCountRatio interface{} `json:"accumulative_session_count_ratio"` // 启动次数比例分布,该品牌(或设备型号、操作系统、分辨率、联网方式)的启动次数占所有品牌(或设备型号、操作系统、分辨率、联网方式)启动次数之和的比例 + AccumulativeUserCountRatio interface{} `json:"accumulative_user_count_ratio"` // 启动用户分布,该品牌(或设备型号、操作系统、分辨率、联网方式)的启动用户数占所有品牌(或设备型号、操作系统、分辨率、联网方式)启动用户之和(不去重)的比例 + AverageUseTime interface{} `json:"average_use_time"` // 次均使用时长,平均每一次启动小程序的时间,等于总时长/总启动次数 +} + +type GetAnalysisTerminalInfoResponsedatadataListItem struct { + AccumulativeNewUserCountRatio interface{} `json:"accumulative_new_user_count_ratio"` // 新用户分布,该品牌(或设备型号、操作系统、分辨率、联网方式)的新用户数占所有品牌(或设备型号、操作系统、分辨率、联网方式)新用户之和的比例 + AccumulativeSessionCount interface{} `json:"accumulative_session_count"` // 启动次数,该品牌(或设备型号、操作系统、分辨率、联网方式)的启动次数 + AccumulativeSessionCountRatio interface{} `json:"accumulative_session_count_ratio"` // 启动次数比例分布,该品牌(或设备型号、操作系统、分辨率、联网方式)的启动次数占所有品牌(或设备型号、操作系统、分辨率、联网方式)启动次数之和的比例 + AccumulativeUserCountRatio interface{} `json:"accumulative_user_count_ratio"` // 启动用户分布,该品牌(或设备型号、操作系统、分辨率、联网方式)的启动用户数占所有品牌(或设备型号、操作系统、分辨率、联网方式)启动用户之和(不去重)的比例 + AverageUseTime interface{} `json:"average_use_time"` // 次均使用时长,平均每一次启动小程序的时间,等于总时长/总启动次数 + Name interface{} `json:"name"` // +} + +type GetAnalysisTerminalInfoResponsedata struct { + DataList []GetAnalysisTerminalInfoResponsedatadataListItem `json:"data_list"` // 数据列表(指标内容) + Offset int64 `json:"offset"` // 数据偏移位置 + Sum GetAnalysisTerminalInfoResponsedatasum `json:"sum"` // 数据综合(指标内容) + TimeSpan string `json:"time_span"` // 时间范围 + Total int64 `json:"total"` // 数据量 +} + +type GetAnalysisTerminalInfoResponse struct { + Data GetAnalysisTerminalInfoResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetAnalysisTerminalInfo +func GetAnalysisTerminalInfo(params *GetAnalysisTerminalInfoRequest) (*GetAnalysisTerminalInfoResponsedata, error) { + var ( + err error + defaultRet *GetAnalysisTerminalInfoResponsedata + ) + respData := &GetAnalysisTerminalInfoResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/data/getanalysisterminal") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("terminal_type", params.TerminalType) + client.AddPostParam("start_index", fmt.Sprintf("%v", params.StartIndex)) + client.AddPostParam("start_date", params.StartDate) + client.AddPostParam("end_date", params.EndDate) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/analysis/getAnalysisUserTrend.go b/openapi/tp/analysis/getAnalysisUserTrend.go new file mode 100644 index 0000000..994345f --- /dev/null +++ b/openapi/tp/analysis/getAnalysisUserTrend.go @@ -0,0 +1,98 @@ +package analysis + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetAnalysisUserTrendRequest 请求结构体 +type GetAnalysisUserTrendRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + StartIndex int64 // 数据偏移位置,接口默认返回 20 条数据,可使用该偏移量进行翻页查看 + StartDate string // 开始日期:20190410 + EndDate string // 结束日期:20190415 + Gran string // 数据粒度:day/hour/week/month +} + +// 响应结构体 + +type GetAnalysisUserTrendResponsedatasum struct { + AverageSessionTime interface{} `json:"average_session_time"` // 次均使用时长,平均每一次启动小程序的时间,等于总时长/总启动次数 + NewUserCount interface{} `json:"new_user_count"` // 新用户数,当日首次启动小程序的用户数 + NewUserRatio interface{} `json:"new_user_ratio"` // 新用户占比,新用户数占启动用户总数的比例 + OldUserCount interface{} `json:"old_user_count"` // 老用户数,当日启动用户中,以前也启动过小程序的用户 + OldUserRatio interface{} `json:"old_user_ratio"` // 老用户占比,当日老用户占总的启动用户的比例 + SessionCount interface{} `json:"session_count"` // 启动次数,启动小程序的总次数。"一次启动"是指用户打开小程序到主动退出(或超时退出)为止。 + SessionTimePerPerson interface{} `json:"session_time_per_person"` // 人均使用时长,平均每个用户使用应用程序的时间,等于总时长/总启动用户数 + UserCount interface{} `json:"user_count"` // 启动用户,启动过小程序的用户数(多次启动不重复计) +} + +type GetAnalysisUserTrendResponsedatadataListItem struct { + AverageSessionTime interface{} `json:"average_session_time"` // 次均使用时长,平均每一次启动小程序的时间,等于总时长/总启动次数 + Name interface{} `json:"name"` // + NewUserCount interface{} `json:"new_user_count"` // 新用户数,当日首次启动小程序的用户数 + NewUserRatio interface{} `json:"new_user_ratio"` // 新用户占比,新用户数占启动用户总数的比例 + OldUserCount interface{} `json:"old_user_count"` // 老用户数,当日启动用户中,以前也启动过小程序的用户 + OldUserRatio interface{} `json:"old_user_ratio"` // 老用户占比,当日老用户占总的启动用户的比例 + SessionCount interface{} `json:"session_count"` // 启动次数,启动小程序的总次数。"一次启动"是指用户打开小程序到主动退出(或超时退出)为止。 + SessionTimePerPerson interface{} `json:"session_time_per_person"` // 人均使用时长,平均每个用户使用应用程序的时间,等于总时长/总启动用户数 + UserCount interface{} `json:"user_count"` // 启动用户,启动过小程序的用户数(多次启动不重复计) +} + +type GetAnalysisUserTrendResponsedata struct { + DataList []GetAnalysisUserTrendResponsedatadataListItem `json:"data_list"` // 数据列表(指标内容) + Offset int64 `json:"offset"` // 数据偏移位置 + Sum GetAnalysisUserTrendResponsedatasum `json:"sum"` // 数据综合(指标内容) + TimeSpan string `json:"time_span"` // 时间范围 + Total int64 `json:"total"` // 数据量 +} + +type GetAnalysisUserTrendResponse struct { + Data GetAnalysisUserTrendResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetAnalysisUserTrend +func GetAnalysisUserTrend(params *GetAnalysisUserTrendRequest) (*GetAnalysisUserTrendResponsedata, error) { + var ( + err error + defaultRet *GetAnalysisUserTrendResponsedata + ) + respData := &GetAnalysisUserTrendResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/data/getanalysisusertrend") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("start_index", fmt.Sprintf("%v", params.StartIndex)) + client.AddPostParam("start_date", params.StartDate) + client.AddPostParam("end_date", params.EndDate) + client.AddPostParam("gran", params.Gran) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/analysis/getAnalysisVisitAttribute.go b/openapi/tp/analysis/getAnalysisVisitAttribute.go new file mode 100644 index 0000000..5300143 --- /dev/null +++ b/openapi/tp/analysis/getAnalysisVisitAttribute.go @@ -0,0 +1,89 @@ +package analysis + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetAnalysisVisitAttributeRequest 请求结构体 +type GetAnalysisVisitAttributeRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + StartDate string // 开始日期:20190410 + EndDate string // 结束日期:20190415 +} + +// 响应结构体 + +type GetAnalysisVisitAttributeResponsedatadataListItemageItem struct { + AttributeID interface{} `json:"attribute_id"` // + CountRatio interface{} `json:"count_ratio"` // + Name interface{} `json:"name"` // +} + +type GetAnalysisVisitAttributeResponsedatadataListItemsexItem struct { + AttributeID interface{} `json:"attribute_id"` // + CountRatio interface{} `json:"count_ratio"` // + Name interface{} `json:"name"` // +} + +type GetAnalysisVisitAttributeResponsedatadataListIteminterestItem struct { + AttributeID interface{} `json:"attribute_id"` // + CountRatio interface{} `json:"count_ratio"` // + Name interface{} `json:"name"` // +} + +type GetAnalysisVisitAttributeResponsedatadataListItem struct { + Age []GetAnalysisVisitAttributeResponsedatadataListItemageItem `json:"age"` // 年龄分布 + Interest []GetAnalysisVisitAttributeResponsedatadataListIteminterestItem `json:"interest"` // 兴趣分布 + Sex []GetAnalysisVisitAttributeResponsedatadataListItemsexItem `json:"sex"` // 年龄分布 +} + +type GetAnalysisVisitAttributeResponsedata struct { + DataList []GetAnalysisVisitAttributeResponsedatadataListItem `json:"data_list"` // +} + +type GetAnalysisVisitAttributeResponse struct { + Data GetAnalysisVisitAttributeResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetAnalysisVisitAttribute +func GetAnalysisVisitAttribute(params *GetAnalysisVisitAttributeRequest) (*GetAnalysisVisitAttributeResponsedata, error) { + var ( + err error + defaultRet *GetAnalysisVisitAttributeResponsedata + ) + respData := &GetAnalysisVisitAttributeResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/data/getanalysisvisitattribute") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("start_date", params.StartDate) + client.AddPostParam("end_date", params.EndDate) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/analysis/getAnalysisVisitCharacter.go b/openapi/tp/analysis/getAnalysisVisitCharacter.go new file mode 100644 index 0000000..8033b08 --- /dev/null +++ b/openapi/tp/analysis/getAnalysisVisitCharacter.go @@ -0,0 +1,82 @@ +package analysis + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetAnalysisVisitCharacterRequest 请求结构体 +type GetAnalysisVisitCharacterRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + CharacterType string // 习惯分类:depth/time/interval/frequency + StartIndex int64 // 数据偏移位置,接口默认返回 20 条数据,可使用该偏移量进行翻页查看 + StartDate string // 开始日期:20190410 + EndDate string // 结束日期:20190415 +} + +// 响应结构体 + +type GetAnalysisVisitCharacterResponsedatasum struct { + SessionCount interface{} `json:"session_count"` // 启动用户数,启动过小程序的用户(多次启动不重复计) + SessionCountRatio interface{} `json:"session_count_ratio"` // 启动用户数量比例,当前类型启动过小程序的用户在所有类型启动过小程序用户的比率。 + UserCount interface{} `json:"user_count"` // 启动用户数 (character_type为frequency返回的指标),启动过小程序的用户(多次启动不重复计) + UserCountRatio interface{} `json:"user_count_ratio"` // 启动用户分布(character_type为frequency返回的指标),当前类型启动过小程序的用户在所有类型启动过小程序用户的比率。 +} + +type GetAnalysisVisitCharacterResponsedata struct { + DataList []map[string]interface{} `json:"data_list"` // 数据列表(指标内容) + Offset int64 `json:"offset"` // 数据偏移位置 + Sum GetAnalysisVisitCharacterResponsedatasum `json:"sum"` // 数据综合(指标内容) + TimeSpan string `json:"time_span"` // 时间范围 + Total int64 `json:"total"` // 数据量 +} + +type GetAnalysisVisitCharacterResponse struct { + Data GetAnalysisVisitCharacterResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetAnalysisVisitCharacter +func GetAnalysisVisitCharacter(params *GetAnalysisVisitCharacterRequest) (*GetAnalysisVisitCharacterResponsedata, error) { + var ( + err error + defaultRet *GetAnalysisVisitCharacterResponsedata + ) + respData := &GetAnalysisVisitCharacterResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/data/getanalysisvisitcharacter") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("character_type", params.CharacterType) + client.AddPostParam("start_index", fmt.Sprintf("%v", params.StartIndex)) + client.AddPostParam("start_date", params.StartDate) + client.AddPostParam("end_date", params.EndDate) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/analysis/getAnalysisVisitPage.go b/openapi/tp/analysis/getAnalysisVisitPage.go new file mode 100644 index 0000000..190fc70 --- /dev/null +++ b/openapi/tp/analysis/getAnalysisVisitPage.go @@ -0,0 +1,98 @@ +package analysis + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetAnalysisVisitPageRequest 请求结构体 +type GetAnalysisVisitPageRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + StartIndex int64 // 数据偏移位置,接口默认返回 20 条数据,可使用该偏移量进行翻页查看 + StartDate string // 开始日期:20190410 + EndDate string // 结束日期:20190415 +} + +// 响应结构体 + +type GetAnalysisVisitPageResponsedatasum struct { + AverageStayTime interface{} `json:"average_stay_time"` // 次均访问时长,用户访问当前页面的次均访问时间 + BounceRatio interface{} `json:"bounce_ratio"` // 退出率,用户从当前页面离开小程序的比例 + EntryCount interface{} `json:"entry_count"` // 入口页次数,该页面作为启动小程序时第一个访问的页面的启动次数 + ExitCount interface{} `json:"exit_count"` // 退出页次数,该页面作为关闭小程序时最后一个访问的页面的启动次数 + PvCount interface{} `json:"pv_count"` // 页面访问次数,页面被访问的次数,多次跳转重复访问也会被计入 + PvRatio interface{} `json:"pv_ratio"` // 访问次数占比,当前页面访问次数占全部页面访问次数的比例 + PvUserCount interface{} `json:"pv_user_count"` // 访问用户数,访问当前页面的总用户数 + StayTimeRatio interface{} `json:"stay_time_ratio"` // 访问时长占比,用户访问当前页面的访问时长的总和占用户在全部页面的访问时长总和的比例 +} + +type GetAnalysisVisitPageResponsedatadataListItem struct { + AverageStayTime interface{} `json:"average_stay_time"` // 次均访问时长,用户访问当前页面的次均访问时间 + BounceRatio interface{} `json:"bounce_ratio"` // 退出率,用户从当前页面离开小程序的比例 + EntryCount interface{} `json:"entry_count"` // 入口页次数,该页面作为启动小程序时第一个访问的页面的启动次数 + ExitCount interface{} `json:"exit_count"` // 退出页次数,该页面作为关闭小程序时最后一个访问的页面的启动次数 + PageAlias interface{} `json:"pageAlias"` // + PageID interface{} `json:"pageId"` // + PageName interface{} `json:"pageName"` // + PvCount interface{} `json:"pv_count"` // 页面访问次数,页面被访问的次数,多次跳转重复访问也会被计入 + PvRatio interface{} `json:"pv_ratio"` // 访问次数占比,当前页面访问次数占全部页面访问次数的比例 + PvUserCount interface{} `json:"pv_user_count"` // 访问用户数,访问当前页面的总用户数 + StayTimeRatio interface{} `json:"stay_time_ratio"` // 访问时长占比,用户访问当前页面的访问时长的总和占用户在全部页面的访问时长总和的比例 +} + +type GetAnalysisVisitPageResponsedata struct { + DataList []GetAnalysisVisitPageResponsedatadataListItem `json:"data_list"` // 数据列表(指标内容) + Offset int64 `json:"offset"` // 数据偏移位置 + Sum GetAnalysisVisitPageResponsedatasum `json:"sum"` // 数据综合(指标内容) + TimeSpan string `json:"time_span"` // 时间范围 + Total int64 `json:"total"` // 数据量 +} + +type GetAnalysisVisitPageResponse struct { + Data GetAnalysisVisitPageResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetAnalysisVisitPage +func GetAnalysisVisitPage(params *GetAnalysisVisitPageRequest) (*GetAnalysisVisitPageResponsedata, error) { + var ( + err error + defaultRet *GetAnalysisVisitPageResponsedata + ) + respData := &GetAnalysisVisitPageResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/data/getanalysisvisitpage") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("start_index", fmt.Sprintf("%v", params.StartIndex)) + client.AddPostParam("start_date", params.StartDate) + client.AddPostParam("end_date", params.EndDate) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/analysis/getData.go b/openapi/tp/analysis/getData.go new file mode 100644 index 0000000..efd4148 --- /dev/null +++ b/openapi/tp/analysis/getData.go @@ -0,0 +1,97 @@ +package analysis + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetDataRequest 请求结构体 +type GetDataRequest struct { + AccessToken string // 第三方平台的接口调用凭据 + Scene interface{} // 小程序来源ID (场景值) 。不传则查询所有场景,场景值参数参考:百度APP 场景值 + Metrics string // 指标以逗号分隔 + StartDate string // 起始时间戳,格式如 20190321 + EndDate string // 结束时间戳,格式如 20190325 + StartIndex interface{} // 偏移量,默认为0(分页操作从第几条开始展示) + MaxResults interface{} // 页面大小,默认值20(分页操作查询条数) +} + +// 响应结构体 + +type GetDataResponsedataresultItem struct { + Date string `json:"date"` // 日期 + TpActivityDegree string `json:"tp_activity_degree "` // 小程序活跃度 + TpDayAppCount string `json:"tp_day_app_count "` // 当日小程序数量 + TpDayBackFlowCount string `json:"tp_day_back_flow_count"` // 回流次数 + TpDayNewUserCount string `json:"tp_day_new_user_count"` // 当日启动新用户数 + TpDayPageCount string `json:"tp_day_page_count"` // 当日页面访问次数 + TpDaySessionCount string `json:"tp_day_session_count"` // 当日启动次数 + TpDayShareCount string `json:"tp_day_share_count"` // 分享次数 + TpDayUserCount string `json:"tp_day_user_count "` // 当日启动用户数 + TpMonthAppCount string `json:"tp_month_app_count"` // 近30日小程序数量 + TpMonthNewUserCount string `json:"tp_month_new_user_count"` // 近30日启动新用户数 + TpMonthSessionCount string `json:"tp_month_session_count"` // 近30日启动次数 + TpMonthUserCount string `json:"tp_month_user_count "` // 近30日启动用户数 + TpSessionTimePerDay string `json:"tp_session_time_per_day"` // 当日次均使用时长 + TpSessionTimePerPerson string `json:"tp_session_time_per_person"` // 当日人均使用时长 + TpWeekAppCount string `json:"tp_week_app_count"` // 近7日小程序数量 + TpWeekNewUserCount string `json:"tp_week_new_user_count"` // 近7日启动新用户数 + TpWeekSessionCount string `json:"tp_week_session_count "` // 近7日启动次数 + TpWeekUserCount string `json:"tp_week_user_count "` // 近7日启动用户数 +} + +type GetDataResponsedata struct { + Offset int64 `json:"offset"` // 数据偏移位置 + Result []GetDataResponsedataresultItem `json:"result"` // + Total int64 `json:"total"` // 数据量 +} + +type GetDataResponse struct { + Data GetDataResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetData +func GetData(params *GetDataRequest) (*GetDataResponsedata, error) { + var ( + err error + defaultRet *GetDataResponsedata + ) + respData := &GetDataResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/data/gettpdata") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("scene", params.Scene) + client.AddGetParam("metrics", params.Metrics) + client.AddGetParam("start_date", params.StartDate) + client.AddGetParam("end_date", params.EndDate) + client.AddGetParam("start_index", params.StartIndex) + client.AddGetParam("max_results", params.MaxResults) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/app/checkAppNickName.go b/openapi/tp/app/checkAppNickName.go new file mode 100644 index 0000000..883288e --- /dev/null +++ b/openapi/tp/app/checkAppNickName.go @@ -0,0 +1,68 @@ +package app + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// CheckAppNickNameRequest 请求结构体 +type CheckAppNickNameRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + AppName string // 小程序名字 + QualMaterials interface{} // 如果小程序名称包含品牌词,需要上传品牌资质证明。 +} + +// 响应结构体 + +type CheckAppNickNameResponsedata struct { + CheckResult int64 `json:"checkResult"` // 检测结果码 + CheckWords []string `json:"checkWords"` // 命中关键词 + OptionalFields []int64 `json:"optionalFields"` // 当前名称可上传的资质字段(qual_materials参数) + RequiredFields []int64 `json:"requiredFields"` // 当前名称必须要上传的资质字段(qual_materials参数) +} + +type CheckAppNickNameResponse struct { + Data CheckAppNickNameResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// CheckAppNickName +func CheckAppNickName(params *CheckAppNickNameRequest) (*CheckAppNickNameResponsedata, error) { + var ( + err error + defaultRet *CheckAppNickNameResponsedata + ) + respData := &CheckAppNickNameResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/app/checknamewithqual") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("app_name", params.AppName) + client.AddGetParam("qual_materials", params.QualMaterials) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/app/controlAppFlow.go b/openapi/tp/app/controlAppFlow.go new file mode 100644 index 0000000..4c734c9 --- /dev/null +++ b/openapi/tp/app/controlAppFlow.go @@ -0,0 +1,66 @@ +package app + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// ControlAppFlowRequest 请求结构体 +type ControlAppFlowRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + Type int64 // 流量下线开关状态,1:开启流量,2:下线流量 +} + +// 响应结构体 + +type ControlAppFlowResponse struct { + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 + Data ControlAppFlowResponsedata +} + +type ControlAppFlowResponsedata struct { + Errno int64 `json:"errno"` // 状态码 + Msg string `json:"msg"` // 状态描述 +} + +// ControlAppFlow +func ControlAppFlow(params *ControlAppFlowRequest) (*ControlAppFlowResponsedata, error) { + var ( + err error + defaultRet *ControlAppFlowResponsedata + ) + respData := &ControlAppFlowResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/appflow/control") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("type", fmt.Sprintf("%v", params.Type)) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/app/getAppCategoryList.go b/openapi/tp/app/getAppCategoryList.go new file mode 100644 index 0000000..4176313 --- /dev/null +++ b/openapi/tp/app/getAppCategoryList.go @@ -0,0 +1,74 @@ +package app + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetAppCategoryListRequest 请求结构体 +type GetAppCategoryListRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + CategoryType string // 1.个人类型类目 2.企业类型类目 为2时可以查出全部类目 +} + +// 响应结构体 + +type GetAppCategoryListResponsedataItemsubItems struct { + CategoryName string `json:"category_name"` // 子类目名称 + CategoryQuali string `json:"category_quali"` // 类目 资质要求 + CategoryType int64 `json:"category_type"` // 子类目类型 规则同父类目类型 + ID int64 `json:"id"` // 子类目 Id + NeedQuali int64 `json:"need_quali"` // 类目是否需资质 1:需要 0:不需要 +} + +type GetAppCategoryListResponsedataItem struct { + CategoryName string `json:"category_name"` // 父类目名称 + CategoryType int64 `json:"category_type"` // 父类目类型 1.个人服务 2.企业服务 主体为企业类型所有类目均可设置,主体为个人类型时只能设置个人服务 + ID int64 `json:"id"` // 类目 Id + SubItems map[string]GetAppCategoryListResponsedataItemsubItems `json:"sub_items"` // 子类目 key为类目id value为类目详情 +} + +type GetAppCategoryListResponse struct { + Data []GetAppCategoryListResponsedataItem `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetAppCategoryList +func GetAppCategoryList(params *GetAppCategoryListRequest) ([]GetAppCategoryListResponsedataItem, error) { + var ( + err error + defaultRet []GetAppCategoryListResponsedataItem + ) + respData := &GetAppCategoryListResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/app/category/list") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("category_type", params.CategoryType) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/app/getAppQRCode.go b/openapi/tp/app/getAppQRCode.go new file mode 100644 index 0000000..b22139f --- /dev/null +++ b/openapi/tp/app/getAppQRCode.go @@ -0,0 +1,67 @@ +package app + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetAppQRCodeRequest 请求结构体 +type GetAppQRCodeRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + Path interface{} // 自定义打开路径 + PackageID interface{} // 可指定代码包id(只支持审核、开发、线上版本),不传默认线上版本 + Width interface{} // 默认 200px ,最大 1280px ,最小 200px +} + +// 响应结构体 + +type GetAppQRCodeResponse struct { + ContentType string + Data GetAppQRCodeResponsedata + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +type GetAppQRCodeResponsedata []byte + +// GetAppQRCode +func GetAppQRCode(params *GetAppQRCodeRequest) (*GetAppQRCodeResponse, error) { + var ( + err error + defaultRet *GetAppQRCodeResponse + ) + respData := &GetAppQRCodeResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypePNG). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/app/qrcode") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("path", params.Path) + client.AddGetParam("package_id", params.PackageID) + client.AddGetParam("width", params.Width) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(&respData.Data) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + respData.ContentType = utils.ConverterTypePNG + return respData, nil +} diff --git a/openapi/tp/app/getAppSupportVer.go b/openapi/tp/app/getAppSupportVer.go new file mode 100644 index 0000000..e3026b9 --- /dev/null +++ b/openapi/tp/app/getAppSupportVer.go @@ -0,0 +1,66 @@ +package app + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetAppSupportVerRequest 请求结构体 +type GetAppSupportVerRequest struct { + AccessToken string // 授权小程序的接口调用凭据 +} + +// 响应结构体 + +type GetAppSupportVerResponsedataitemsItem struct { + Version string `json:"version"` // +} + +type GetAppSupportVerResponsedata struct { + Items []GetAppSupportVerResponsedataitemsItem `json:"items"` // 版本号列表 + NowVersion string `json:"now_version"` // 当前版本 +} + +type GetAppSupportVerResponse struct { + Data GetAppSupportVerResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetAppSupportVer +func GetAppSupportVer(params *GetAppSupportVerRequest) (*GetAppSupportVerResponsedata, error) { + var ( + err error + defaultRet *GetAppSupportVerResponsedata + ) + respData := &GetAppSupportVerResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/app/getsupportversion") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/app/pauseApp.go b/openapi/tp/app/pauseApp.go new file mode 100644 index 0000000..cd6581a --- /dev/null +++ b/openapi/tp/app/pauseApp.go @@ -0,0 +1,62 @@ +package app + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// PauseAppRequest 请求结构体 +type PauseAppRequest struct { + AccessToken string // 授权小程序的接口调用凭据 +} + +// 响应结构体 + +type PauseAppResponse struct { + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 + Data PauseAppResponsedata +} + +type PauseAppResponsedata struct { + Errno int64 `json:"errno"` // 状态码 + Msg string `json:"msg"` // 状态描述 +} + +// PauseApp +func PauseApp(params *PauseAppRequest) (*PauseAppResponsedata, error) { + var ( + err error + defaultRet *PauseAppResponsedata + ) + respData := &PauseAppResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/app/pause") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/app/resumeApp.go b/openapi/tp/app/resumeApp.go new file mode 100644 index 0000000..1a666c0 --- /dev/null +++ b/openapi/tp/app/resumeApp.go @@ -0,0 +1,62 @@ +package app + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// ResumeAppRequest 请求结构体 +type ResumeAppRequest struct { + AccessToken string // 授权小程序的接口调用凭据 +} + +// 响应结构体 + +type ResumeAppResponse struct { + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 + Data ResumeAppResponsedata +} + +type ResumeAppResponsedata struct { + Errno int64 `json:"errno"` // 状态码 + Msg string `json:"msg"` // 状态描述 +} + +// ResumeApp +func ResumeApp(params *ResumeAppRequest) (*ResumeAppResponsedata, error) { + var ( + err error + defaultRet *ResumeAppResponsedata + ) + respData := &ResumeAppResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/app/resume") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/app/setAppCategory.go b/openapi/tp/app/setAppCategory.go new file mode 100644 index 0000000..bd72e2f --- /dev/null +++ b/openapi/tp/app/setAppCategory.go @@ -0,0 +1,63 @@ +package app + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// SetAppCategoryRequest 请求结构体 +type SetAppCategoryRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + Categorys string // 类目类别 +} + +// 响应结构体 + +type SetAppCategoryResponsedata struct { + ExamineID int64 `json:"examine_id"` // +} + +type SetAppCategoryResponse struct { + Data SetAppCategoryResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// SetAppCategory +func SetAppCategory(params *SetAppCategoryRequest) (*SetAppCategoryResponsedata, error) { + var ( + err error + defaultRet *SetAppCategoryResponsedata + ) + respData := &SetAppCategoryResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/app/category/update") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("categorys", params.Categorys) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/app/setAppDomain.go b/openapi/tp/app/setAppDomain.go new file mode 100644 index 0000000..214796e --- /dev/null +++ b/openapi/tp/app/setAppDomain.go @@ -0,0 +1,74 @@ +package app + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// SetAppDomainRequest 请求结构体 +type SetAppDomainRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + Action interface{} // add添加, delete删除, set覆盖, get获取。当参数是get时不需要填四个域名字段,如果没有action字段参数,则默认将开放平台第三方登记的小程序业务域名全部添加到授权的小程序中。 + DownloadDomain interface{} // download合法域名,多个时用,分割,当action参数是get时不需要此字段 + RequestDomain interface{} // request合法域名,多个时用,分割,当action参数是get时不需要此字段。 + SocketDomain interface{} // socket合法域名,多个时用,分割,当action参数是get时不需要此字段。 + UploadDomain interface{} // upload合法域名,多个时用,分割,当action参数是get时不需要此字段。 +} + +// 响应结构体 + +type SetAppDomainResponsedata struct { + DownloadDomain string `json:"download_domain"` // download合法域名 + RequestDomain string `json:"request_domain"` // request合法域名 + SocketDomain string `json:"socket_domain"` // socket合法域名 + UploadDomain string `json:"upload_domain"` // upload合法域名 +} + +type SetAppDomainResponse struct { + Data SetAppDomainResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// SetAppDomain +func SetAppDomain(params *SetAppDomainRequest) (*SetAppDomainResponsedata, error) { + var ( + err error + defaultRet *SetAppDomainResponsedata + ) + respData := &SetAppDomainResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/app/modifydomain") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("action", params.Action) + client.AddPostParam("download_domain", params.DownloadDomain) + client.AddPostParam("request_domain", params.RequestDomain) + client.AddPostParam("socket_domain", params.SocketDomain) + client.AddPostParam("upload_domain", params.UploadDomain) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/app/setAppImage.go b/openapi/tp/app/setAppImage.go new file mode 100644 index 0000000..6f1d0f4 --- /dev/null +++ b/openapi/tp/app/setAppImage.go @@ -0,0 +1,62 @@ +package app + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// SetAppImageRequest 请求结构体 +type SetAppImageRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + ImageURL string // 小程序icon地址,可以通过图片上传接口获取icon的url。 +} + +// 响应结构体 + +type SetAppImageResponsedata struct { +} + +type SetAppImageResponse struct { + Data SetAppImageResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// SetAppImage +func SetAppImage(params *SetAppImageRequest) (*SetAppImageResponsedata, error) { + var ( + err error + defaultRet *SetAppImageResponsedata + ) + respData := &SetAppImageResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/app/modifyheadimage") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("image_url", params.ImageURL) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/app/setAppNickName.go b/openapi/tp/app/setAppNickName.go new file mode 100644 index 0000000..eade568 --- /dev/null +++ b/openapi/tp/app/setAppNickName.go @@ -0,0 +1,65 @@ +package app + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// SetAppNickNameRequest 请求结构体 +type SetAppNickNameRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + NickName string // 小程序名字 + QualMaterials interface{} // 如果小程序名称包含品牌词,需要上传品牌资质证明。要求图片链接来自于图片上传接口返回的 url。 +} + +// 响应结构体 + +type SetAppNickNameResponsedataItem struct { + ExamineID int64 `json:"examine_id"` // +} + +type SetAppNickNameResponse struct { + Data []SetAppNickNameResponsedataItem `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// SetAppNickName +func SetAppNickName(params *SetAppNickNameRequest) ([]SetAppNickNameResponsedataItem, error) { + var ( + err error + defaultRet []SetAppNickNameResponsedataItem + ) + respData := &SetAppNickNameResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/app/setnicknamewithqual") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("nick_name", params.NickName) + client.AddPostParam("qual_materials", params.QualMaterials) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/app/setAppSignature.go b/openapi/tp/app/setAppSignature.go new file mode 100644 index 0000000..c9ff989 --- /dev/null +++ b/openapi/tp/app/setAppSignature.go @@ -0,0 +1,62 @@ +package app + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// SetAppSignatureRequest 请求结构体 +type SetAppSignatureRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + Signature string // 功能介绍(简介) 简介字数要求 10-56 个字符之间 (一个中文算两个字符) +} + +// 响应结构体 + +type SetAppSignatureResponsedata struct { +} + +type SetAppSignatureResponse struct { + Data SetAppSignatureResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// SetAppSignature +func SetAppSignature(params *SetAppSignatureRequest) (*SetAppSignatureResponsedata, error) { + var ( + err error + defaultRet *SetAppSignatureResponsedata + ) + respData := &SetAppSignatureResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/app/modifysignature") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("signature", params.Signature) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/app/setAppWebViewDomain.go b/openapi/tp/app/setAppWebViewDomain.go new file mode 100644 index 0000000..35aaf4e --- /dev/null +++ b/openapi/tp/app/setAppWebViewDomain.go @@ -0,0 +1,61 @@ +package app + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// SetAppWebViewDomainRequest 请求结构体 +type SetAppWebViewDomainRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + Action interface{} // add 添加, delete 删除, set 覆盖, get 获取。当参数是 get 时不需要填四个域名字段,如果没有 action 字段参数,则默认将开放平台第三方登记的业务域名全部添加到授权的小程序中。 + WebViewDomain interface{} // 小程序业务域名,多个时用,分割,当 action 参数是 get 时不需要此字段 +} + +// 响应结构体 + +type SetAppWebViewDomainResponse struct { + Data string `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// SetAppWebViewDomain +func SetAppWebViewDomain(params *SetAppWebViewDomainRequest) (string, error) { + var ( + err error + defaultRet string + ) + respData := &SetAppWebViewDomainResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/app/modifywebviewdomain") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("action", params.Action) + client.AddPostParam("web_view_domain", params.WebViewDomain) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/authcert/getFaceAuth.go b/openapi/tp/authcert/getFaceAuth.go new file mode 100644 index 0000000..b8e2653 --- /dev/null +++ b/openapi/tp/authcert/getFaceAuth.go @@ -0,0 +1,63 @@ +package authcert + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetFaceAuthRequest 请求结构体 +type GetFaceAuthRequest struct { + AccessToken string // 授权小程序的接口调用凭据 +} + +// 响应结构体 + +type GetFaceAuthResponsedata struct { + LegalFaceStatus string `json:"legal_face_status"` // 认证任务状态(1:初始化;2:通过;4:拒绝;6:进行中) + Qrcode string `json:"qrcode"` // 二维码(base64编码图片) + Timeout string `json:"timeout"` // 过期时间 +} + +type GetFaceAuthResponse struct { + Data GetFaceAuthResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetFaceAuth +func GetFaceAuth(params *GetFaceAuthRequest) (*GetFaceAuthResponsedata, error) { + var ( + err error + defaultRet *GetFaceAuthResponsedata + ) + respData := &GetFaceAuthResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/auth/faceauthen") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/authcert/getPaymentCert.go b/openapi/tp/authcert/getPaymentCert.go new file mode 100644 index 0000000..139b9c4 --- /dev/null +++ b/openapi/tp/authcert/getPaymentCert.go @@ -0,0 +1,61 @@ +package authcert + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetPaymentCertRequest 请求结构体 +type GetPaymentCertRequest struct { + AccessToken string // 授权小程序的接口调用凭据 +} + +// 响应结构体 + +type GetPaymentCertResponsedata struct { + URL string `json:"url"` // 认证页面调起 url +} + +type GetPaymentCertResponse struct { + Data GetPaymentCertResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetPaymentCert +func GetPaymentCert(params *GetPaymentCertRequest) (*GetPaymentCertResponsedata, error) { + var ( + err error + defaultRet *GetPaymentCertResponsedata + ) + respData := &GetPaymentCertResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/auth/paymentCertification") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/authprocess/getAppInfo.go b/openapi/tp/authprocess/getAppInfo.go new file mode 100644 index 0000000..193c622 --- /dev/null +++ b/openapi/tp/authprocess/getAppInfo.go @@ -0,0 +1,136 @@ +package authprocess + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetAppInfoRequest 请求结构体 +type GetAppInfoRequest struct { + AccessToken string // 授权小程序的接口调用凭据 +} + +// 响应结构体 + +type GetAppInfoResponsedataauditInfo struct { + AuditAppDesc string `json:"audit_app_desc"` // 小程序介绍内容审核值 + AuditAppDescReason string `json:"audit_app_desc_reason"` // 小程序介绍内容失败原因 + AuditAppDescStatus int64 `json:"audit_app_desc_status"` // 小程序介绍内容审核状态 + AuditAppName string `json:"audit_app_name"` // 小程序名称审核值 + AuditAppNameReason string `json:"audit_app_name_reason"` // 小程序名称审核失败原因 + AuditAppNameStatus int64 `json:"audit_app_name_status"` // 小程序名称审核状态 1:审核中 3:审核失败 + AuditPhotoAddr string `json:"audit_photo_addr"` // 小程序头像审核值 + AuditPhotoAddrReason string `json:"audit_photo_addr_reason"` // 小程序头像审核失败原因 + AuditPhotoAddrStatus int64 `json:"audit_photo_addr_status"` // 小程序头像审核状态 +} + +type GetAppInfoResponsedataqualification struct { + AdStatus int64 `json:"ad_status"` // 真实性认证状态 1:通过 3:失败 + AdType int64 `json:"ad_type"` // 真实性认证类型 -1:其他类型验证 0:未做真实性认证 1:对公验证 2:活体验证 23:法人人脸验证 + Name string `json:"name"` // 主体名称 + Satus int64 `json:"satus"` // 主体审核状态 1:通过 2:审核中 3:审核失败 + Type int64 `json:"type"` // 主体类型 1:个人 2:企业 3: 政府 4:媒体 5:其他 个人暂不开放 +} + +type GetAppInfoResponsedatamodifyCount struct { + CategoryModifyQuota int64 `json:"category_modify_quota"` // 小程序类目总共的可修改次数 + CategoryModifyUsed int64 `json:"category_modify_used"` // 小程序类目已修改次数 + ImageModifyQuota int64 `json:"image_modify_quota"` // 小程序头像总共的可修改次数 + ImageModifyUsed int64 `json:"image_modify_used"` // 小程序头像已修改总次数 + NameModifyQuota int64 `json:"name_modify_quota"` // 小程序名称总共的可修改次数 + NameModifyUsed int64 `json:"name_modify_used"` // 小程序名称已修改次数 + SignatureModifyQuota int64 `json:"signature_modify_quota"` // 小程序简介总共的可修改次数 + SignatureModifyUsed int64 `json:"signature_modify_used"` // 小程序简介已修改次数 +} + +type GetAppInfoResponsedataappOfflineInfoItem struct { + IllegalFields string `json:"illegal_fields"` // 强制下线原因 appName:名称 photoAddr:图片 appDesc:简介 当有多个时用逗号(,)连接, offlineReason为1或3时才有 + OfflineReason int64 `json:"offline_reason"` // 强制下线类型 1:基本信息强制下线 2:小程序代码包强制下线 3:基本信息和小程序代码包强制下线 +} + +type GetAppInfoResponsedataauthInfoItem struct { + ScopeName string `json:"scope_name"` // 权限名称 + Type int64 `json:"type"` // 权限类型 ( 0:小程序纬度权限 1:账号纬度权限 ) +} + +type GetAppInfoResponsedatacategoryItemparent struct { + CategoryDesc string `json:"category_desc"` // 父类目描述 + CategoryID int64 `json:"category_id"` // 父类目 id + CategoryName string `json:"category_name"` // 父类目名称 +} + +type GetAppInfoResponsedatacategoryItem struct { + AuditStatus int64 `json:"audit_status"` // 类目审核状态 1:审核中 2:审核成功 3:审核失败 + CategoryDesc string `json:"category_desc"` // 类目描述 + CategoryID int64 `json:"category_id"` // 类目 id + CategoryName string `json:"category_name"` // 类目名称 + Parent GetAppInfoResponsedatacategoryItemparent `json:"parent"` // 父类目 + Reason string `json:"reason"` // 审核失败原因 +} + +type GetAppInfoResponsedataannualReviewInfo struct { + AnnualReviewOverdueTime int64 `json:"annual_review_overdue_time"` // 年审过期时间 + AnnualReviewStatus int64 `json:"annual_review_status"` // 年审状态 1:正常 2:待年审 3: 年审过期 +} + +type GetAppInfoResponsedata struct { + AnnualReviewInfo GetAppInfoResponsedataannualReviewInfo `json:"annual_review_info"` // 小程序年审相关信息 + AppDesc string `json:"app_desc"` // 小程序的介绍内容 + AppID int64 `json:"app_id"` // 小程序的 appid + AppKey string `json:"app_key"` // 小程序的 appkey + AppName string `json:"app_name"` // 小程序的名称 + AppOfflineInfo []GetAppInfoResponsedataappOfflineInfoItem `json:"app_offline_info"` // 小程序强制下线相关信息 + AuditInfo GetAppInfoResponsedataauditInfo `json:"audit_info"` // 基本信息审核状态 包括名称,图标,介绍内容的审核状态 只有审核中和审核失败会展示 + AuthInfo []GetAppInfoResponsedataauthInfoItem `json:"auth_info"` // 小程序权限集合信息 + Category []GetAppInfoResponsedatacategoryItem `json:"category"` // 小程序类目信息 + MinSwanVersion string `json:"min_swan_version"` // 开发者工具最低版本 + ModifyCount GetAppInfoResponsedatamodifyCount `json:"modify_count"` // 小程序基本信息修改次数信息 + PhotoAddr string `json:"photo_addr"` // 小程序图标 + Qualification GetAppInfoResponsedataqualification `json:"qualification"` // 小程序账号对应的主体信息 + Status int64 `json:"status"` // 小程序的状态 -1:代表封禁 1:代表正常 2:代表审核中 4:代表暂停服务 5:强制下线 6:限时整改 7:流量下线 + WebStatus int64 `json:"web_status"` // 小程序的web化开关状态 0:未开启 1:开启 2:关闭 +} + +type GetAppInfoResponse struct { + Data GetAppInfoResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetAppInfo +func GetAppInfo(params *GetAppInfoRequest) (*GetAppInfoResponsedata, error) { + var ( + err error + defaultRet *GetAppInfoResponsedata + ) + respData := &GetAppInfoResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/app/info") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/authprocess/getOAuthToken.go b/openapi/tp/authprocess/getOAuthToken.go new file mode 100644 index 0000000..7d79d4d --- /dev/null +++ b/openapi/tp/authprocess/getOAuthToken.go @@ -0,0 +1,73 @@ +package authprocess + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetOAuthTokenRequest 请求结构体 +type GetOAuthTokenRequest struct { + AccessToken string // 第三方平台的接口调用凭据 + Code string // 授权码 + GrantType string // 固定字符串:app_to_tp_authorization_code +} + +// 响应结构体 + +type GetOAuthTokenResponse struct { + AccessToken string `json:"access_token"` // 授权小程序的接口调用凭据 + Error string `json:"error"` // 错误码;关于错误码的详细信息请参考 https://developer.baidu.com/wiki/index.php?title=docs/oauth/error + ErrorDescription string `json:"error_description"` // 错误描述信息,用来帮助理解和解决发生的错误 + ExpiresIn int64 `json:"expires_in"` // Access Token的有效期,单位:秒,默认1小时 + RefreshToken string `json:"refresh_token"` // 接口调用凭据刷新令牌,有效期10年,使用一次后失效 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 + Data GetOAuthTokenResponsedata +} + +type GetOAuthTokenResponsedata struct { + AccessToken string `json:"access_token"` // 授权小程序的接口调用凭据 + Error string `json:"error"` // 错误码;关于错误码的详细信息请参考 https://developer.baidu.com/wiki/index.php?title=docs/oauth/error + ErrorDescription string `json:"error_description"` // 错误描述信息,用来帮助理解和解决发生的错误 + ExpiresIn int64 `json:"expires_in"` // Access Token的有效期,单位:秒,默认1小时 + RefreshToken string `json:"refresh_token"` // 接口调用凭据刷新令牌,有效期10年,使用一次后失效 +} + +// GetOAuthToken +func GetOAuthToken(params *GetOAuthTokenRequest) (*GetOAuthTokenResponsedata, error) { + var ( + err error + defaultRet *GetOAuthTokenResponsedata + ) + respData := &GetOAuthTokenResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/oauth/token") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("code", params.Code) + client.AddGetParam("grant_type", params.GrantType) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + err = client.Convert(&respData.Data) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 || respData.Error != "" { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + return &respData.Data, nil +} diff --git a/openapi/tp/authprocess/getPreAuthCode.go b/openapi/tp/authprocess/getPreAuthCode.go new file mode 100644 index 0000000..1959cbb --- /dev/null +++ b/openapi/tp/authprocess/getPreAuthCode.go @@ -0,0 +1,66 @@ +package authprocess + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetPreAuthCodeRequest 请求结构体 +type GetPreAuthCodeRequest struct { + AccessToken string // 第三方平台的接口调用凭据 +} + +// 响应结构体 + +type GetPreAuthCodeResponsedata struct { + ExpiresIn int64 `json:"expires_in"` // 凭证有效时间,单位:秒,默认20分钟 + PreAuthCode string `json:"pre_auth_code"` // 预授权码 +} + +type GetPreAuthCodeResponse struct { + Data GetPreAuthCodeResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetPreAuthCode +func GetPreAuthCode(params *GetPreAuthCodeRequest) (*GetPreAuthCodeResponsedata, error) { + var ( + err error + defaultRet *GetPreAuthCodeResponsedata + ) + respData := &GetPreAuthCodeResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/tp/createpreauthcode") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + err = client.Convert(&respData.Data) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/authprocess/getTpToken.go b/openapi/tp/authprocess/getTpToken.go new file mode 100644 index 0000000..c12882d --- /dev/null +++ b/openapi/tp/authprocess/getTpToken.go @@ -0,0 +1,65 @@ +package authprocess + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetTpTokenRequest 请求结构体 +type GetTpTokenRequest struct { + ClientID string // 第三方平台Key + Ticket string // 第三方平台服务器推送的 ticket,此 ticket 会定时推送,具体请见“1、 推送ticket协议”。 +} + +// 响应结构体 + +type GetTpTokenResponsedata struct { + AccessToken string `json:"access_token"` // 第三方平台的接口调用凭据 + ExpiresIn int64 `json:"expires_in"` // 凭证有效时间(单位:秒) + Scope string `json:"scope"` // 拥有的权限说明 +} + +type GetTpTokenResponse struct { + Data GetTpTokenResponsedata `json:"data"` // + Errno int64 `json:"errno"` // 错误码;关于错误码的详细信息请参考 https://developer.baidu.com/wiki/index.php?title=docs/oauth/error 。 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetTpToken +func GetTpToken(params *GetTpTokenRequest) (*GetTpTokenResponsedata, error) { + var ( + err error + defaultRet *GetTpTokenResponsedata + ) + respData := &GetTpTokenResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/public/2.0/smartapp/auth/tp/token") + client.AddGetParam("client_id", params.ClientID) + client.AddGetParam("ticket", params.Ticket) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/authprocess/refreshOAuthToken.go b/openapi/tp/authprocess/refreshOAuthToken.go new file mode 100644 index 0000000..5c0a616 --- /dev/null +++ b/openapi/tp/authprocess/refreshOAuthToken.go @@ -0,0 +1,73 @@ +package authprocess + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// RefreshOAuthTokenRequest 请求结构体 +type RefreshOAuthTokenRequest struct { + AccessToken string // 第三方平台的接口调用凭据 + RefreshToken string // 接口调用凭据刷新令牌,有效期10年,使用后失效 + GrantType string // 固定字符串: app_to_tp_refresh_token +} + +// 响应结构体 + +type RefreshOAuthTokenResponse struct { + AccessToken string `json:"access_token"` // 授权小程序的接口调用凭据 + Error string `json:"error"` // 错误码;关于错误码的详细信息请参考 https://developer.baidu.com/wiki/index.php?title=docs/oauth/error + ErrorDescription string `json:"error_description"` // 错误描述信息,用来帮助理解和解决发生的错误 + ExpiresIn int64 `json:"expires_in"` // 小程序的Access Token的有效期,单位:秒,默认1小时 + RefreshToken string `json:"refresh_token"` // 接口调用凭据刷新令牌 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 + Data RefreshOAuthTokenResponsedata +} + +type RefreshOAuthTokenResponsedata struct { + AccessToken string `json:"access_token"` // 授权小程序的接口调用凭据 + Error string `json:"error"` // 错误码;关于错误码的详细信息请参考 https://developer.baidu.com/wiki/index.php?title=docs/oauth/error + ErrorDescription string `json:"error_description"` // 错误描述信息,用来帮助理解和解决发生的错误 + ExpiresIn int64 `json:"expires_in"` // 小程序的Access Token的有效期,单位:秒,默认1小时 + RefreshToken string `json:"refresh_token"` // 接口调用凭据刷新令牌 +} + +// RefreshOAuthToken +func RefreshOAuthToken(params *RefreshOAuthTokenRequest) (*RefreshOAuthTokenResponsedata, error) { + var ( + err error + defaultRet *RefreshOAuthTokenResponsedata + ) + respData := &RefreshOAuthTokenResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/oauth/token") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("refresh_token", params.RefreshToken) + client.AddGetParam("grant_type", params.GrantType) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + err = client.Convert(&respData.Data) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 || respData.Error != "" { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + return &respData.Data, nil +} diff --git a/openapi/tp/authprocess/retrieveAuthCode.go b/openapi/tp/authprocess/retrieveAuthCode.go new file mode 100644 index 0000000..ce87121 --- /dev/null +++ b/openapi/tp/authprocess/retrieveAuthCode.go @@ -0,0 +1,66 @@ +package authprocess + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// RetrieveAuthCodeRequest 请求结构体 +type RetrieveAuthCodeRequest struct { + AccessToken string // 第三方平台的接口调用凭据 + AppID int64 // 小程序 app_id +} + +// 响应结构体 + +type RetrieveAuthCodeResponsedata struct { + AuthorizationCode string `json:"authorization_code"` // 授权码 + ExpiresIn int64 `json:"expires_in"` // 授权码有效时间 +} + +type RetrieveAuthCodeResponse struct { + Data RetrieveAuthCodeResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// RetrieveAuthCode +func RetrieveAuthCode(params *RetrieveAuthCodeRequest) (*RetrieveAuthCodeResponsedata, error) { + var ( + err error + defaultRet *RetrieveAuthCodeResponsedata + ) + respData := &RetrieveAuthCodeResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/auth/retrieve/authorizationcode") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("app_id", fmt.Sprintf("%v", params.AppID)) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/customermsg/sendCustomerMessage.go b/openapi/tp/customermsg/sendCustomerMessage.go new file mode 100644 index 0000000..8cf4999 --- /dev/null +++ b/openapi/tp/customermsg/sendCustomerMessage.go @@ -0,0 +1,74 @@ +package customermsg + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// SendCustomerMessageRequest 请求结构体 +type SendCustomerMessageRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + UserType int64 // 1:游客登录 2:百度账号登录 + OpenID string // 用户的 OpenID + MsgType string // 消息类型 text:文本格式 image:图片链接 + Content string // 文本消息内容,msg_type ="text" 时必填 + PicURL string // 图片消息,msg_type ="image" 时必填 +} + +// 响应结构体 + +type SendCustomerMessageResponse struct { + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 + Data SendCustomerMessageResponsedata +} + +type SendCustomerMessageResponsedata struct { + Errno int64 `json:"errno"` // 状态码 + Msg string `json:"msg"` // 状态描述 +} + +// SendCustomerMessage +func SendCustomerMessage(params *SendCustomerMessageRequest) (*SendCustomerMessageResponsedata, error) { + var ( + err error + defaultRet *SendCustomerMessageResponsedata + ) + respData := &SendCustomerMessageResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/message/custom/sendbytp") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("user_type", fmt.Sprintf("%v", params.UserType)) + client.AddPostParam("open_id", params.OpenID) + client.AddPostParam("msg_type", params.MsgType) + client.AddPostParam("content", params.Content) + client.AddPostParam("pic_url", params.PicURL) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/domain/downloadDomainCheckFile.go b/openapi/tp/domain/downloadDomainCheckFile.go new file mode 100644 index 0000000..0d27701 --- /dev/null +++ b/openapi/tp/domain/downloadDomainCheckFile.go @@ -0,0 +1,56 @@ +package domain + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// DownloadDomainCheckFileRequest 请求结构体 +type DownloadDomainCheckFileRequest struct { + AccessToken string // 第三方平台的接口调用凭据 +} + +// 响应结构体 + +type DownloadDomainCheckFileResponse struct { + ContentType string + Data DownloadDomainCheckFileResponsedata + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +type DownloadDomainCheckFileResponsedata []byte + +// DownloadDomainCheckFile +func DownloadDomainCheckFile(params *DownloadDomainCheckFileRequest) (*DownloadDomainCheckFileResponse, error) { + var ( + err error + defaultRet *DownloadDomainCheckFileResponse + ) + respData := &DownloadDomainCheckFileResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeStream). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/tp/download/domaincer") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(&respData.Data) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + respData.ContentType = utils.ConverterTypeStream + return respData, nil +} diff --git a/openapi/tp/domain/modifyBusinessDomain.go b/openapi/tp/domain/modifyBusinessDomain.go new file mode 100644 index 0000000..bad9d4d --- /dev/null +++ b/openapi/tp/domain/modifyBusinessDomain.go @@ -0,0 +1,61 @@ +package domain + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// ModifyBusinessDomainRequest 请求结构体 +type ModifyBusinessDomainRequest struct { + AccessToken string // 第三方平台的接口调用凭据 + Action interface{} // add添加, delete删除, set覆盖, get获取。当参数是get时不需要填四个域名字段,如果没有action字段参数,则默认将开放平台第三方登记的小程序业务域名全部添加到授权的小程序中。 + WebViewDomain interface{} // 小程序业务域名,多个时用,分割,当action参数是get时不需要此字段 +} + +// 响应结构体 + +type ModifyBusinessDomainResponse struct { + Data []string `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// ModifyBusinessDomain +func ModifyBusinessDomain(params *ModifyBusinessDomainRequest) ([]string, error) { + var ( + err error + defaultRet []string + ) + respData := &ModifyBusinessDomainResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/tp/modifywebviewdomain") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("action", params.Action) + client.AddPostParam("web_view_domain", params.WebViewDomain) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/domain/modifyServerDomain.go b/openapi/tp/domain/modifyServerDomain.go new file mode 100644 index 0000000..c4bd577 --- /dev/null +++ b/openapi/tp/domain/modifyServerDomain.go @@ -0,0 +1,74 @@ +package domain + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// ModifyServerDomainRequest 请求结构体 +type ModifyServerDomainRequest struct { + AccessToken string // 第三方平台的接口调用凭据 + Action string // add添加, delete删除, set覆盖, get获取。当参数是get时不需要填四个域名字段,如果没有action字段参数,则默认将开放平台第三方登记的小程序业务域名全部添加到授权的小程序中。 + DownloadDomain interface{} // download合法域名,多个时用,分割,当action参数是get时不需要此字段 + RequestDomain interface{} // request合法域名,多个时用,分割,当action参数是get时不需要此字段。 + SocketDomain interface{} // socket合法域名,多个时用,分割,当action参数是get时不需要此字段。 + UploadDomain interface{} // upload合法域名,多个时用,分割,当action参数是get时不需要此字段。 +} + +// 响应结构体 + +type ModifyServerDomainResponsedata struct { + DownloadDomain []string `json:"download_domain"` // download合法域名 + RequestDomain []string `json:"request_domain"` // request合法域名 + SocketDomain []string `json:"socket_domain"` // socket合法域名 + UploadDomain []string `json:"upload_domain"` // upload合法域名 +} + +type ModifyServerDomainResponse struct { + Data ModifyServerDomainResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// ModifyServerDomain +func ModifyServerDomain(params *ModifyServerDomainRequest) (*ModifyServerDomainResponsedata, error) { + var ( + err error + defaultRet *ModifyServerDomainResponsedata + ) + respData := &ModifyServerDomainResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/tp/modifydomain") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("action", params.Action) + client.AddPostParam("download_domain", params.DownloadDomain) + client.AddPostParam("request_domain", params.RequestDomain) + client.AddPostParam("socket_domain", params.SocketDomain) + client.AddPostParam("upload_domain", params.UploadDomain) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/feed/accessResourceQuery.go b/openapi/tp/feed/accessResourceQuery.go new file mode 100644 index 0000000..7f2ca53 --- /dev/null +++ b/openapi/tp/feed/accessResourceQuery.go @@ -0,0 +1,88 @@ +package feed + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// AccessResourceQueryRequest 请求结构体 +type AccessResourceQueryRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + Begin interface{} // 开始时间 (默认值前一天0点) + End interface{} // 结束时间 (默认值今天0点) + ImageType interface{} // 图片类型(1:封面图片 2:问答用户头像 3:动态图片 4:feed物料图片) + PageNo interface{} // 页数(分页参数,第几页,默认值(1) + PageSize interface{} // 单页展示数据量(分页参数,默认值(10) + Status interface{} // 状态(0: 全部 1: 审核中 2: 审核失败 3: 投放中 4: 已删除),默认值为0 + Title interface{} // 标题 +} + +// 响应结构体 + +type AccessResourceQueryResponsedatalistItem struct { + AppID int64 `json:"app_id"` // 小程序id + AuditTime string `json:"audit_time"` // 审核时间 + CreateTime string `json:"create_time"` // 提交时间 + Rid string `json:"rid"` // 物料id + Source string `json:"source"` // 物料来源 + Status string `json:"status"` // 状态 + Title string `json:"title"` // 标题 +} + +type AccessResourceQueryResponsedata struct { + Count int64 `json:"count"` // 数据总量 + List []AccessResourceQueryResponsedatalistItem `json:"list"` // 数据内容 + Page int64 `json:"page"` // 页数 + PageSize int64 `json:"pageSize"` // 单页数量 +} + +type AccessResourceQueryResponse struct { + Data AccessResourceQueryResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// AccessResourceQuery +func AccessResourceQuery(params *AccessResourceQueryRequest) (*AccessResourceQueryResponsedata, error) { + var ( + err error + defaultRet *AccessResourceQueryResponsedata + ) + respData := &AccessResourceQueryResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/access/resource/query") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("begin", params.Begin) + client.AddGetParam("end", params.End) + client.AddGetParam("image_type", params.ImageType) + client.AddGetParam("page_no", params.PageNo) + client.AddGetParam("page_size", params.PageSize) + client.AddGetParam("status", params.Status) + client.AddGetParam("title", params.Title) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/feed/accessResourceSubmit.go b/openapi/tp/feed/accessResourceSubmit.go new file mode 100644 index 0000000..331a082 --- /dev/null +++ b/openapi/tp/feed/accessResourceSubmit.go @@ -0,0 +1,81 @@ +package feed + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// AccessResourceSubmitRequest 请求结构体 +type AccessResourceSubmitRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + AppID interface{} // 小程序 Id + Body string // 消息体,物料的介绍 + Ext interface{} // 扩展信息(JSON格式,参考附录三) + FeedSubType interface{} // feed二级分类(参考附录二) + FeedType string // feed一级分类(参考附录二) + Images interface{} // 封面图片链接(JSON格式)(最多3张,单图片最大2M) 建议尺寸:宽>=375 & 高>=250;建议比例 宽:高=1.5:1 + MappSubType int64 // 资源子类型(参考附录一) + MappType int64 // 资源类型(参考附录一) + Path string // 智能小程序落地页链接 + Tags interface{} // 资源标签,英文逗号分割,填写越准确详细可能带来更好的分发效果(最多10个,总长度最多100字) + Title string // 标题 +} + +// 响应结构体 + +type AccessResourceSubmitResponse struct { + Data string `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// AccessResourceSubmit +func AccessResourceSubmit(params *AccessResourceSubmitRequest) (string, error) { + var ( + err error + defaultRet string + ) + respData := &AccessResourceSubmitResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/access/resource/submit") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("app_id", params.AppID) + client.AddPostParam("body", params.Body) + client.AddPostParam("ext", params.Ext) + client.AddPostParam("feed_sub_type", params.FeedSubType) + client.AddPostParam("feed_type", params.FeedType) + client.AddPostParam("images", params.Images) + client.AddPostParam("mapp_sub_type", fmt.Sprintf("%v", params.MappSubType)) + client.AddPostParam("mapp_type", fmt.Sprintf("%v", params.MappType)) + client.AddPostParam("path", params.Path) + client.AddPostParam("tags", params.Tags) + client.AddPostParam("title", params.Title) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/feed/deleteResource.go b/openapi/tp/feed/deleteResource.go new file mode 100644 index 0000000..dcfd46b --- /dev/null +++ b/openapi/tp/feed/deleteResource.go @@ -0,0 +1,61 @@ +package feed + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// DeleteResourceRequest 请求结构体 +type DeleteResourceRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + AppID interface{} // 小程序 Id + Path string // 智能小程序内页链接 +} + +// 响应结构体 + +type DeleteResourceResponse struct { + Data bool `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// DeleteResource +func DeleteResource(params *DeleteResourceRequest) (bool, error) { + var ( + err error + defaultRet bool + ) + respData := &DeleteResourceResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/access/resource/delete") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("app_id", params.AppID) + client.AddPostParam("path", params.Path) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/feed/deleteSitemap.go b/openapi/tp/feed/deleteSitemap.go new file mode 100644 index 0000000..922b44b --- /dev/null +++ b/openapi/tp/feed/deleteSitemap.go @@ -0,0 +1,61 @@ +package feed + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// DeleteSitemapRequest 请求结构体 +type DeleteSitemapRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + AppID interface{} // 小程序 Id + URL string // sitemap链接 +} + +// 响应结构体 + +type DeleteSitemapResponse struct { + Data bool `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// DeleteSitemap +func DeleteSitemap(params *DeleteSitemapRequest) (bool, error) { + var ( + err error + defaultRet bool + ) + respData := &DeleteSitemapResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/access/sitemap/delete") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("app_id", params.AppID) + client.AddPostParam("url", params.URL) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/feed/submitSitemap.go b/openapi/tp/feed/submitSitemap.go new file mode 100644 index 0000000..cfb73bc --- /dev/null +++ b/openapi/tp/feed/submitSitemap.go @@ -0,0 +1,69 @@ +package feed + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// SubmitSitemapRequest 请求结构体 +type SubmitSitemapRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + AppID interface{} // 小程序 Id + Desc string // 描述信息 + Frequency int64 // 更新频率 3-每天 4-每周 + Type int64 // 类型 1-增量/更新; 0-下线/删除 + URL string // sitemap链接 +} + +// 响应结构体 + +type SubmitSitemapResponse struct { + Data bool `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// SubmitSitemap +func SubmitSitemap(params *SubmitSitemapRequest) (bool, error) { + var ( + err error + defaultRet bool + ) + respData := &SubmitSitemapResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/access/sitemap/submit") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("app_id", params.AppID) + client.AddPostParam("desc", params.Desc) + client.AddPostParam("frequency", fmt.Sprintf("%v", params.Frequency)) + client.AddPostParam("type", fmt.Sprintf("%v", params.Type)) + client.AddPostParam("url", params.URL) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/grade/appGrade.go b/openapi/tp/grade/appGrade.go new file mode 100644 index 0000000..33521b1 --- /dev/null +++ b/openapi/tp/grade/appGrade.go @@ -0,0 +1,75 @@ +package grade + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// AppGradeRequest 请求结构体 +type AppGradeRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + PageNo int64 // 分页页码(从 1 开始) +} + +// 响应结构体 + +type AppGradeResponsedatadataListItem struct { + AppID int64 `json:"app_id"` // 小程序 id + AppKey string `json:"app_key"` // 小程序唯一识别码 + Grade string `json:"grade"` // 小程序等级 · 未评级 · A 级 · B 级 · C 级 +} + +type AppGradeResponsedata struct { + DataList []AppGradeResponsedatadataListItem `json:"dataList"` // + PageNo int64 `json:"pageNo"` // 页码 + PageSize int64 `json:"pageSize"` // 每页展示数据 + Total int64 `json:"total"` // 总数据量 + TotalPage int64 `json:"totalPage"` // 总页数 +} + +type AppGradeResponse struct { + Data AppGradeResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// AppGrade +func AppGrade(params *AppGradeRequest) (*AppGradeResponsedata, error) { + var ( + err error + defaultRet *AppGradeResponsedata + ) + respData := &AppGradeResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/app/grade") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("page_no", fmt.Sprintf("%v", params.PageNo)) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/image/uploadImage.go b/openapi/tp/image/uploadImage.go new file mode 100644 index 0000000..e89ee77 --- /dev/null +++ b/openapi/tp/image/uploadImage.go @@ -0,0 +1,91 @@ +package image + +import ( + "bytes" + "fmt" + "io" + "mime/multipart" + "path/filepath" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// UploadImageRequest 请求结构体 +type UploadImageRequest struct { + AccessToken string // 第三方平台的接口调用凭据 + MultipartFile UploadImageRequestFile // 文件 + Type interface{} // 图片用途,1/null:小程序头像;2:服务类目资质图片;3:小程序名称审核资料 +} + +type UploadImageRequestFile struct { + Name string + Reader io.Reader +} + +// 响应结构体 + +type UploadImageResponse struct { + Data string `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// UploadImage +func UploadImage(params *UploadImageRequest) (string, error) { + var ( + err error + defaultRet string + ) + respData := &UploadImageResponse{} + + // Post MultiPart/form-data + payload := &bytes.Buffer{} + writer := multipart.NewWriter(payload) + + part1, err := writer.CreateFormFile(params.MultipartFile.Name, filepath.Base(params.MultipartFile.Name)) + if err != nil { + return defaultRet, err + } + + _, err = io.Copy(part1, params.MultipartFile.Reader) + if err != nil { + return defaultRet, err + } + _ = writer.WriteField("type", fmt.Sprint(params.Type)) + + err = writer.Close() + if err != nil { + return defaultRet, err + } + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeMultiPart + "; boundary=" + writer.Boundary()). + SetBody(payload). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/file/2.0/smartapp/upload/image") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/login/getSessionKey.go b/openapi/tp/login/getSessionKey.go new file mode 100644 index 0000000..3abfa44 --- /dev/null +++ b/openapi/tp/login/getSessionKey.go @@ -0,0 +1,65 @@ +package login + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetSessionKeyRequest 请求结构体 +type GetSessionKeyRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + Code string // 调用 swan.login 后获取的 code + GrantType string // 授权类型,固定字符串:“authorization_code” +} + +// 响应结构体 + +type GetSessionKeyResponse struct { + Errno int64 `json:"errno"` // 错误码 + ErrorDescription string `json:"error_description"` // 错误描述信息,用来帮助理解和解决发生的错误 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 + Data GetSessionKeyResponsedata +} + +type GetSessionKeyResponsedata struct { + Errno int64 `json:"errno"` // 错误码 + ErrorDescription string `json:"error_description"` // 错误描述信息,用来帮助理解和解决发生的错误 + Msg string `json:"msg"` // 错误描述 +} + +// GetSessionKey +func GetSessionKey(params *GetSessionKeyRequest) (*GetSessionKeyResponsedata, error) { + var ( + err error + defaultRet *GetSessionKeyResponsedata + ) + respData := &GetSessionKeyResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/oauth/getsessionkeybycode") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("code", params.Code) + client.AddGetParam("grant_type", params.GrantType) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + return &respData.Data, nil +} diff --git a/openapi/tp/login/getUnionId.go b/openapi/tp/login/getUnionId.go new file mode 100644 index 0000000..0a9bfbf --- /dev/null +++ b/openapi/tp/login/getUnionId.go @@ -0,0 +1,63 @@ +package login + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetUnionIDRequest 请求结构体 +type GetUnionIDRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + OpenID string // 用户 openid ,需要经过用户登录授权 +} + +// 响应结构体 + +type GetUnionIDResponsedata struct { + UnionID string `json:"union_id"` // 对应的 union id +} + +type GetUnionIDResponse struct { + Data GetUnionIDResponsedata `json:"data"` // 详细数据,errno 为 0 的情况下才有意义 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetUnionID +func GetUnionID(params *GetUnionIDRequest) (*GetUnionIDResponsedata, error) { + var ( + err error + defaultRet *GetUnionIDResponsedata + ) + respData := &GetUnionIDResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/unionId/get") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("open_id", params.OpenID) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/mobileauth/applyMobileAuth.go b/openapi/tp/mobileauth/applyMobileAuth.go new file mode 100644 index 0000000..3c759eb --- /dev/null +++ b/openapi/tp/mobileauth/applyMobileAuth.go @@ -0,0 +1,70 @@ +package mobileauth + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// ApplyMobileAuthRequest 请求结构体 +type ApplyMobileAuthRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + Reason int64 // 申请原因( 0:"用于登录";1 :"收货联系方式";2 :"其他") + UsedScene int64 // 使用场景( 0:"网络购物"1 :"账号下信息内容同步";2 :"票务预订";3 :"业务办理";4 :"信息查询(如社保、公积金查询";5 :预约") + SceneDesc string // 使用场景描述 + SceneDemo string // 使用场景 demo (场景实例图片) +} + +// 响应结构体 + +type ApplyMobileAuthResponsedata struct { +} + +type ApplyMobileAuthResponse struct { + Data ApplyMobileAuthResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// ApplyMobileAuth +func ApplyMobileAuth(params *ApplyMobileAuthRequest) (*ApplyMobileAuthResponsedata, error) { + var ( + err error + defaultRet *ApplyMobileAuthResponsedata + ) + respData := &ApplyMobileAuthResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/app/apply/mobileauth") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("reason", fmt.Sprintf("%v", params.Reason)) + client.AddPostParam("used_scene", fmt.Sprintf("%v", params.UsedScene)) + client.AddPostParam("scene_desc", params.SceneDesc) + client.AddPostParam("scene_demo", params.SceneDemo) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/mobileauth/cancelMobileAuth.go b/openapi/tp/mobileauth/cancelMobileAuth.go new file mode 100644 index 0000000..862159a --- /dev/null +++ b/openapi/tp/mobileauth/cancelMobileAuth.go @@ -0,0 +1,60 @@ +package mobileauth + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// CancelMobileAuthRequest 请求结构体 +type CancelMobileAuthRequest struct { + AccessToken string // 授权小程序的接口调用凭据 +} + +// 响应结构体 + +type CancelMobileAuthResponsedata struct { +} + +type CancelMobileAuthResponse struct { + Data CancelMobileAuthResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// CancelMobileAuth +func CancelMobileAuth(params *CancelMobileAuthRequest) (*CancelMobileAuthResponsedata, error) { + var ( + err error + defaultRet *CancelMobileAuthResponsedata + ) + respData := &CancelMobileAuthResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/app/cancel/mobileauth") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/mobileauth/getMobileAuthStatus.go b/openapi/tp/mobileauth/getMobileAuthStatus.go new file mode 100644 index 0000000..d1f1cd5 --- /dev/null +++ b/openapi/tp/mobileauth/getMobileAuthStatus.go @@ -0,0 +1,62 @@ +package mobileauth + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetMobileAuthStatusRequest 请求结构体 +type GetMobileAuthStatusRequest struct { + AccessToken string // 授权小程序的接口调用凭据 +} + +// 响应结构体 + +type GetMobileAuthStatusResponsedata struct { + Reason string `json:"reason"` // 失败原因(仅在被拒绝时存在) + Status int64 `json:"status"` // 状态(0:取消 1:待审核 2:拒绝 3:通过) +} + +type GetMobileAuthStatusResponse struct { + Data GetMobileAuthStatusResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetMobileAuthStatus +func GetMobileAuthStatus(params *GetMobileAuthStatusRequest) (*GetMobileAuthStatusResponsedata, error) { + var ( + err error + defaultRet *GetMobileAuthStatusResponsedata + ) + respData := &GetMobileAuthStatusResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/app/get/mobileauthstatus") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/msg/getMsg.go b/openapi/tp/msg/getMsg.go new file mode 100644 index 0000000..648872e --- /dev/null +++ b/openapi/tp/msg/getMsg.go @@ -0,0 +1,82 @@ +package msg + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetMsgRequest 请求结构体 +type GetMsgRequest struct { + AccessToken string // 第三方平台的接口调用凭据 + Start interface{} // 起始时间,默认值时间范围为近一天,起始时间不可超过一个月 + End interface{} // 截止时间,默认值时间范围为为近一天,最大时间范围不可超过一周 + PushType interface{} // 找回的推送类型 1:所有推送 2:失败推送 + Offset interface{} // 分页参数(起始条数),默认值为0 + Count interface{} // 分页参数(显示条数),默认值为100,最大值为100 + IDList interface{} // 推送id,多个用逗号(,)拼接,若传入该字段,以上参数字段不影响结果 +} + +// 响应结构体 + +type GetMsgResponsedatalistItem struct { + Content string `json:"content"` // 推送内容,加密后的结果 + ID int64 `json:"id"` // 推送id + Status int64 `json:"status"` // 推送状态 0:待推送 1:推送成功 2:推送失败 +} + +type GetMsgResponsedata struct { + Count int64 `json:"count"` // 总条数 + List []GetMsgResponsedatalistItem `json:"list"` // 响应数据结构 + Page int64 `json:"page"` // 当前页数 + PageSize int64 `json:"pageSize"` // 单页条数 +} + +type GetMsgResponse struct { + Data GetMsgResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetMsg +func GetMsg(params *GetMsgRequest) (*GetMsgResponsedata, error) { + var ( + err error + defaultRet *GetMsgResponsedata + ) + respData := &GetMsgResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pushmsg/getmsg") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("start", params.Start) + client.AddGetParam("end", params.End) + client.AddGetParam("push_type", params.PushType) + client.AddGetParam("offset", params.Offset) + client.AddGetParam("count", params.Count) + client.AddGetParam("id_list", params.IDList) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/msgtemplate/addMsgTemplate.go b/openapi/tp/msgtemplate/addMsgTemplate.go new file mode 100644 index 0000000..e6f01cd --- /dev/null +++ b/openapi/tp/msgtemplate/addMsgTemplate.go @@ -0,0 +1,65 @@ +package msgtemplate + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// AddMsgTemplateRequest 请求结构体 +type AddMsgTemplateRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + ID string // 模板标题 id + KeywordIDList string // 模板关键词 id 列表,如[1,2,3]; +} + +// 响应结构体 + +type AddMsgTemplateResponsedata struct { + TemplateID string `json:"template_id"` // 添加至帐号下的模板id,发送小程序模板消息时所需 +} + +type AddMsgTemplateResponse struct { + Data AddMsgTemplateResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// AddMsgTemplate +func AddMsgTemplate(params *AddMsgTemplateRequest) (*AddMsgTemplateResponsedata, error) { + var ( + err error + defaultRet *AddMsgTemplateResponsedata + ) + respData := &AddMsgTemplateResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/template/add") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("id", params.ID) + client.AddPostParam("keyword_id_list", params.KeywordIDList) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/msgtemplate/delMsgTemplate.go b/openapi/tp/msgtemplate/delMsgTemplate.go new file mode 100644 index 0000000..7cfbcbd --- /dev/null +++ b/openapi/tp/msgtemplate/delMsgTemplate.go @@ -0,0 +1,64 @@ +package msgtemplate + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// DelMsgTemplateRequest 请求结构体 +type DelMsgTemplateRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + TemplateID string // 模板 id ,发送小程序模板消息时所需 +} + +// 响应结构体 + +type DelMsgTemplateResponse struct { + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 + Data DelMsgTemplateResponsedata +} + +type DelMsgTemplateResponsedata struct { + Errno int64 `json:"errno"` // 状态码 + Msg string `json:"msg"` // 状态描述 +} + +// DelMsgTemplate +func DelMsgTemplate(params *DelMsgTemplateRequest) (*DelMsgTemplateResponsedata, error) { + var ( + err error + defaultRet *DelMsgTemplateResponsedata + ) + respData := &DelMsgTemplateResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/template/del") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("template_id", params.TemplateID) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/msgtemplate/getMsgTemplateLibraryKeyWord.go b/openapi/tp/msgtemplate/getMsgTemplateLibraryKeyWord.go new file mode 100644 index 0000000..b08fb83 --- /dev/null +++ b/openapi/tp/msgtemplate/getMsgTemplateLibraryKeyWord.go @@ -0,0 +1,72 @@ +package msgtemplate + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetMsgTemplateLibraryKeyWordRequest 请求结构体 +type GetMsgTemplateLibraryKeyWordRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + ID string // 模板标题id,可通过接口获取,也可登录小程序后台查看获取 +} + +// 响应结构体 + +type GetMsgTemplateLibraryKeyWordResponsedatakeywordListItem struct { + Example string `json:"example"` // 关键词内容对应的示例 + KeywordID int64 `json:"keyword_id"` // 关键词 id,添加模板时需要 + Name string `json:"name"` // 关键词内容 +} + +type GetMsgTemplateLibraryKeyWordResponsedata struct { + ID string `json:"id"` // 模板标题 id + KeywordCount int64 `json:"keyword_count"` // 关键字条数 + KeywordList []GetMsgTemplateLibraryKeyWordResponsedatakeywordListItem `json:"keyword_list"` // + Title string `json:"title"` // 模板标题 +} + +type GetMsgTemplateLibraryKeyWordResponse struct { + Data GetMsgTemplateLibraryKeyWordResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetMsgTemplateLibraryKeyWord +func GetMsgTemplateLibraryKeyWord(params *GetMsgTemplateLibraryKeyWordRequest) (*GetMsgTemplateLibraryKeyWordResponsedata, error) { + var ( + err error + defaultRet *GetMsgTemplateLibraryKeyWordResponsedata + ) + respData := &GetMsgTemplateLibraryKeyWordResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/template/library/get") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("id", params.ID) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/msgtemplate/getMsgTemplateLibraryList.go b/openapi/tp/msgtemplate/getMsgTemplateLibraryList.go new file mode 100644 index 0000000..03165b0 --- /dev/null +++ b/openapi/tp/msgtemplate/getMsgTemplateLibraryList.go @@ -0,0 +1,73 @@ +package msgtemplate + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetMsgTemplateLibraryListRequest 请求结构体 +type GetMsgTemplateLibraryListRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + Offset int64 // 用于分页,表示从offset开始,默认值为0 + Count int64 // 用于分页,表示拉取count条记录,默认值为0,最大为20 +} + +// 响应结构体 + +type GetMsgTemplateLibraryListResponsedatalistItem struct { + ID string `json:"id"` // 模板标题id(获取模板标题下的关键词库时需要) + Title string `json:"title"` // 模板标题内容 +} + +type GetMsgTemplateLibraryListResponsedata struct { + List []GetMsgTemplateLibraryListResponsedatalistItem `json:"list"` // + TotalCount int64 `json:"total_count"` // 模板库标题总数 +} + +type GetMsgTemplateLibraryListResponse struct { + Data GetMsgTemplateLibraryListResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetMsgTemplateLibraryList +func GetMsgTemplateLibraryList(params *GetMsgTemplateLibraryListRequest) (*GetMsgTemplateLibraryListResponsedata, error) { + var ( + err error + defaultRet *GetMsgTemplateLibraryListResponsedata + ) + respData := &GetMsgTemplateLibraryListResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/template/library/list") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("offset", fmt.Sprintf("%v", params.Offset)) + client.AddGetParam("count", fmt.Sprintf("%v", params.Count)) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/msgtemplate/getMsgTemplateList.go b/openapi/tp/msgtemplate/getMsgTemplateList.go new file mode 100644 index 0000000..254df67 --- /dev/null +++ b/openapi/tp/msgtemplate/getMsgTemplateList.go @@ -0,0 +1,75 @@ +package msgtemplate + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetMsgTemplateListRequest 请求结构体 +type GetMsgTemplateListRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + Offset int64 // 用于分页,表示从offset开始,默认值为0 + Count int64 // 用于分页,表示拉取count条记录,默认值为0,最大为20 +} + +// 响应结构体 + +type GetMsgTemplateListResponsedatalistItem struct { + Content string `json:"content"` // 模板内容 + Example string `json:"example"` // 模板内容示例 + TemplateID string `json:"template_id"` // 模板 id ,发送小程序模板消息时所需 + Title string `json:"title"` // 模板标题 +} + +type GetMsgTemplateListResponsedata struct { + List []GetMsgTemplateListResponsedatalistItem `json:"list"` // 模板对象数组,对象中包含模板 id 、模板标题 title 、模板内容 content 、模板内容示例 example + TotalCount int64 `json:"total_count"` // 模板库标题总数 +} + +type GetMsgTemplateListResponse struct { + Data GetMsgTemplateListResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetMsgTemplateList +func GetMsgTemplateList(params *GetMsgTemplateListRequest) (*GetMsgTemplateListResponsedata, error) { + var ( + err error + defaultRet *GetMsgTemplateListResponsedata + ) + respData := &GetMsgTemplateListResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/template/list") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("offset", fmt.Sprintf("%v", params.Offset)) + client.AddGetParam("count", fmt.Sprintf("%v", params.Count)) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/msgtemplate/sendMsg.go b/openapi/tp/msgtemplate/sendMsg.go new file mode 100644 index 0000000..8ab2375 --- /dev/null +++ b/openapi/tp/msgtemplate/sendMsg.go @@ -0,0 +1,79 @@ +package msgtemplate + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// SendMsgRequest 请求结构体 +type SendMsgRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + TemplateID string // 模板 id ,发送小程序模板消息时所需 + TouserOpenID string // 接收者 open_id + Data string // {"keyword1": {"value": "2018-09-06"},"keyword2": {"value": "kfc"}} + Page interface{} // 点击模板卡片后的跳转页面,仅限本小程序内的页面。支持带参数,(示例index?foo=bar),该字段不填则模板无跳转。 + SceneID string // 场景 id,例如表单 id 和订单 id + SceneType int64 // 场景type,1:表单;2:百度收银台订单;3:直连订单 + Title string // 标题 + Ext interface{} // {"xzh_id":111,"category_id":15} +} + +// 响应结构体 + +type SendMsgResponsedata struct { + MsgKey int64 `json:"msg_key"` // 消息 id +} + +type SendMsgResponse struct { + Data SendMsgResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// SendMsg +func SendMsg(params *SendMsgRequest) (*SendMsgResponsedata, error) { + var ( + err error + defaultRet *SendMsgResponsedata + ) + respData := &SendMsgResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/template/sendmessage") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("template_id", params.TemplateID) + client.AddPostParam("touser_openId", params.TouserOpenID) + client.AddPostParam("data", params.Data) + client.AddPostParam("page", params.Page) + client.AddPostParam("scene_id", params.SceneID) + client.AddPostParam("scene_type", fmt.Sprintf("%v", params.SceneType)) + client.AddPostParam("title", params.Title) + client.AddPostParam("ext", params.Ext) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/offline/getAppViolationDetail.go b/openapi/tp/offline/getAppViolationDetail.go new file mode 100644 index 0000000..d5864bf --- /dev/null +++ b/openapi/tp/offline/getAppViolationDetail.go @@ -0,0 +1,72 @@ +package offline + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetAppViolationDetailRequest 请求结构体 +type GetAppViolationDetailRequest struct { + AccessToken string // 授权小程序的接口调用凭据 +} + +// 响应结构体 + +type GetAppViolationDetailResponsedataproblemDetailsItem struct { + AuditReason string `json:"auditReason"` // 审核原因 + AuditShot string `json:"auditShot"` // 审核截图 + ProblemDesc string `json:"problemDesc"` // 问题描述 + ProblemPath string `json:"problemPath"` // 问题 path + ScreenShot string `json:"screenShot"` // 问题截图 + Status int64 `json:"status"` // 问题状态 + TaskID int64 `json:"taskId"` // 任务 ID +} + +type GetAppViolationDetailResponsedata struct { + AppID int64 `json:"appId"` // 小程序 ID + ProblemDetails []GetAppViolationDetailResponsedataproblemDetailsItem `json:"problemDetails"` // +} + +type GetAppViolationDetailResponse struct { + Data GetAppViolationDetailResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetAppViolationDetail +func GetAppViolationDetail(params *GetAppViolationDetailRequest) (*GetAppViolationDetailResponsedata, error) { + var ( + err error + defaultRet *GetAppViolationDetailResponsedata + ) + respData := &GetAppViolationDetailResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/app/violation") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/offline/setAppOffline.go b/openapi/tp/offline/setAppOffline.go new file mode 100644 index 0000000..3189a49 --- /dev/null +++ b/openapi/tp/offline/setAppOffline.go @@ -0,0 +1,69 @@ +package offline + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// SetAppOfflineRequest 请求结构体 +type SetAppOfflineRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + AppName interface{} // 小程序名称 + AppDesc interface{} // 小程序描述 + PhotoAddr interface{} // 小程序图片 + AppNameMaterial interface{} // 名称相关物料 +} + +// 响应结构体 + +type SetAppOfflineResponsedata struct { + ExamineID int64 `json:"examine_id"` // 审核ID +} + +type SetAppOfflineResponse struct { + Data SetAppOfflineResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// SetAppOffline +func SetAppOffline(params *SetAppOfflineRequest) (*SetAppOfflineResponsedata, error) { + var ( + err error + defaultRet *SetAppOfflineResponsedata + ) + respData := &SetAppOfflineResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/app/offline/update") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("app_name", params.AppName) + client.AddPostParam("app_desc", params.AppDesc) + client.AddPostParam("photo_addr", params.PhotoAddr) + client.AddPostParam("app_name_material", params.AppNameMaterial) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/optimization/getPrelink.go b/openapi/tp/optimization/getPrelink.go new file mode 100644 index 0000000..47ffc30 --- /dev/null +++ b/openapi/tp/optimization/getPrelink.go @@ -0,0 +1,57 @@ +package optimization + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetPrelinkRequest 请求结构体 +type GetPrelinkRequest struct { + AccessToken string // 授权小程序的接口调用凭据 +} + +// 响应结构体 + +type GetPrelinkResponse struct { + Data []string `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetPrelink +func GetPrelink(params *GetPrelinkRequest) ([]string, error) { + var ( + err error + defaultRet []string + ) + respData := &GetPrelinkResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/prelink/get") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/optimization/setPrelink.go b/openapi/tp/optimization/setPrelink.go new file mode 100644 index 0000000..939e3d2 --- /dev/null +++ b/openapi/tp/optimization/setPrelink.go @@ -0,0 +1,85 @@ +package optimization + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// SetPrelinkRequest 请求结构体 +type SetPrelinkRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + PrelinkURL string // prelink 链接 +} + +// 响应结构体 + +type SetPrelinkResponsedatacheckResulthttpsBaikeBaiduCom struct { + FailReason []string `json:"failReason"` // 失败原因 + Status int64 `json:"status"` // 状态 1-失败 0-成功 +} + +type SetPrelinkResponsedatacheckResulthttpsWwwBaiduCom struct { + FailReason []string `json:"failReason"` // 失败原因 + Status int64 `json:"status"` // 状态 1-失败 0-成功 +} + +type SetPrelinkResponsedatacheckResultflexKey struct { + FailReason []string `json:"failReason"` // + Status string `json:"status"` // +} + +type SetPrelinkResponsedatacheckResult struct { + FlexKey SetPrelinkResponsedatacheckResultflexKey `json:"flexKey"` // + HTTPSBaikeBaiduCom SetPrelinkResponsedatacheckResulthttpsBaikeBaiduCom `json:"https://baike.baidu.com"` // + HTTPSWwwBaiduCom SetPrelinkResponsedatacheckResulthttpsWwwBaiduCom `json:"https://www.baidu.com"` // +} + +type SetPrelinkResponsedata struct { + CheckResult SetPrelinkResponsedatacheckResult `json:"checkResult"` // 域名检查返回 + Status int64 `json:"status"` // 状态 1-失败 0-成功 +} + +type SetPrelinkResponse struct { + Data SetPrelinkResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// SetPrelink +func SetPrelink(params *SetPrelinkRequest) (*SetPrelinkResponsedata, error) { + var ( + err error + defaultRet *SetPrelinkResponsedata + ) + respData := &SetPrelinkResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/prelink/set") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("prelink_url", params.PrelinkURL) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/order/addMainInfo.go b/openapi/tp/order/addMainInfo.go new file mode 100644 index 0000000..ec2323d --- /dev/null +++ b/openapi/tp/order/addMainInfo.go @@ -0,0 +1,174 @@ +package order + +import ( + "encoding/json" + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// AddMainInfoRequest 请求结构体 +type AddMainInfoRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + OpenID string // 用户 openId + SceneID string // 百度收银台分配的平台订单 ID ,通知支付状态接口返回的 orderId + SceneType int64 // 支付场景类型,开发者请默认传 2 + Data []AddMainInfoRequestDataItem // +} + +type AddMainInfoRequestDataItemEXTMainOrderProductsItemSkuAttrItem struct { + Name string `json:"Name"` // + Value string `json:"Value"` // +} +type AddMainInfoRequestDataItemEXTMainOrderProductsItem struct { + Desc string `json:"Desc"` // 商品详情 + ID string `json:"ID"` // 商品ID + ImgList []string `json:"ImgList"` // 商品图片地址 + Name string `json:"Name"` // 商品名称 + PayPrice int64 `json:"PayPrice"` // 实付价格,单位分。 + Price int64 `json:"Price"` // 商品原价,单位分。 + Quantity int64 `json:"Quantity"` // 商品数量 + SkuAttr []AddMainInfoRequestDataItemEXTMainOrderProductsItemSkuAttrItem `json:"SkuAttr"` // 商品SKU属性 +} +type AddMainInfoRequestDataItemEXTMainOrderPaymentPreferentialInfoItem struct { + Name string `json:"Name"` // 名称 + Quantity int64 `json:"Quantity"` // 数量 + Value int64 `json:"Value"` // 优惠金额,单位分 +} +type AddMainInfoRequestDataItemEXTMainOrderPaymentPaymentInfoItem struct { + Name string `json:"Name"` // 展示名称 + Quantity int64 `json:"Quantity"` // 数量 + Value int64 `json:"Value"` // 付款金额,单位分 +} +type AddMainInfoRequestDataItemEXTMainOrderPayment struct { + Amount int64 `json:"Amount"` // 合计金额,单位分 + IsPayment bool `json:"IsPayment"` // 是否支付 + Method int64 `json:"Method"` // 支付方式 + PaymentInfo []AddMainInfoRequestDataItemEXTMainOrderPaymentPaymentInfoItem `json:"PaymentInfo"` // 付款信息 + PreferentialInfo []AddMainInfoRequestDataItemEXTMainOrderPaymentPreferentialInfoItem `json:"PreferentialInfo"` // 优惠信息 + Time int64 `json:"Time"` // 付款时间,时间戳 +} +type AddMainInfoRequestDataItemEXTMainOrderAppraise struct { + Name string `json:"Name"` // + Status int64 `json:"Status"` // 订单评价跳转 + SwanSchema string `json:"SwanSchema"` // +} +type AddMainInfoRequestDataItemEXTMainOrderOrderDetail struct { + Name string `json:"Name"` // + Status int64 `json:"Status"` // + SwanSchema string `json:"SwanSchema"` // +} +type AddMainInfoRequestDataItemEXTMainOrder struct { + Appraise AddMainInfoRequestDataItemEXTMainOrderAppraise `json:"Appraise"` // + OrderDetail AddMainInfoRequestDataItemEXTMainOrderOrderDetail `json:"OrderDetail"` // 订单详情跳转 + Payment AddMainInfoRequestDataItemEXTMainOrderPayment `json:"Payment"` // 支付信息 + Products []AddMainInfoRequestDataItemEXTMainOrderProductsItem `json:"Products"` // 商品信息 +} +type AddMainInfoRequestDataItemEXTSubsOrderItemsItemRefundProductItem struct { + Amount int64 `json:"Amount"` // 应退金额,单位分 + ID string `json:"ID"` // 商品ID + Quantity int64 `json:"Quantity"` // 商品退款/商品退货 数量 +} +type AddMainInfoRequestDataItemEXTSubsOrderItemsItemRefund struct { + Amount int64 `json:"Amount"` // 退款总金额 + Product []AddMainInfoRequestDataItemEXTSubsOrderItemsItemRefundProductItem `json:"Product"` // 退款/退货商品 +} +type AddMainInfoRequestDataItemEXTSubsOrderItemsItemOrderDetail struct { + AndroidSchema string `json:"AndroidSchema"` // + IPhoneSchema string `json:"IPhoneSchema"` // + Name string `json:"Name"` // + Status int64 `json:"Status"` // + SwanSchema string `json:"SwanSchema"` // +} +type AddMainInfoRequestDataItemEXTSubsOrderItemsItem struct { + CTime int64 `json:"CTime"` // 售后订单创建时间,时间戳 + MTime int64 `json:"MTime"` // 售后订单修改时间,时间戳 + OrderDetail AddMainInfoRequestDataItemEXTSubsOrderItemsItemOrderDetail `json:"OrderDetail"` // 退款退货订单详情跳转 + OrderType int64 `json:"OrderType"` // 退款订单类型 + Refund AddMainInfoRequestDataItemEXTSubsOrderItemsItemRefund `json:"Refund"` // 商品 退款/退货 信息 + SubOrderID string `json:"SubOrderID"` // 售后订单ID + SubStatus int64 `json:"SubStatus"` // 自订单状态,枚举参照 【退换货枚举值】 +} +type AddMainInfoRequestDataItemEXTSubsOrder struct { + Items []AddMainInfoRequestDataItemEXTSubsOrderItemsItem `json:"Items"` // + Status int64 `json:"Status"` // +} +type AddMainInfoRequestDataItemEXT struct { + MainOrder AddMainInfoRequestDataItemEXTMainOrder `json:"MainOrder"` // 订单信息 + SubsOrder AddMainInfoRequestDataItemEXTSubsOrder `json:"SubsOrder"` // 售后订单信息,若该订单发生退款/售后,需新增同步其售后订单的售后信息状态 +} +type AddMainInfoRequestDataItem struct { + BizAPPID string `json:"BizAPPID"` // 小程序AppKey + CateID int64 `json:"CateID"` // 1:订单种类-实物商品 + Ctime int64 `json:"Ctime"` // 订单创建时间 + EXT AddMainInfoRequestDataItemEXT `json:"EXT"` // 拓展字段 + Mtime int64 `json:"Mtime"` // 订单最后修改时间 + ResourceID string `json:"ResourceID"` // 开发者接入的唯一订单ID + Status int64 `json:"Status"` // 200:订单状态-已完成交易 + Title string `json:"Title"` // 订单名称 +} + +// 响应结构体 + +type AddMainInfoResponsedataItem struct { + BizAppID string `json:"biz_app_id"` // POST请求参数中BizAPPID + CateID string `json:"cate_id"` // POST请求参数中CateID + ResourceID string `json:"resource_id"` // POST请求参数中ResourceID + RowsAffected string `json:"rows_affected"` // 请求受影响行数(即请求是否成功 0为失败 非0为成功) +} + +type AddMainInfoResponse struct { + Data []AddMainInfoResponsedataItem `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// AddMainInfo +func AddMainInfo(params *AddMainInfoRequest) ([]AddMainInfoResponsedataItem, error) { + var ( + err error + defaultRet []AddMainInfoResponsedataItem + ) + respData := &AddMainInfoResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeJSON). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/ordercenter/add/main/info") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("open_id", params.OpenID) + client.AddGetParam("scene_id", params.SceneID) + client.AddGetParam("scene_type", fmt.Sprintf("%v", params.SceneType)) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + postData := map[string]interface{}{ + "Data": params.Data, + } + bts, err := json.Marshal(postData) + if err != nil { + return defaultRet, err + } + client.SetBody(bts) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/order/appendSubInfo.go b/openapi/tp/order/appendSubInfo.go new file mode 100644 index 0000000..775046b --- /dev/null +++ b/openapi/tp/order/appendSubInfo.go @@ -0,0 +1,118 @@ +package order + +import ( + "encoding/json" + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// AppendSubInfoRequest 请求结构体 +type AppendSubInfoRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + OpenID string // 用户openId + SceneID string // 百度收银台分配的平台订单ID,通知支付状态接口返回的orderId + SceneType int64 // 支付场景类型,开发者请默认传2 + Data []AppendSubInfoRequestDataItem // +} + +type AppendSubInfoRequestDataItemEXTSubsOrderItemsItemOrderDetail struct { + Name string `json:"Name"` // + Status int64 `json:"Status"` // + SwanSchema string `json:"SwanSchema"` // +} +type AppendSubInfoRequestDataItemEXTSubsOrderItemsItemRefundProductItem struct { + Amount int64 `json:"Amount"` // 应退金额,单位分 + ID string `json:"ID"` // 商品ID + Quantity int64 `json:"Quantity"` // 商品退款/商品退货 数量 +} +type AppendSubInfoRequestDataItemEXTSubsOrderItemsItemRefund struct { + Amount int64 `json:"Amount"` // 退款总金额 + Product []AppendSubInfoRequestDataItemEXTSubsOrderItemsItemRefundProductItem `json:"Product"` // 退款/退货商品 +} +type AppendSubInfoRequestDataItemEXTSubsOrderItemsItem struct { + CTime int64 `json:"CTime"` // 售后订单创建时间,时间戳 + MTime int64 `json:"MTime"` // 售后订单修改时间,时间戳 + OrderDetail AppendSubInfoRequestDataItemEXTSubsOrderItemsItemOrderDetail `json:"OrderDetail"` // 退款退货订单详情跳转 + OrderType int64 `json:"OrderType"` // 退款订单类型 + Refund AppendSubInfoRequestDataItemEXTSubsOrderItemsItemRefund `json:"Refund"` // 商品 退款/退货 信息 + SubOrderID string `json:"SubOrderID"` // 售后订单ID + SubStatus int64 `json:"SubStatus"` // 自订单状态,枚举参照 【退换货枚举值】 +} +type AppendSubInfoRequestDataItemEXTSubsOrder struct { + Items []AppendSubInfoRequestDataItemEXTSubsOrderItemsItem `json:"Items"` // +} +type AppendSubInfoRequestDataItemEXT struct { + SubsOrder AppendSubInfoRequestDataItemEXTSubsOrder `json:"SubsOrder"` // 售后订单信息 +} +type AppendSubInfoRequestDataItem struct { + BizAPPID string `json:"BizAPPID"` // 小程序的appKey + CateID int64 `json:"CateID"` // 2:订单种类-虚拟物品 + EXT AppendSubInfoRequestDataItemEXT `json:"EXT"` // 拓展字段 根据资产的不同其结构也不固定 此处以订单为例 + ResourceID string `json:"ResourceID"` // 开发者接入的唯一订单ID +} + +// 响应结构体 + +type AppendSubInfoResponsedataItem struct { + BizAppID string `json:"biz_app_id"` // POST请求参数中BizAPPID + CateID string `json:"cate_id"` // POST请求参数中CateID + ResourceID string `json:"resource_id"` // POST请求参数中ResourceID + RowsAffected string `json:"rows_affected"` // 请求受影响行数(即请求是否成功 0为失败 非0为成功) +} + +type AppendSubInfoResponse struct { + Data []AppendSubInfoResponsedataItem `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// AppendSubInfo +func AppendSubInfo(params *AppendSubInfoRequest) ([]AppendSubInfoResponsedataItem, error) { + var ( + err error + defaultRet []AppendSubInfoResponsedataItem + ) + respData := &AppendSubInfoResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeJSON). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/ordercenter/append/sub/info") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("open_id", params.OpenID) + client.AddGetParam("scene_id", params.SceneID) + client.AddGetParam("scene_type", fmt.Sprintf("%v", params.SceneType)) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + postData := map[string]interface{}{ + "Data": params.Data, + } + bts, err := json.Marshal(postData) + if err != nil { + return defaultRet, err + } + client.SetBody(bts) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/order/updateMainInfo.go b/openapi/tp/order/updateMainInfo.go new file mode 100644 index 0000000..5ea43b8 --- /dev/null +++ b/openapi/tp/order/updateMainInfo.go @@ -0,0 +1,141 @@ +package order + +import ( + "encoding/json" + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// UpdateMainInfoRequest 请求结构体 +type UpdateMainInfoRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + OpenID string // 用户 openId + SceneID string // 百度收银台分配的平台订单 ID ,通知支付状态接口返回的 orderId + SceneType int64 // 支付场景类型,开发者请默认传 2 + Data []UpdateMainInfoRequestDataItem // +} + +type UpdateMainInfoRequestDataItemEXTMainOrderOrderDetail struct { + Name string `json:"Name"` // + Status int64 `json:"Status"` // + SwanSchema string `json:"SwanSchema"` // +} +type UpdateMainInfoRequestDataItemEXTMainOrderProductsItemSkuAttrItem struct { + Name string `json:"Name"` // + Value string `json:"Value"` // +} +type UpdateMainInfoRequestDataItemEXTMainOrderProductsItem struct { + Desc string `json:"Desc"` // 商品详情 + ID string `json:"ID"` // 商品ID + ImgList []string `json:"ImgList"` // 商品图片地址 + Name string `json:"Name"` // 商品名称 + PayPrice int64 `json:"PayPrice"` // 实付价格,单位分。 + Price int64 `json:"Price"` // 商品原价,单位分。 + Quantity int64 `json:"Quantity"` // 商品数量 + SkuAttr []UpdateMainInfoRequestDataItemEXTMainOrderProductsItemSkuAttrItem `json:"SkuAttr"` // 商品SKU属性 +} +type UpdateMainInfoRequestDataItemEXTMainOrderPaymentPreferentialInfoItem struct { + Name string `json:"Name"` // 名称 + Quantity int64 `json:"Quantity"` // 数量 + Value int64 `json:"Value"` // 优惠金额,单位分 +} +type UpdateMainInfoRequestDataItemEXTMainOrderPaymentPaymentInfoItem struct { + Name string `json:"Name"` // 展示名称 + Quantity int64 `json:"Quantity"` // 数量 + Value int64 `json:"Value"` // 付款金额,单位分 +} +type UpdateMainInfoRequestDataItemEXTMainOrderPayment struct { + Amount int64 `json:"Amount"` // 合计金额,单位分 + IsPayment bool `json:"IsPayment"` // 是否支付 + Method int64 `json:"Method"` // 支付方式 + PaymentInfo []UpdateMainInfoRequestDataItemEXTMainOrderPaymentPaymentInfoItem `json:"PaymentInfo"` // 付款信息 + PreferentialInfo []UpdateMainInfoRequestDataItemEXTMainOrderPaymentPreferentialInfoItem `json:"PreferentialInfo"` // 优惠信息 + Time int64 `json:"Time"` // 付款时间,时间戳 +} +type UpdateMainInfoRequestDataItemEXTMainOrderAppraise struct { + Name string `json:"Name"` // + Status int64 `json:"Status"` // + SwanSchema string `json:"SwanSchema"` // +} +type UpdateMainInfoRequestDataItemEXTMainOrder struct { + Appraise UpdateMainInfoRequestDataItemEXTMainOrderAppraise `json:"Appraise"` // 订单评价跳转 + OrderDetail UpdateMainInfoRequestDataItemEXTMainOrderOrderDetail `json:"OrderDetail"` // 订单详情跳转 + Payment UpdateMainInfoRequestDataItemEXTMainOrderPayment `json:"Payment"` // 支付信息 + Products []UpdateMainInfoRequestDataItemEXTMainOrderProductsItem `json:"Products"` // 商品信息 +} +type UpdateMainInfoRequestDataItemEXT struct { + MainOrder UpdateMainInfoRequestDataItemEXTMainOrder `json:"MainOrder"` // 订单信息 +} +type UpdateMainInfoRequestDataItem struct { + BizAPPID string `json:"BizAPPID"` // 小程序的key + CateID int64 `json:"CateID"` // 2:订单种类-虚拟物品 + EXT UpdateMainInfoRequestDataItemEXT `json:"EXT"` // 拓展字段 此处以订单为例 + ResourceID string `json:"ResourceID"` // 开发者接入的唯一订单ID + Status int64 `json:"Status"` // 200:订单状态-已完成交易 +} + +// 响应结构体 + +type UpdateMainInfoResponsedataItem struct { + BizAppID string `json:"biz_app_id"` // POST请求参数中BizAPPID + CateID string `json:"cate_id"` // POST请求参数中CateID + ResourceID string `json:"resource_id"` // POST请求参数中ResourceID + RowsAffected string `json:"rows_affected"` // 请求受影响行数(即请求是否成功 0为失败 非0为成功) +} + +type UpdateMainInfoResponse struct { + Data []UpdateMainInfoResponsedataItem `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// UpdateMainInfo +func UpdateMainInfo(params *UpdateMainInfoRequest) ([]UpdateMainInfoResponsedataItem, error) { + var ( + err error + defaultRet []UpdateMainInfoResponsedataItem + ) + respData := &UpdateMainInfoResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeJSON). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/ordercenter/update/main/info") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("open_id", params.OpenID) + client.AddGetParam("scene_id", params.SceneID) + client.AddGetParam("scene_type", fmt.Sprintf("%v", params.SceneType)) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + postData := map[string]interface{}{ + "Data": params.Data, + } + bts, err := json.Marshal(postData) + if err != nil { + return defaultRet, err + } + client.SetBody(bts) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/order/updateMainStatus.go b/openapi/tp/order/updateMainStatus.go new file mode 100644 index 0000000..5b997c0 --- /dev/null +++ b/openapi/tp/order/updateMainStatus.go @@ -0,0 +1,89 @@ +package order + +import ( + "encoding/json" + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// UpdateMainStatusRequest 请求结构体 +type UpdateMainStatusRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + OpenID string // 用户 openId + SceneID string // 百度收银台分配的平台订单 ID ,通知支付状态接口返回的 orderId + SceneType int64 // 支付场景类型,开发者请默认传 2 + Data []UpdateMainStatusRequestDataItem // +} + +type UpdateMainStatusRequestDataItem struct { + BizAPPID string `json:"BizAPPID"` // 应用小程序Key + CateID int64 `json:"CateID"` // 2:订单种类-虚拟物品 + ResourceID string `json:"ResourceID"` // 开发者接入的唯一订单ID + Status int64 `json:"Status"` // 200:订单状态-已完成交易 +} + +// 响应结构体 + +type UpdateMainStatusResponsedataItem struct { + BizAppID string `json:"biz_app_id"` // POST请求参数中BizAPPID + CateID string `json:"cate_id"` // POST请求参数中CateID + ResourceID string `json:"resource_id"` // POST请求参数中ResourceID + RowsAffected string `json:"rows_affected"` // 请求受影响行数(即请求是否成功 0为失败 非0为成功) +} + +type UpdateMainStatusResponse struct { + Data []UpdateMainStatusResponsedataItem `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// UpdateMainStatus +func UpdateMainStatus(params *UpdateMainStatusRequest) ([]UpdateMainStatusResponsedataItem, error) { + var ( + err error + defaultRet []UpdateMainStatusResponsedataItem + ) + respData := &UpdateMainStatusResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeJSON). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/ordercenter/update/main/status") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("open_id", params.OpenID) + client.AddGetParam("scene_id", params.SceneID) + client.AddGetParam("scene_type", fmt.Sprintf("%v", params.SceneType)) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + postData := map[string]interface{}{ + "Data": params.Data, + } + bts, err := json.Marshal(postData) + if err != nil { + return defaultRet, err + } + client.SetBody(bts) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/order/updateSubInfo.go b/openapi/tp/order/updateSubInfo.go new file mode 100644 index 0000000..7a395f7 --- /dev/null +++ b/openapi/tp/order/updateSubInfo.go @@ -0,0 +1,122 @@ +package order + +import ( + "encoding/json" + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// UpdateSubInfoRequest 请求结构体 +type UpdateSubInfoRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + OpenID string // 用户openId + SceneID string // 百度收银台分配的平台订单ID,通知支付状态接口返回的orderId + SceneType int64 // 支付场景类型,开发者请默认传2 + Data []UpdateSubInfoRequestDataItem // +} + +type UpdateSubInfoRequestDataItemEXTSubsOrderItemsItemOrderDetail struct { + AndroidSchema string `json:"AndroidSchema"` // + H5Schema string `json:"H5Schema"` // + IPhoneSchema string `json:"IPhoneSchema"` // + Name string `json:"Name"` // + Status int64 `json:"Status"` // + SwanSchema string `json:"SwanSchema"` // +} +type UpdateSubInfoRequestDataItemEXTSubsOrderItemsItemRefundProductItem struct { + Amount int64 `json:"Amount"` // + ID string `json:"ID"` // + Quantity int64 `json:"Quantity"` // +} +type UpdateSubInfoRequestDataItemEXTSubsOrderItemsItemRefund struct { + Amount int64 `json:"Amount"` // + Product []UpdateSubInfoRequestDataItemEXTSubsOrderItemsItemRefundProductItem `json:"Product"` // +} +type UpdateSubInfoRequestDataItemEXTSubsOrderItemsItem struct { + CTime int64 `json:"CTime"` // + MTime int64 `json:"MTime"` // + OrderDetail UpdateSubInfoRequestDataItemEXTSubsOrderItemsItemOrderDetail `json:"OrderDetail"` // + OrderType int64 `json:"OrderType"` // + Refund UpdateSubInfoRequestDataItemEXTSubsOrderItemsItemRefund `json:"Refund"` // + SubOrderID string `json:"SubOrderID"` // + SubStatus int64 `json:"SubStatus"` // +} +type UpdateSubInfoRequestDataItemEXTSubsOrder struct { + Items []UpdateSubInfoRequestDataItemEXTSubsOrderItemsItem `json:"Items"` // + Status int64 `json:"Status"` // +} +type UpdateSubInfoRequestDataItemEXT struct { + SubsOrder UpdateSubInfoRequestDataItemEXTSubsOrder `json:"SubsOrder"` // +} +type UpdateSubInfoRequestDataItem struct { + BizAPPID string `json:"BizAPPID"` // + CateID int64 `json:"CateID"` // + EXT UpdateSubInfoRequestDataItemEXT `json:"EXT"` // + ResourceID string `json:"ResourceID"` // +} + +// 响应结构体 + +type UpdateSubInfoResponsedataItem struct { + BizAppID string `json:"biz_app_id"` // POST请求参数中BizAPPID + CateID string `json:"cate_id"` // POST请求参数中CateID + ResourceID string `json:"resource_id"` // POST请求参数中ResourceID + RowsAffected string `json:"rows_affected"` // 请求受影响行数(即请求是否成功 0为失败 非0为成功) +} + +type UpdateSubInfoResponse struct { + Data []UpdateSubInfoResponsedataItem `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// UpdateSubInfo +func UpdateSubInfo(params *UpdateSubInfoRequest) ([]UpdateSubInfoResponsedataItem, error) { + var ( + err error + defaultRet []UpdateSubInfoResponsedataItem + ) + respData := &UpdateSubInfoResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeJSON). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/ordercenter/update/sub/info") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("open_id", params.OpenID) + client.AddGetParam("scene_id", params.SceneID) + client.AddGetParam("scene_type", fmt.Sprintf("%v", params.SceneType)) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + postData := map[string]interface{}{ + "Data": params.Data, + } + bts, err := json.Marshal(postData) + if err != nil { + return defaultRet, err + } + client.SetBody(bts) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/order/updateSubStatus.go b/openapi/tp/order/updateSubStatus.go new file mode 100644 index 0000000..e4ee520 --- /dev/null +++ b/openapi/tp/order/updateSubStatus.go @@ -0,0 +1,100 @@ +package order + +import ( + "encoding/json" + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// UpdateSubStatusRequest 请求结构体 +type UpdateSubStatusRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + OpenID string // 用户openId + SceneID string // 百度收银台分配的平台订单ID,通知支付状态接口返回的orderId + SceneType int64 // 支付场景类型,开发者请默认传2 + Data []UpdateSubStatusRequestDataItem // +} + +type UpdateSubStatusRequestDataItemEXTSubsOrderItemsItem struct { + SubOrderID string `json:"SubOrderID"` // 售后订单ID + SubStatus int64 `json:"SubStatus"` // 自订单状态,枚举参照 【退换货枚举值】 +} +type UpdateSubStatusRequestDataItemEXTSubsOrder struct { + Items []UpdateSubStatusRequestDataItemEXTSubsOrderItemsItem `json:"Items"` // + Status int64 `json:"Status"` // +} +type UpdateSubStatusRequestDataItemEXT struct { + SubsOrder UpdateSubStatusRequestDataItemEXTSubsOrder `json:"SubsOrder"` // 售后订单信息 +} +type UpdateSubStatusRequestDataItem struct { + BizAPPID string `json:"BizAPPID"` // 小程序的appKey + CateID int64 `json:"CateID"` // 2:订单种类-虚拟物品 + EXT UpdateSubStatusRequestDataItemEXT `json:"EXT"` // 拓展字段 根据资产的不同其结构也不固定 此处以订单为例 + ResourceID string `json:"ResourceID"` // 开发者接入的唯一订单ID +} + +// 响应结构体 + +type UpdateSubStatusResponsedataItem struct { + BizAppID string `json:"biz_app_id"` // POST请求参数中BizAPPID + CateID string `json:"cate_id"` // POST请求参数中CateID + ResourceID string `json:"resource_id"` // POST请求参数中ResourceID + RowsAffected string `json:"rows_affected"` // 请求受影响行数(即请求是否成功 0为失败 非0为成功) +} + +type UpdateSubStatusResponse struct { + Data []UpdateSubStatusResponsedataItem `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// UpdateSubStatus +func UpdateSubStatus(params *UpdateSubStatusRequest) ([]UpdateSubStatusResponsedataItem, error) { + var ( + err error + defaultRet []UpdateSubStatusResponsedataItem + ) + respData := &UpdateSubStatusResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeJSON). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/ordercenter/update/sub/status") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("open_id", params.OpenID) + client.AddGetParam("scene_id", params.SceneID) + client.AddGetParam("scene_type", fmt.Sprintf("%v", params.SceneType)) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + postData := map[string]interface{}{ + "Data": params.Data, + } + bts, err := json.Marshal(postData) + if err != nil { + return defaultRet, err + } + client.SetBody(bts) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/pay/applyOrderRefund.go b/openapi/tp/pay/applyOrderRefund.go new file mode 100644 index 0000000..5453a8c --- /dev/null +++ b/openapi/tp/pay/applyOrderRefund.go @@ -0,0 +1,84 @@ +package pay + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// ApplyOrderRefundRequest 请求结构体 +type ApplyOrderRefundRequest struct { + AccessToken string // 第三方平台的接口调用凭据 + ApplyRefundMoney interface{} // 退款金额(单位:分),该字段最大不能超过支付回调中的总金额(totalMoney)1.如不填金额时,默认整单发起退款2.含有百度平台营销的订单,目前只支持整单发起退款,不支持部分多次退款 + BizRefundBatchID string // 开发者退款批次 + IsSkipAudit int64 // 是否跳过审核,不需要百度请求开发者退款审核请传 1,默认为0; 0:不跳过开发者业务方审核;1:跳过开发者业务方审核。若不跳过审核,请对接请求业务方退款审核接口 + OrderID int64 // 百度收银台订单 ID + RefundReason string // 退款原因 + RefundType int64 // 退款类型 1:用户发起退款;2:开发者业务方客服退款;3:开发者服务异常退款。 + TpOrderID string // 开发者订单 ID + UserID int64 // 百度收银台用户 ID + RefundNotifyURL interface{} // 退款通知 url ,不传时默认为在开发者后台配置的 url + PmAppKey string // 调起百度收银台的支付服务 appKey +} + +// 响应结构体 + +type ApplyOrderRefundResponsedata struct { + RefundBatchID string `json:"refundBatchId"` // 平台退款批次号 + RefundPayMoney int64 `json:"refundPayMoney"` // 平台可退退款金额【分为单位】 +} + +type ApplyOrderRefundResponse struct { + Data ApplyOrderRefundResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// ApplyOrderRefund +func ApplyOrderRefund(params *ApplyOrderRefundRequest) (*ApplyOrderRefundResponsedata, error) { + var ( + err error + defaultRet *ApplyOrderRefundResponsedata + ) + respData := &ApplyOrderRefundResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pay/paymentservice/tp/applyOrderRefund") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("applyRefundMoney", params.ApplyRefundMoney) + client.AddPostParam("bizRefundBatchId", params.BizRefundBatchID) + client.AddPostParam("isSkipAudit", fmt.Sprintf("%v", params.IsSkipAudit)) + client.AddPostParam("orderId", fmt.Sprintf("%v", params.OrderID)) + client.AddPostParam("refundReason", params.RefundReason) + client.AddPostParam("refundType", fmt.Sprintf("%v", params.RefundType)) + client.AddPostParam("tpOrderId", params.TpOrderID) + client.AddPostParam("userId", fmt.Sprintf("%v", params.UserID)) + client.AddPostParam("refundNotifyUrl", params.RefundNotifyURL) + client.AddPostParam("pmAppKey", params.PmAppKey) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pay/closeOrder.go b/openapi/tp/pay/closeOrder.go new file mode 100644 index 0000000..cff7c13 --- /dev/null +++ b/openapi/tp/pay/closeOrder.go @@ -0,0 +1,61 @@ +package pay + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// CloseOrderRequest 请求结构体 +type CloseOrderRequest struct { + AccessToken string // 第三方平台的接口调用凭据 + OrderID string // 百度订单 ID + PmAppKey string // 调起百度收银台的支付服务 appKey +} + +// 响应结构体 + +type CloseOrderResponse struct { + Data bool `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// CloseOrder +func CloseOrder(params *CloseOrderRequest) (bool, error) { + var ( + err error + defaultRet bool + ) + respData := &CloseOrderResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pay/paymentservice/tp/cancelOrder") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("orderId", params.OrderID) + client.AddGetParam("pmAppKey", params.PmAppKey) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/pay/createPayAccount.go b/openapi/tp/pay/createPayAccount.go new file mode 100644 index 0000000..c41c375 --- /dev/null +++ b/openapi/tp/pay/createPayAccount.go @@ -0,0 +1,124 @@ +package pay + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// CreatePayAccountRequest 请求结构体 +type CreatePayAccountRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + BusinessScope string // 经营范围。营业执照上经营范围,长度 2-2000 个字符 + BusinessProvince string // 经营范围所在省。 + BusinessCity string // 经营范围所在市。 + BusinessDetailAddress string // 经营地址详情。 + LegalPerson string // 法人姓名,即身份证姓名(汉字,限制在 1 - 25 位)。 + LegalID string // 身份证号(长度限定为18位)。 + IDCardFrontURL string // 身份证正面地址(必须是我们服务上传生成的图片URL,参见图片上传) + IDCardBackURL string // 身份证反面地址(必须是我们服务上传生成的图片URL,参见图片上传) + LegalCardStartTime string // 法人身份证开始时间 例:2020-12-31 + LegalCardEndTime string // 法人身份证结束时间 例:2020-12-31,长期有效传 9999-12-31 + LicenseStartTime string // 营业执照证开始时间 例:2020-12-31,长期有效传营业执照核准日期 + LicenseEndTime string // 营业执照结束时间 例:2020-12-31,长期有效传 9999-12-31 + IndustryID int64 // 行业id 见查询行业id列表接口 + ManagePermitURL string // 若行业id需要资质,资质图片地址 + AuthCapital string // 注册资本 + ManagerSame int64 // 经营控股人是否与法人一致,0 - 不一致;1 - 一致。如果不一致则相关信息必传否则不传 + Manager interface{} // 最大股东姓名 + ManagerCard interface{} // 最大股东身份证 + ManagerCardType interface{} // 最大股东身份证类型 + ManagerCardFrontURL interface{} // 最大股东身份证正面地址 + ManagerCardBackURL interface{} // 最大股东身份证反面地址 + ManagerCardStartTime interface{} // 最大股东证件开始时间 + ManagerCardEndTime interface{} // 最大股东证件结束时间 + BenefitSame int64 // 受益人是否与法人一致,0 - 不一致;1 - 一致。如果不一致则相关信息必传否则不传 + Benefit interface{} // 受益人姓名 + BenefitCard interface{} // 受益人身份证 + BenefitCardType interface{} // 受益人身份证类型 + BenefitCardFrontURL interface{} // 受益人身份证正面地址 + BenefitCardBackURL interface{} // 受益人身份证反面地址 + BenefitStartTime interface{} // 受益人证件开始时间 + BenefitEndTime interface{} // 受益人证件结束时间 +} + +// 响应结构体 + +type CreatePayAccountResponsedata struct { +} + +type CreatePayAccountResponse struct { + Data CreatePayAccountResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// CreatePayAccount +func CreatePayAccount(params *CreatePayAccountRequest) (*CreatePayAccountResponsedata, error) { + var ( + err error + defaultRet *CreatePayAccountResponsedata + ) + respData := &CreatePayAccountResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pay/account/create") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("business_scope", params.BusinessScope) + client.AddPostParam("business_province", params.BusinessProvince) + client.AddPostParam("business_city", params.BusinessCity) + client.AddPostParam("business_detail_address", params.BusinessDetailAddress) + client.AddPostParam("legal_person", params.LegalPerson) + client.AddPostParam("legal_id", params.LegalID) + client.AddPostParam("id_card_front_url", params.IDCardFrontURL) + client.AddPostParam("id_card_back_url", params.IDCardBackURL) + client.AddPostParam("legal_card_start_time", params.LegalCardStartTime) + client.AddPostParam("legal_card_end_time", params.LegalCardEndTime) + client.AddPostParam("license_start_time", params.LicenseStartTime) + client.AddPostParam("license_end_time", params.LicenseEndTime) + client.AddPostParam("industry_id", fmt.Sprintf("%v", params.IndustryID)) + client.AddPostParam("manage_permit_url", params.ManagePermitURL) + client.AddPostParam("auth_capital", params.AuthCapital) + client.AddPostParam("manager_same", fmt.Sprintf("%v", params.ManagerSame)) + client.AddPostParam("manager", params.Manager) + client.AddPostParam("manager_card", params.ManagerCard) + client.AddPostParam("manager_card_type", params.ManagerCardType) + client.AddPostParam("manager_card_front_url", params.ManagerCardFrontURL) + client.AddPostParam("manager_card_back_url", params.ManagerCardBackURL) + client.AddPostParam("manager_card_start_time", params.ManagerCardStartTime) + client.AddPostParam("manager_card_end_time", params.ManagerCardEndTime) + client.AddPostParam("benefit_same", fmt.Sprintf("%v", params.BenefitSame)) + client.AddPostParam("benefit", params.Benefit) + client.AddPostParam("benefit_card", params.BenefitCard) + client.AddPostParam("benefit_card_type", params.BenefitCardType) + client.AddPostParam("benefit_card_front_url", params.BenefitCardFrontURL) + client.AddPostParam("benefit_card_back_url", params.BenefitCardBackURL) + client.AddPostParam("benefit_start_time", params.BenefitStartTime) + client.AddPostParam("benefit_end_time", params.BenefitEndTime) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pay/createPaymentService.go b/openapi/tp/pay/createPaymentService.go new file mode 100644 index 0000000..d77df94 --- /dev/null +++ b/openapi/tp/pay/createPaymentService.go @@ -0,0 +1,88 @@ +package pay + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// CreatePaymentServiceRequest 请求结构体 +type CreatePaymentServiceRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + AppName string // 服务名称。支付服务的名称 + ServicePhone string // 服务电话。 + BankAccount string // 银行账户。银行卡开户名 + BankCard string // 银行卡号。 + BankName string // 所属银行。由数据字典接口取 + BankBranch string // 支行信息。自由输入,例如:招商银行北京上地支行 + OpenProvince string // 开户省份。由数据字典接口取 + OpenCity string // 开户城市。由数据字典接口取 + PaymentDays int64 // 结算周期。由数据字典接口取 + CommissionRate int64 // 佣金比例。固定传 6,小程序固定为千分之六(6) + PoolCashPledge int64 // 打款预留(元)。提现后的保留金额 + DayMaxFrozenAmount int64 // 每日退款上限(元)。每天最大退款限额10000元 + BankPhoneNumber string // 银行卡预留手机号 +} + +// 响应结构体 + +type CreatePaymentServiceResponsedata struct { +} + +type CreatePaymentServiceResponse struct { + Data CreatePaymentServiceResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// CreatePaymentService +func CreatePaymentService(params *CreatePaymentServiceRequest) (*CreatePaymentServiceResponsedata, error) { + var ( + err error + defaultRet *CreatePaymentServiceResponsedata + ) + respData := &CreatePaymentServiceResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pay/paymentservice/create") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("app_name", params.AppName) + client.AddPostParam("service_phone", params.ServicePhone) + client.AddPostParam("bank_account", params.BankAccount) + client.AddPostParam("bank_card", params.BankCard) + client.AddPostParam("bank_name", params.BankName) + client.AddPostParam("bank_branch", params.BankBranch) + client.AddPostParam("open_province", params.OpenProvince) + client.AddPostParam("open_city", params.OpenCity) + client.AddPostParam("payment_days", fmt.Sprintf("%v", params.PaymentDays)) + client.AddPostParam("commission_rate", fmt.Sprintf("%v", params.CommissionRate)) + client.AddPostParam("pool_cash_pledge", fmt.Sprintf("%v", params.PoolCashPledge)) + client.AddPostParam("day_max_frozen_amount", fmt.Sprintf("%v", params.DayMaxFrozenAmount)) + client.AddPostParam("bank_phone_number", params.BankPhoneNumber) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pay/downloadCapitalBill.go b/openapi/tp/pay/downloadCapitalBill.go new file mode 100644 index 0000000..e66164b --- /dev/null +++ b/openapi/tp/pay/downloadCapitalBill.go @@ -0,0 +1,73 @@ +package pay + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// DownloadCapitalBillRequest 请求结构体 +type DownloadCapitalBillRequest struct { + AccessToken string // 第三方平台的接口调用凭据 + BillTime string // 对账单日期格式 yyyy-MM-dd + PmAppKey string // 调起百度收银台的支付服务 appKey +} + +// 响应结构体 + +type DownloadCapitalBillResponsedatadataItem struct { + CreateTime string `json:"createTime"` // 创建时间 + DownloadName string `json:"downloadName"` // 账单名称 + ExportStatus int64 `json:"exportStatus"` // 导出进度 + URL string `json:"url"` // 下载地址 +} + +type DownloadCapitalBillResponsedata struct { + Data []DownloadCapitalBillResponsedatadataItem `json:"data"` // + TotalCount int64 `json:"totalCount"` // +} + +type DownloadCapitalBillResponse struct { + Data DownloadCapitalBillResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// DownloadCapitalBill +func DownloadCapitalBill(params *DownloadCapitalBillRequest) (*DownloadCapitalBillResponsedata, error) { + var ( + err error + defaultRet *DownloadCapitalBillResponsedata + ) + respData := &DownloadCapitalBillResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pay/paymentservice/tp/capitaBill") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("billTime", params.BillTime) + client.AddGetParam("pmAppKey", params.PmAppKey) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pay/downloadOrderBill.go b/openapi/tp/pay/downloadOrderBill.go new file mode 100644 index 0000000..968e846 --- /dev/null +++ b/openapi/tp/pay/downloadOrderBill.go @@ -0,0 +1,73 @@ +package pay + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// DownloadOrderBillRequest 请求结构体 +type DownloadOrderBillRequest struct { + AccessToken string // 第三方平台的接口调用凭据 + BillTime string // 对账单日期格式 yyyy-MM-dd + PmAppKey string // 调起百度收银台的支付服务 appKey +} + +// 响应结构体 + +type DownloadOrderBillResponsedatadataItem struct { + CreateTime string `json:"createTime"` // 创建时间 + DownloadName string `json:"downloadName"` // 账单名称 + ExportStatus float64 `json:"exportStatus"` // 导出进度 + URL string `json:"url"` // 下载地址 +} + +type DownloadOrderBillResponsedata struct { + Data []DownloadOrderBillResponsedatadataItem `json:"data"` // + TotalCount int64 `json:"totalCount"` // +} + +type DownloadOrderBillResponse struct { + Data DownloadOrderBillResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// DownloadOrderBill +func DownloadOrderBill(params *DownloadOrderBillRequest) (*DownloadOrderBillResponsedata, error) { + var ( + err error + defaultRet *DownloadOrderBillResponsedata + ) + respData := &DownloadOrderBillResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pay/paymentservice/tp/orderBill") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("billTime", params.BillTime) + client.AddGetParam("pmAppKey", params.PmAppKey) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pay/getBindPaymentService.go b/openapi/tp/pay/getBindPaymentService.go new file mode 100644 index 0000000..3e548f6 --- /dev/null +++ b/openapi/tp/pay/getBindPaymentService.go @@ -0,0 +1,78 @@ +package pay + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetBindPaymentServiceRequest 请求结构体 +type GetBindPaymentServiceRequest struct { + AccessToken string // 授权小程序的接口调用凭据 +} + +// 响应结构体 + +type GetBindPaymentServiceResponsedata struct { + AppName string `json:"app_name"` // 服务名称。支付服务的名称 + BankAccount string `json:"bank_account"` // 银行账户。银行卡开户名 + BankBranch string `json:"bank_branch"` // 支行信息。自由输入,例如:招商银行北京上地支行 + BankCard string `json:"bank_card"` // 银行卡号。 + BankName string `json:"bank_name"` // 所属银行。由数据字典接口取 + CommissionRate int64 `json:"commission_rate"` // 佣金比例。固定传 6,小程序固定为千分之六(6) + DayMaxFrozenAmount int64 `json:"day_max_frozen_amount"` // 每日退款上限(元)。每天最大退款限额10000元 + DealID string `json:"deal_id"` // 百度收银台的财务结算凭证。详见电商技术平台术语 + FailReason string `json:"fail_reason"` // 驳回回执。 + OpenCity string `json:"open_city"` // 开户城市。由数据字典接口取 + OpenProvince string `json:"open_province"` // 开户省份。由数据字典接口取 + OpenStatus int64 `json:"open_status"` // 开通状态. 0:新建 1:审核中 2:审核通过 3:驳回 + PaymentDays int64 `json:"payment_days"` // 结算周期。由数据字典接口取 + PlatformPublicKey string `json:"platform_public_key"` // 平台公钥。详见电商技术平台术语 + PmAppID int64 `json:"pm_app_id"` // 服务id。支付服务内部标示 id + PmAppKey string `json:"pm_app_key"` // 服务Key。支付服务内部标示key + PoolCashPledge int64 `json:"pool_cash_pledge"` // 打款预留(元)。提现后的保留金额 + ServicePhone string `json:"service_phone"` // 服务电话。 +} + +type GetBindPaymentServiceResponse struct { + Data GetBindPaymentServiceResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetBindPaymentService +func GetBindPaymentService(params *GetBindPaymentServiceRequest) (*GetBindPaymentServiceResponsedata, error) { + var ( + err error + defaultRet *GetBindPaymentServiceResponsedata + ) + respData := &GetBindPaymentServiceResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pay/paymentservice/getbindservice") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pay/getByTpOrderId.go b/openapi/tp/pay/getByTpOrderId.go new file mode 100644 index 0000000..f322d12 --- /dev/null +++ b/openapi/tp/pay/getByTpOrderId.go @@ -0,0 +1,85 @@ +package pay + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetByTpOrderIDRequest 请求结构体 +type GetByTpOrderIDRequest struct { + AccessToken string // 第三方平台的接口调用凭据 + TpOrderID string // 开发者订单 ID + PmAppKey string // 调起百度收银台的支付服务 appKey +} + +// 响应结构体 + +type GetByTpOrderIDResponsedata struct { + AppID int64 `json:"appId"` // 小程序appid + AppKey int64 `json:"appKey"` // 小程序appkey + BizInfo string `json:"bizInfo"` // 业务扩展字段 + Count int64 `json:"count"` // 数量 + CreateTime int64 `json:"createTime"` // 创建时间 + DealID int64 `json:"dealId"` // 跳转百度收银台支付必带参数之一 + OpenID int64 `json:"openId"` // 小程序用户id + OrderID int64 `json:"orderId"` // 百度订单ID + OriPrice int64 `json:"oriPrice"` // 原价 + ParentOrderID int64 `json:"parentOrderId"` // 购物车订单父订单ID + ParentType int64 `json:"parentType"` // 订单类型 + PayMoney int64 `json:"payMoney"` // 支付金额 + SettlePrice int64 `json:"settlePrice"` // 结算金额 + Status int64 `json:"status"` // 订单状态 -1订单已取消/订单已异常退款 1订单支付中 2订单已支付 + SubStatus int64 `json:"subStatus"` // 订单子状态 + TotalMoney int64 `json:"totalMoney"` // 总金额 + TpID int64 `json:"tpId"` // tpId + TpOrderID string `json:"tpOrderId"` // 开发者订单ID + TradeNo string `json:"tradeNo"` // 支付单号 + Type int64 `json:"type"` // ordertype + UserID int64 `json:"userId"` // 用户 id 与支付状态通知中的保持一致 +} + +type GetByTpOrderIDResponse struct { + Data GetByTpOrderIDResponsedata `json:"data"` // + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetByTpOrderID +func GetByTpOrderID(params *GetByTpOrderIDRequest) (*GetByTpOrderIDResponsedata, error) { + var ( + err error + defaultRet *GetByTpOrderIDResponsedata + ) + respData := &GetByTpOrderIDResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pay/paymentservice/tp/findByTpOrderId") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("tpOrderId", params.TpOrderID) + client.AddGetParam("pmAppKey", params.PmAppKey) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pay/getExpenseDetail.go b/openapi/tp/pay/getExpenseDetail.go new file mode 100644 index 0000000..64e670e --- /dev/null +++ b/openapi/tp/pay/getExpenseDetail.go @@ -0,0 +1,73 @@ +package pay + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetExpenseDetailRequest 请求结构体 +type GetExpenseDetailRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + TaskID int64 // 支付凭证 id。 +} + +// 响应结构体 + +type GetExpenseDetailResponsedatadataItem struct { + PaidAccount string `json:"paid_account"` // 收款账号。收款的银行卡号 + PaidMoney string `json:"paid_money"` // 交易收款金额(元) + PaymentStatus string `json:"payment_status"` // 收款状态。状态包含:待出纳支付、打款中、成功、失败 + ReceiveUser string `json:"receive_user"` // 收款人姓名 + Remark string `json:"remark"` // 备注信息。交易支出备注信息 +} + +type GetExpenseDetailResponsedata struct { + Data []GetExpenseDetailResponsedatadataItem `json:"data"` // 数据详情 +} + +type GetExpenseDetailResponse struct { + Data GetExpenseDetailResponsedata `json:"data"` // + Errno int64 `json:"errno"` // + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetExpenseDetail +func GetExpenseDetail(params *GetExpenseDetailRequest) (*GetExpenseDetailResponsedata, error) { + var ( + err error + defaultRet *GetExpenseDetailResponsedata + ) + respData := &GetExpenseDetailResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pay/paymentservice/financeexpense/paydetail") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("task_id", fmt.Sprintf("%v", params.TaskID)) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pay/getExpenseList.go b/openapi/tp/pay/getExpenseList.go new file mode 100644 index 0000000..a45905e --- /dev/null +++ b/openapi/tp/pay/getExpenseList.go @@ -0,0 +1,84 @@ +package pay + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetExpenseListRequest 请求结构体 +type GetExpenseListRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + CurrentPage int64 // 当前页数。起始为 1 + PageSize int64 // 分页。每页数量 + StartTime string // 开始日期(格式如: 2019-01-02 ) + EndTime string // 结束日期(格式如: 2019-01-02 ) +} + +// 响应结构体 + +type GetExpenseListResponsedatadataItem struct { + EndTime string `json:"end_time"` // 账期结束时间。格式为 yyyy-MM-dd HH:mm:ss,如:2019-06-07 00:00:00 + Money string `json:"money"` // 金额(元)。当前交易的金额 + OperateTime string `json:"operate_time"` // 日期。格式为 yyyy-MM-dd HH:mm:ss,如:2019-06-07 00:00:00 + PayStatus string `json:"pay_status"` // 支出打款状态。状态包含:待出纳支付、打款中、成功、失败 + StartTime string `json:"start_time"` // 账期开始时间。格式为 yyyy-MM-dd HH:mm:ss,如:2019-06-07 00:00:00 + TaskID int64 `json:"task_id"` // 支付凭证 id。用于查询支出打款详情 + TypeID string `json:"type_id"` // 类型。如:收入货款、调整款、自动打款等 +} + +type GetExpenseListResponsedata struct { + Data []GetExpenseListResponsedatadataItem `json:"data"` // 支出列表详情 + ExpenseCount int64 `json:"expense_count"` // 支出次数总和 + ExpenseMoney string `json:"expense_money"` // 支出金额(元)。所有支出次数金额的汇总 + TotalCount int64 `json:"total_count"` // 数据总条数 +} + +type GetExpenseListResponse struct { + Data GetExpenseListResponsedata `json:"data"` // + Errno int64 `json:"errno"` // + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetExpenseList +func GetExpenseList(params *GetExpenseListRequest) (*GetExpenseListResponsedata, error) { + var ( + err error + defaultRet *GetExpenseListResponsedata + ) + respData := &GetExpenseListResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pay/paymentservice/financeexpense") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("current_page", fmt.Sprintf("%v", params.CurrentPage)) + client.AddGetParam("page_size", fmt.Sprintf("%v", params.PageSize)) + client.AddGetParam("start_time", params.StartTime) + client.AddGetParam("end_time", params.EndTime) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pay/getFinanceBalance.go b/openapi/tp/pay/getFinanceBalance.go new file mode 100644 index 0000000..8f1df8f --- /dev/null +++ b/openapi/tp/pay/getFinanceBalance.go @@ -0,0 +1,88 @@ +package pay + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetFinanceBalanceRequest 请求结构体 +type GetFinanceBalanceRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + StartTime string // 开始日期。格式如:2019-01-02。 + EndTime string // 结束日期。格式如: 2019-01-02。 + CurrentPage int64 // 当前页数。起始为 1 + PageSize int64 // 分页。每页数量 +} + +// 响应结构体 + +type GetFinanceBalanceResponsedatadataItem struct { + AdjustAmount string `json:"adjust_amount"` // 调整款(元)。如:商家作弊,交易会扣钱,会以调整款的形式。 + Income string `json:"income"` // 货款金额(元) + OperateTime string `json:"operate_time"` // 日期。格式为 yyyy-MM-dd,如:2019-06-07 + Others string `json:"others"` // 其他款项。佣金、返点与营销费用等金额 +} + +type GetFinanceBalanceResponsedata struct { + Adjustment string `json:"adjustment"` // 调整款(元)。如:商家作弊,交易会扣钱,会以调整款的形式。 + CurrentPage int64 `json:"current_page"` // 当前页码 + + Data []GetFinanceBalanceResponsedatadataItem `json:"data"` // 收入列表详情数据。 + FreeBalance string `json:"free_balance"` // 账户余额(元)。 + Income string `json:"income"` // 货款总金额(元)。 + Others string `json:"others"` // 其它款项(元)。一般为佣金、返点与营销费用等 + PageSize int64 `json:"page_size"` // 分页每页数量 + PaymentDue string `json:"payment_due"` // 支付时间。格式为 yyyy-MM-dd HH:mm:ss,如:2019-05-21 23:59:59 + Period int64 `json:"period"` // 当前付款周期(天)。 + TotalCount int64 `json:"total_count"` // 总页码数 +} + +type GetFinanceBalanceResponse struct { + Data GetFinanceBalanceResponsedata `json:"data"` // + Errno int64 `json:"errno"` // + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetFinanceBalance +func GetFinanceBalance(params *GetFinanceBalanceRequest) (*GetFinanceBalanceResponsedata, error) { + var ( + err error + defaultRet *GetFinanceBalanceResponsedata + ) + respData := &GetFinanceBalanceResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pay/paymentservice/financebalance") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("start_time", params.StartTime) + client.AddGetParam("end_time", params.EndTime) + client.AddGetParam("current_page", fmt.Sprintf("%v", params.CurrentPage)) + client.AddGetParam("page_size", fmt.Sprintf("%v", params.PageSize)) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pay/getIncomeDetail.go b/openapi/tp/pay/getIncomeDetail.go new file mode 100644 index 0000000..4d071de --- /dev/null +++ b/openapi/tp/pay/getIncomeDetail.go @@ -0,0 +1,86 @@ +package pay + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetIncomeDetailRequest 请求结构体 +type GetIncomeDetailRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + StartTime string // 开始日期。格式如:2019-01-02。 + CurrentPage int64 // 当前页数。起始为 1 + PageSize int64 // 分页。每页数量 +} + +// 响应结构体 + +type GetIncomeDetailResponsedatadataItem struct { + Money string `json:"money"` // 金额(元) + OperateTime string `json:"operate_time"` // 操作时间。格式为 yyyy-MM-dd,如:2019-06-07 + OptType string `json:"opt_type"` // 操作类型。包括:成交、使用、取消使用、退款 + OrderID int64 `json:"order_id"` // 平台订单号。百度平台订单ID + ThirdOrderID string `json:"third_order_id"` // 第三方订单号 +} + +type GetIncomeDetailResponsedata struct { + CurrentPage int64 `json:"current_page"` // 当前页数 + + Data []GetIncomeDetailResponsedatadataItem `json:"data"` // 列表详情数据 + Income string `json:"income"` // 货款(元) + IncomeAmount string `json:"income_amount"` // 验证(成交)总额(元) + OperateTime string `json:"operate_time"` // 操作日期。格式为 yyyy-MM-dd HH:mm:ss,如:2019-05-21 23:59:59 + PageSize int64 `json:"page_size"` // 分页每页数量 + Quantity int64 `json:"quantity"` // 验证(成交)数量 + RefundAmount string `json:"refund_amount"` // 退款总额(元) + TotalCount int64 `json:"total_count"` // 总数据数量 +} + +type GetIncomeDetailResponse struct { + Data GetIncomeDetailResponsedata `json:"data"` // + Errno int64 `json:"errno"` // + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetIncomeDetail +func GetIncomeDetail(params *GetIncomeDetailRequest) (*GetIncomeDetailResponsedata, error) { + var ( + err error + defaultRet *GetIncomeDetailResponsedata + ) + respData := &GetIncomeDetailResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pay/paymentservice/financebalance/incomedetail") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("start_time", params.StartTime) + client.AddGetParam("current_page", fmt.Sprintf("%v", params.CurrentPage)) + client.AddGetParam("page_size", fmt.Sprintf("%v", params.PageSize)) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pay/getOrderList.go b/openapi/tp/pay/getOrderList.go new file mode 100644 index 0000000..bfb3fa0 --- /dev/null +++ b/openapi/tp/pay/getOrderList.go @@ -0,0 +1,95 @@ +package pay + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetOrderListRequest 请求结构体 +type GetOrderListRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + Status string // 订单状态。 all:全部 、 1:待付款 、 2:已付款 、 3:已消费 、 4:退款中 、 5:已退款 、 6:退款失败 、7:已取消 + StartTime int64 // 起始时间戳,10位时间戳 + EndTime int64 // 起始时间戳,10位时间戳 + CurrentPage int64 // 当前页数。起始为 1 + PageSize int64 // 分页。每页数量 +} + +// 响应结构体 + +type GetOrderListResponsedatadataItem struct { + Channel string `json:"channel"` // 支付渠道。如:网银支付、微信支付 + CreateTime string `json:"create_time"` // 订单创建时间。格式为 yyyy-MM-dd HH:mm:ss,如:2019-06-07 00:00:00 + DealID string `json:"deal_id"` // 百度收银台的财务结算凭证。详见电商技术平台术语 + DealTitle string `json:"deal_title"` // 商品名。订单的名称 + ID string `json:"id"` // 百度平台订单ID。 + OrderID string `json:"order_id"` // 平台订单号。百度平台订单ID + PayMoney string `json:"pay_money"` // 支付金额(分)。扣除各种优惠后用户还需要支付的金额 + Phone string `json:"phone"` // 用户手机号。 + SegmentRefundedMoney string `json:"segment_refunded_money"` // 退款金额(分)。 + SubStatus string `json:"sub_status"` // 订单状态 1:待付款 2:已付款 3:已消费 4:退款中 5:已退款 6:退款失败 7:已取消 + TotalMoney string `json:"total_money"` // 订单金额(分)。订单的实际金额 + TpOrderID string `json:"tp_order_id"` // 第三方订单号。业务方唯一订单号 + UpdateTime string `json:"update_time"` // 订单完成时间。格式为 yyyy-MM-dd HH:mm:ss,如:2019-06-07 00:00:00 +} + +type GetOrderListResponsedata struct { + CurrentPage int64 `json:"current_page"` // 当前页码 + + Data []GetOrderListResponsedatadataItem `json:"data"` // 数据详情 + PageSize int64 `json:"page_size"` // 每页数量 + TotalCount int64 `json:"total_count"` // 数据总数 + TotalMoney string `json:"total_money"` // 订单金额(分)。订单的实际金额 + TotalPage int64 `json:"total_page"` // 总页码数 +} + +type GetOrderListResponse struct { + Data GetOrderListResponsedata `json:"data"` // + Errno int64 `json:"errno"` // + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetOrderList +func GetOrderList(params *GetOrderListRequest) (*GetOrderListResponsedata, error) { + var ( + err error + defaultRet *GetOrderListResponsedata + ) + respData := &GetOrderListResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pay/paymentservice/orderlist") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("status", params.Status) + client.AddGetParam("start_time", fmt.Sprintf("%v", params.StartTime)) + client.AddGetParam("end_time", fmt.Sprintf("%v", params.EndTime)) + client.AddGetParam("current_page", fmt.Sprintf("%v", params.CurrentPage)) + client.AddGetParam("page_size", fmt.Sprintf("%v", params.PageSize)) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pay/getOrderRefund.go b/openapi/tp/pay/getOrderRefund.go new file mode 100644 index 0000000..96da626 --- /dev/null +++ b/openapi/tp/pay/getOrderRefund.go @@ -0,0 +1,73 @@ +package pay + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetOrderRefundRequest 请求结构体 +type GetOrderRefundRequest struct { + AccessToken string // 第三方平台的接口调用凭据 + TpOrderID string // 开发者订单 ID + UserID int64 // 百度收银台用户 ID + PmAppKey string // 调起百度收银台的支付服务 appKey +} + +// 响应结构体 + +type GetOrderRefundResponsedataItem struct { + BizRefundBatchID string `json:"bizRefundBatchId"` // 开发者退款批次id + OrderID int64 `json:"orderId"` // 退款订单号 + RefundBatchID int64 `json:"refundBatchId"` // 退款批次id + RefundStatus int64 `json:"refundStatus"` // 退款状态 1 退款中 2 退款成功 3 退款失败 + UserID int64 `json:"userId"` // 退款用户id +} + +type GetOrderRefundResponse struct { + Data []GetOrderRefundResponsedataItem `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetOrderRefund +func GetOrderRefund(params *GetOrderRefundRequest) ([]GetOrderRefundResponsedataItem, error) { + var ( + err error + defaultRet []GetOrderRefundResponsedataItem + ) + respData := &GetOrderRefundResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pay/paymentservice/tp/findOrderRefund") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("tpOrderId", params.TpOrderID) + client.AddGetParam("userId", fmt.Sprintf("%v", params.UserID)) + client.AddGetParam("pmAppKey", params.PmAppKey) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/pay/getOtherDetail.go b/openapi/tp/pay/getOtherDetail.go new file mode 100644 index 0000000..b57739b --- /dev/null +++ b/openapi/tp/pay/getOtherDetail.go @@ -0,0 +1,84 @@ +package pay + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetOtherDetailRequest 请求结构体 +type GetOtherDetailRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + CurrentPage int64 // 当前页数。起始为 1 + PageSize int64 // 分页。每页数量 + StartTime string // 开始日期(格式如: 2019-01-02 ) + EndTime string // 结束日期(格式如: 2019-01-02 ) +} + +// 响应结构体 + +type GetOtherDetailResponsedatadataItem struct { + OperateTime string `json:"operate_time"` // 操作时间(格式为 yyyy-MM-dd HH:mm:ss ,如: 2019-05-21 23:59:59 ) + OptType string `json:"opt_type"` // 操作类型(包括:成交、使用、取消使用、退款 ) + OrderID int64 `json:"order_id"` // 平台订单号(百度平台订单ID ) + RefMoney string `json:"ref_money"` // 金额(元) + ThirdOrderID string `json:"third_order_id"` // 第三方订单号 +} + +type GetOtherDetailResponsedata struct { + Data []GetOtherDetailResponsedatadataItem `json:"data"` // 收入列表详情数据 + OrderAmount string `json:"order_amount"` // 货款总额(元) + RuleType string `json:"rule_type"` // 规则类型。收费规则,目前只有佣金模式 + SettlementEndTime string `json:"settlement_end_time"` // 账单周期结束时间(格式为 yyyy-MM-dd HH:mm:ss ,如: 2019-05-21 23:59:59 ) + SettlementStartTime string `json:"settlement_start_time"` // 账单周期开始时间(格式为 yyyy-MM-dd HH:mm:ss ,如: 2019-05-21 23:59:59 ) + TotalAmount string `json:"total_amount"` // 入账金额(元) +} + +type GetOtherDetailResponse struct { + Data GetOtherDetailResponsedata `json:"data"` // + Errno int64 `json:"errno"` // + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetOtherDetail +func GetOtherDetail(params *GetOtherDetailRequest) (*GetOtherDetailResponsedata, error) { + var ( + err error + defaultRet *GetOtherDetailResponsedata + ) + respData := &GetOtherDetailResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pay/paymentservice/financebalance/otherdetail") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("current_page", fmt.Sprintf("%v", params.CurrentPage)) + client.AddGetParam("page_size", fmt.Sprintf("%v", params.PageSize)) + client.AddGetParam("start_time", params.StartTime) + client.AddGetParam("end_time", params.EndTime) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pay/getPayAccountAuditStatus.go b/openapi/tp/pay/getPayAccountAuditStatus.go new file mode 100644 index 0000000..7e53086 --- /dev/null +++ b/openapi/tp/pay/getPayAccountAuditStatus.go @@ -0,0 +1,62 @@ +package pay + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetPayAccountAuditStatusRequest 请求结构体 +type GetPayAccountAuditStatusRequest struct { + AccessToken string // 授权小程序的接口调用凭据 +} + +// 响应结构体 + +type GetPayAccountAuditStatusResponsedata struct { + Status int64 `json:"status"` // 用户提交的审核信息:0:初始状态;1:编辑中 2:提审 3:未通过 4:审核通过 5:回填过协议id + VerifyMessage string `json:"verify_message"` // 失败原因。 +} + +type GetPayAccountAuditStatusResponse struct { + Data GetPayAccountAuditStatusResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetPayAccountAuditStatus +func GetPayAccountAuditStatus(params *GetPayAccountAuditStatusRequest) (*GetPayAccountAuditStatusResponsedata, error) { + var ( + err error + defaultRet *GetPayAccountAuditStatusResponsedata + ) + respData := &GetPayAccountAuditStatusResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pay/account/auditstatus") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pay/getPayServiceAuditStatus.go b/openapi/tp/pay/getPayServiceAuditStatus.go new file mode 100644 index 0000000..556e3b9 --- /dev/null +++ b/openapi/tp/pay/getPayServiceAuditStatus.go @@ -0,0 +1,62 @@ +package pay + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetPayServiceAuditStatusRequest 请求结构体 +type GetPayServiceAuditStatusRequest struct { + AccessToken string // 授权小程序的接口调用凭据 +} + +// 响应结构体 + +type GetPayServiceAuditStatusResponsedata struct { + FailReason string `json:"fail_reason"` // 失败原因。 + Status int64 `json:"status"` // 开通状态 0:新建 1:审核中 2:审核通过 3:驳回 +} + +type GetPayServiceAuditStatusResponse struct { + Data GetPayServiceAuditStatusResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetPayServiceAuditStatus +func GetPayServiceAuditStatus(params *GetPayServiceAuditStatusRequest) (*GetPayServiceAuditStatusResponsedata, error) { + var ( + err error + defaultRet *GetPayServiceAuditStatusResponsedata + ) + respData := &GetPayServiceAuditStatusResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pay/paymentservice/auditstatus") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pay/getPaymentServiceDict.go b/openapi/tp/pay/getPaymentServiceDict.go new file mode 100644 index 0000000..84a2031 --- /dev/null +++ b/openapi/tp/pay/getPaymentServiceDict.go @@ -0,0 +1,85 @@ +package pay + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetPaymentServiceDictRequest 请求结构体 +type GetPaymentServiceDictRequest struct { + AccessToken string // 授权小程序的接口调用凭据 +} + +// 响应结构体 + +type GetPaymentServiceDictResponseprovinceListItemcitiesItem struct { + CityID int64 `json:"cityId"` // + CityName string `json:"cityName"` // +} + +type GetPaymentServiceDictResponseprovinceListItem struct { + Cities []GetPaymentServiceDictResponseprovinceListItemcitiesItem `json:"cities"` // + ProvinceID int64 `json:"provinceId"` // + ProvinceName string `json:"provinceName"` // +} + +type GetPaymentServiceDictResponsebankListItembanksItem struct { + BankID int64 `json:"bankId"` // + BankName string `json:"bankName"` // + LogoURL string `json:"logoUrl"` // +} + +type GetPaymentServiceDictResponsebankListItem struct { + Banks []GetPaymentServiceDictResponsebankListItembanksItem `json:"banks"` // + Character string `json:"character"` // +} + +type GetPaymentServiceDictResponse struct { + BankList []GetPaymentServiceDictResponsebankListItem `json:"bank_list"` // 开户银行 (支付服务 bank_name) + CommissionRate map[string]string `json:"commissionRate"` // 佣金比例,小程序固定为千分之六(支付服务 commission_rate) + PaymentDays map[string]string `json:"paymentDays"` // 结算周期(支付服务 payment_days) + ProvinceList []GetPaymentServiceDictResponseprovinceListItem `json:"province_list"` // 开户省市(支付服务 open_province,open_city ) + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 + Data GetPaymentServiceDictResponsedata +} + +type GetPaymentServiceDictResponsedata struct { + BankList []GetPaymentServiceDictResponsebankListItem `json:"bank_list"` // 开户银行 (支付服务 bank_name) + CommissionRate map[string]string `json:"commissionRate"` // 佣金比例,小程序固定为千分之六(支付服务 commission_rate) + PaymentDays map[string]string `json:"paymentDays"` // 结算周期(支付服务 payment_days) + ProvinceList []GetPaymentServiceDictResponseprovinceListItem `json:"province_list"` // 开户省市(支付服务 open_province,open_city ) +} + +// GetPaymentServiceDict +func GetPaymentServiceDict(params *GetPaymentServiceDictRequest) (*GetPaymentServiceDictResponsedata, error) { + var ( + err error + defaultRet *GetPaymentServiceDictResponsedata + ) + respData := &GetPaymentServiceDictResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pay/paymentservice/dict") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + return &respData.Data, nil +} diff --git a/openapi/tp/pay/getTradeIndustryList.go b/openapi/tp/pay/getTradeIndustryList.go new file mode 100644 index 0000000..6a172c1 --- /dev/null +++ b/openapi/tp/pay/getTradeIndustryList.go @@ -0,0 +1,83 @@ +package pay + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetTradeIndustryListRequest 请求结构体 +type GetTradeIndustryListRequest struct { + AccessToken string // 第三方平台的接口调用凭据 +} + +// 响应结构体 + +type GetTradeIndustryListResponsedataItemindustryListItemindustryListItem struct { + IndustryID int64 `json:"industryId"` // + IndustryName string `json:"industryName"` // + NeedPermit int64 `json:"needPermit"` // + ParentIndustryID int64 `json:"parentIndustryId"` // + PermitDesc string `json:"permitDesc"` // +} + +type GetTradeIndustryListResponsedataItemindustryListItem struct { + IndustryID int64 `json:"industryId"` // + IndustryList []GetTradeIndustryListResponsedataItemindustryListItemindustryListItem `json:"industryList"` // + IndustryName string `json:"industryName"` // + NeedPermit int64 `json:"needPermit"` // + ParentIndustryID int64 `json:"parentIndustryId"` // + PermitDesc string `json:"permitDesc"` // +} + +type GetTradeIndustryListResponsedataItem struct { + IndustryID int64 `json:"industryId"` // + IndustryList []GetTradeIndustryListResponsedataItemindustryListItem `json:"industryList"` // + IndustryName string `json:"industryName"` // + NeedPermit int64 `json:"needPermit"` // + ParentIndustryID int64 `json:"parentIndustryId"` // + PermitDesc string `json:"permitDesc"` // +} + +type GetTradeIndustryListResponse struct { + Data []GetTradeIndustryListResponsedataItem `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetTradeIndustryList +func GetTradeIndustryList(params *GetTradeIndustryListRequest) ([]GetTradeIndustryListResponsedataItem, error) { + var ( + err error + defaultRet []GetTradeIndustryListResponsedataItem + ) + respData := &GetTradeIndustryListResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pay/tp/getTradeIndustryList") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/pay/submitDevelopConfig.go b/openapi/tp/pay/submitDevelopConfig.go new file mode 100644 index 0000000..566d3d4 --- /dev/null +++ b/openapi/tp/pay/submitDevelopConfig.go @@ -0,0 +1,68 @@ +package pay + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// SubmitDevelopConfigRequest 请求结构体 +type SubmitDevelopConfigRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + TpPublicKey string // 开发者公钥。参见RSA公私钥生成 + PayNotifyURL string // 支付回调地址。 + RefundAuditURL string // 退款审核地址。 + RefundSuccURL string // 退款回调地址。 +} + +// 响应结构体 + +type SubmitDevelopConfigResponsedata struct { +} + +type SubmitDevelopConfigResponse struct { + Data SubmitDevelopConfigResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// SubmitDevelopConfig +func SubmitDevelopConfig(params *SubmitDevelopConfigRequest) (*SubmitDevelopConfigResponsedata, error) { + var ( + err error + defaultRet *SubmitDevelopConfigResponsedata + ) + respData := &SubmitDevelopConfigResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pay/developconfig/submit") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("tp_public_key", params.TpPublicKey) + client.AddPostParam("pay_notify_url", params.PayNotifyURL) + client.AddPostParam("refund_audit_url", params.RefundAuditURL) + client.AddPostParam("refund_succ_url", params.RefundSuccURL) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pay/updateBindPaymentService.go b/openapi/tp/pay/updateBindPaymentService.go new file mode 100644 index 0000000..3d5e2ef --- /dev/null +++ b/openapi/tp/pay/updateBindPaymentService.go @@ -0,0 +1,88 @@ +package pay + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// UpdateBindPaymentServiceRequest 请求结构体 +type UpdateBindPaymentServiceRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + AppName string // 服务名称。支付服务的名称 + ServicePhone string // 服务电话。 + BankAccount string // 银行账户。银行卡开户名 + BankCard string // 银行卡号。 + BankName string // 所属银行。由数据字典接口取 + BankBranch string // 支行信息。自由输入,例如:招商银行北京上地支行 + OpenProvince string // 开户省份。由数据字典接口取 + OpenCity string // 开户城市。由数据字典接口取 + PaymentDays int64 // 结算周期。由数据字典接口取 + CommissionRate int64 // 佣金比例。固定传 6,小程序固定为千分之六(6) + PoolCashPledge int64 // 打款预留(元)。提现后的保留金额 + DayMaxFrozenAmount int64 // 每日退款上限(元)。每天最大退款限额10000元 + BankPhoneNumber string // 银行卡预留手机号 +} + +// 响应结构体 + +type UpdateBindPaymentServiceResponsedata struct { +} + +type UpdateBindPaymentServiceResponse struct { + Data UpdateBindPaymentServiceResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// UpdateBindPaymentService +func UpdateBindPaymentService(params *UpdateBindPaymentServiceRequest) (*UpdateBindPaymentServiceResponsedata, error) { + var ( + err error + defaultRet *UpdateBindPaymentServiceResponsedata + ) + respData := &UpdateBindPaymentServiceResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pay/paymentservice/updatebindservice") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("app_name", params.AppName) + client.AddPostParam("service_phone", params.ServicePhone) + client.AddPostParam("bank_account", params.BankAccount) + client.AddPostParam("bank_card", params.BankCard) + client.AddPostParam("bank_name", params.BankName) + client.AddPostParam("bank_branch", params.BankBranch) + client.AddPostParam("open_province", params.OpenProvince) + client.AddPostParam("open_city", params.OpenCity) + client.AddPostParam("payment_days", fmt.Sprintf("%v", params.PaymentDays)) + client.AddPostParam("commission_rate", fmt.Sprintf("%v", params.CommissionRate)) + client.AddPostParam("pool_cash_pledge", fmt.Sprintf("%v", params.PoolCashPledge)) + client.AddPostParam("day_max_frozen_amount", fmt.Sprintf("%v", params.DayMaxFrozenAmount)) + client.AddPostParam("bank_phone_number", params.BankPhoneNumber) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pay/updatePaymentService.go b/openapi/tp/pay/updatePaymentService.go new file mode 100644 index 0000000..2dbd19f --- /dev/null +++ b/openapi/tp/pay/updatePaymentService.go @@ -0,0 +1,68 @@ +package pay + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// UpdatePaymentServiceRequest 请求结构体 +type UpdatePaymentServiceRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + AppName string // 服务名称。 + ServicePhone string // 服务电话。 + PoolCashPledge int64 // 打款预留。提现后的保留金额 +} + +// 响应结构体 + +type UpdatePaymentServiceResponsedata struct { +} + +type UpdatePaymentServiceResponse struct { + Data UpdatePaymentServiceResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// UpdatePaymentService +func UpdatePaymentService(params *UpdatePaymentServiceRequest) (*UpdatePaymentServiceResponsedata, error) { + var ( + err error + defaultRet *UpdatePaymentServiceResponsedata + ) + respData := &UpdatePaymentServiceResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pay/paymentservice/update") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("app_name", params.AppName) + client.AddPostParam("service_phone", params.ServicePhone) + client.AddPostParam("pool_cash_pledge", fmt.Sprintf("%v", params.PoolCashPledge)) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pkg/getPackage.go b/openapi/tp/pkg/getPackage.go new file mode 100644 index 0000000..1cf30ce --- /dev/null +++ b/openapi/tp/pkg/getPackage.go @@ -0,0 +1,73 @@ +package pkg + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetPackageRequest 请求结构体 +type GetPackageRequest struct { + AccessToken string // 授权小程序的接口调用凭据 +} + +// 响应结构体 + +type GetPackageResponsedataItem struct { + CommitTime string `json:"commit_time"` // 提交时间 + Committer string `json:"committer"` // 提交人 + Msg string `json:"msg"` // 审核信息 + PackageID int64 `json:"package_id"` // 代码包 id + Remark string `json:"remark"` // 备注 + RollbackVersion string `json:"rollback_version"` // 上一个线上版本的版本号 + Status int64 `json:"status"` // 状态 + UploadErrCode int64 `json:"upload_err_code"` // 上传状态为失败时,失败的错误码 + UploadErrMsg string `json:"upload_err_msg"` // 上传状态为失败时,失败的原因描述 + UploadStatus int64 `json:"upload_status"` // 上传状态 + UploadStatusDesc string `json:"upload_status_desc"` // 上传状态描述 + Version string `json:"version"` // 版本号 + VersionDesc string `json:"version_desc"` // 版本描述 +} + +type GetPackageResponse struct { + Data []GetPackageResponsedataItem `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetPackage +func GetPackage(params *GetPackageRequest) ([]GetPackageResponsedataItem, error) { + var ( + err error + defaultRet []GetPackageResponsedataItem + ) + respData := &GetPackageResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/package/get") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/pkg/getPackageDetail.go b/openapi/tp/pkg/getPackageDetail.go new file mode 100644 index 0000000..a15a59a --- /dev/null +++ b/openapi/tp/pkg/getPackageDetail.go @@ -0,0 +1,72 @@ +package pkg + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetPackageDetailRequest 请求结构体 +type GetPackageDetailRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + Type interface{} // 小程序状态,不指定 package_id 的情况下默认是线上版本 + PackageID interface{} // 代码包 id +} + +// 响应结构体 + +type GetPackageDetailResponsedata struct { + CommitTime string `json:"commit_time"` // 提交时间 + Committer string `json:"committer"` // 提交人 + Msg string `json:"msg"` // 审核信息 + PackageID int64 `json:"package_id"` // 代码包 id + Remark string `json:"remark"` // 备注 + Status int64 `json:"status"` // 状态 + Version string `json:"version"` // 版本号 + VersionDesc string `json:"version_desc"` // 版本描述 +} + +type GetPackageDetailResponse struct { + Data GetPackageDetailResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetPackageDetail +func GetPackageDetail(params *GetPackageDetailRequest) (*GetPackageDetailResponsedata, error) { + var ( + err error + defaultRet *GetPackageDetailResponsedata + ) + respData := &GetPackageDetailResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/package/getdetail") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("type", params.Type) + client.AddGetParam("package_id", params.PackageID) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pkg/getPackageSubmitAuditQuota.go b/openapi/tp/pkg/getPackageSubmitAuditQuota.go new file mode 100644 index 0000000..339d384 --- /dev/null +++ b/openapi/tp/pkg/getPackageSubmitAuditQuota.go @@ -0,0 +1,63 @@ +package pkg + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetPackageSubmitAuditQuotaRequest 请求结构体 +type GetPackageSubmitAuditQuotaRequest struct { + AccessToken string // 授权小程序的接口调用凭据 +} + +// 响应结构体 + +type GetPackageSubmitAuditQuotaResponsedata struct { + QuotaTimes int64 `json:"quota_times"` // 单个周期内额度上限,-1:无限制 + QuotaType int64 `json:"quota_type"` // 额度限制,周期类型:2:周 + RemainTimes int64 `json:"remain_times"` // 当前周期内剩余额度,-1:无限制 +} + +type GetPackageSubmitAuditQuotaResponse struct { + Data GetPackageSubmitAuditQuotaResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetPackageSubmitAuditQuota +func GetPackageSubmitAuditQuota(params *GetPackageSubmitAuditQuotaRequest) (*GetPackageSubmitAuditQuotaResponsedata, error) { + var ( + err error + defaultRet *GetPackageSubmitAuditQuotaResponsedata + ) + respData := &GetPackageSubmitAuditQuotaResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/package/auditquota") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pkg/releasePackage.go b/openapi/tp/pkg/releasePackage.go new file mode 100644 index 0000000..fff87f4 --- /dev/null +++ b/openapi/tp/pkg/releasePackage.go @@ -0,0 +1,62 @@ +package pkg + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// ReleasePackageRequest 请求结构体 +type ReleasePackageRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + PackageID string // 包 id +} + +// 响应结构体 + +type ReleasePackageResponsedata struct { +} + +type ReleasePackageResponse struct { + Data ReleasePackageResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// ReleasePackage +func ReleasePackage(params *ReleasePackageRequest) (*ReleasePackageResponsedata, error) { + var ( + err error + defaultRet *ReleasePackageResponsedata + ) + respData := &ReleasePackageResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/package/release") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("package_id", params.PackageID) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pkg/rollbackPackage.go b/openapi/tp/pkg/rollbackPackage.go new file mode 100644 index 0000000..f4162d6 --- /dev/null +++ b/openapi/tp/pkg/rollbackPackage.go @@ -0,0 +1,62 @@ +package pkg + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// RollbackPackageRequest 请求结构体 +type RollbackPackageRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + PackageID string // 包 id +} + +// 响应结构体 + +type RollbackPackageResponsedata struct { +} + +type RollbackPackageResponse struct { + Data RollbackPackageResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// RollbackPackage +func RollbackPackage(params *RollbackPackageRequest) (*RollbackPackageResponsedata, error) { + var ( + err error + defaultRet *RollbackPackageResponsedata + ) + respData := &RollbackPackageResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/package/rollback") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("package_id", params.PackageID) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pkg/submitPackageAudit.go b/openapi/tp/pkg/submitPackageAudit.go new file mode 100644 index 0000000..3d5067f --- /dev/null +++ b/openapi/tp/pkg/submitPackageAudit.go @@ -0,0 +1,70 @@ +package pkg + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// SubmitPackageAuditRequest 请求结构体 +type SubmitPackageAuditRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + Content string // 送审描述 + PackageID string // 包 id ,获取方式请参考获取小程序包列表 + Remark string // 备注 + TestAccount interface{} // 可以向审核人员提供的测试帐号 + TestPassword interface{} // 测试帐号对应的密码 +} + +// 响应结构体 + +type SubmitPackageAuditResponsedata struct { +} + +type SubmitPackageAuditResponse struct { + Data SubmitPackageAuditResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// SubmitPackageAudit +func SubmitPackageAudit(params *SubmitPackageAuditRequest) (*SubmitPackageAuditResponsedata, error) { + var ( + err error + defaultRet *SubmitPackageAuditResponsedata + ) + respData := &SubmitPackageAuditResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/package/submitaudit") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("content", params.Content) + client.AddPostParam("package_id", params.PackageID) + client.AddPostParam("remark", params.Remark) + client.AddPostParam("test_account", params.TestAccount) + client.AddPostParam("test_password", params.TestPassword) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pkg/uploadPackage.go b/openapi/tp/pkg/uploadPackage.go new file mode 100644 index 0000000..fdf914b --- /dev/null +++ b/openapi/tp/pkg/uploadPackage.go @@ -0,0 +1,72 @@ +package pkg + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// UploadPackageRequest 请求结构体 +type UploadPackageRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + TemplateID string // 代码库中的代码模板 id ,可以在第三方平台-模板管理-模板库 查看到模板 id + ExtJSON string // 第三方自定义的配置 + UserDesc string // 代码描述,开发者可自定义。 + UserVersion string // 代码版本号,开发者可自定义。 + TestAccount interface{} // 设置直接送审( ext_json 中的 directCommit 字段为 true 时),可以向审核人员提供的测试帐号。 + TestPassword interface{} // 测试帐号对应的密码。 +} + +// 响应结构体 + +type UploadPackageResponsedata struct { +} + +type UploadPackageResponse struct { + Data UploadPackageResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// UploadPackage +func UploadPackage(params *UploadPackageRequest) (*UploadPackageResponsedata, error) { + var ( + err error + defaultRet *UploadPackageResponsedata + ) + respData := &UploadPackageResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/package/upload") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("template_id", params.TemplateID) + client.AddPostParam("ext_json", params.ExtJSON) + client.AddPostParam("user_desc", params.UserDesc) + client.AddPostParam("user_version", params.UserVersion) + client.AddPostParam("test_account", params.TestAccount) + client.AddPostParam("test_password", params.TestPassword) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pkg/withdrawPackageAudit.go b/openapi/tp/pkg/withdrawPackageAudit.go new file mode 100644 index 0000000..a53626a --- /dev/null +++ b/openapi/tp/pkg/withdrawPackageAudit.go @@ -0,0 +1,62 @@ +package pkg + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// WithdrawPackageAuditRequest 请求结构体 +type WithdrawPackageAuditRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + PackageID string // 待撤回审核的代码包 id +} + +// 响应结构体 + +type WithdrawPackageAuditResponsedata struct { +} + +type WithdrawPackageAuditResponse struct { + Data WithdrawPackageAuditResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// WithdrawPackageAudit +func WithdrawPackageAudit(params *WithdrawPackageAuditRequest) (*WithdrawPackageAuditResponsedata, error) { + var ( + err error + defaultRet *WithdrawPackageAuditResponsedata + ) + respData := &WithdrawPackageAuditResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/package/withdraw") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("package_id", params.PackageID) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/search/addSubChain.go b/openapi/tp/search/addSubChain.go new file mode 100644 index 0000000..22c06c5 --- /dev/null +++ b/openapi/tp/search/addSubChain.go @@ -0,0 +1,65 @@ +package search + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// AddSubChainRequest 请求结构体 +type AddSubChainRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + ChainName string // 4-10个字符,说明子链的功能 + ChainDesc string // 8-16个字符,辅助描述子链的功能 + ChainPath interface{} // 以“/”开头的子链对应的path路径 + Telephone interface{} // SA类型的客服电话子链 +} + +// 响应结构体 + +type AddSubChainResponse struct { + Data int64 `json:"data"` // 生成的子链Id + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// AddSubChain +func AddSubChain(params *AddSubChainRequest) (int64, error) { + var ( + err error + defaultRet int64 + ) + respData := &AddSubChainResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/subchain/add") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("chain_name", params.ChainName) + client.AddPostParam("chain_desc", params.ChainDesc) + client.AddPostParam("chain_path", params.ChainPath) + client.AddPostParam("telephone", params.Telephone) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/search/bindSite.go b/openapi/tp/search/bindSite.go new file mode 100644 index 0000000..88e4425 --- /dev/null +++ b/openapi/tp/search/bindSite.go @@ -0,0 +1,59 @@ +package search + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// BindSiteRequest 请求结构体 +type BindSiteRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + Sites string // 站点,多个用逗号分开 +} + +// 响应结构体 + +type BindSiteResponse struct { + Data bool `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// BindSite +func BindSite(params *BindSiteRequest) (bool, error) { + var ( + err error + defaultRet bool + ) + respData := &BindSiteResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/flow/bindsite") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("sites", params.Sites) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/search/delUrlMapping.go b/openapi/tp/search/delUrlMapping.go new file mode 100644 index 0000000..ba65f39 --- /dev/null +++ b/openapi/tp/search/delUrlMapping.go @@ -0,0 +1,61 @@ +package search + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// DelURLMappingRequest 请求结构体 +type DelURLMappingRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + DelRuleID int64 // 规则ID +} + +// 响应结构体 + +type DelURLMappingResponse struct { + Data bool `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// DelURLMapping +func DelURLMapping(params *DelURLMappingRequest) (bool, error) { + var ( + err error + defaultRet bool + ) + respData := &DelURLMappingResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/flow/delurlmapping") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("del_rule_id", fmt.Sprintf("%v", params.DelRuleID)) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/search/deleteSubChain.go b/openapi/tp/search/deleteSubChain.go new file mode 100644 index 0000000..9a97993 --- /dev/null +++ b/openapi/tp/search/deleteSubChain.go @@ -0,0 +1,59 @@ +package search + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// DeleteSubChainRequest 请求结构体 +type DeleteSubChainRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + SubchainID string // 子链 Id +} + +// 响应结构体 + +type DeleteSubChainResponse struct { + Data bool `json:"data"` // 是否成功删除 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// DeleteSubChain +func DeleteSubChain(params *DeleteSubChainRequest) (bool, error) { + var ( + err error + defaultRet bool + ) + respData := &DeleteSubChainResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/subchain/delete") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("subchain_id", params.SubchainID) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/search/getAllSubChain.go b/openapi/tp/search/getAllSubChain.go new file mode 100644 index 0000000..ff414c9 --- /dev/null +++ b/openapi/tp/search/getAllSubChain.go @@ -0,0 +1,83 @@ +package search + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetAllSubChainRequest 请求结构体 +type GetAllSubChainRequest struct { + AccessToken string // 授权小程序的接口调用凭据 +} + +// 响应结构体 + +type GetAllSubChainResponsedatasubChainInfoListItem struct { + AppID int64 `json:"app_id"` // 小程序Id + AppName string `json:"app_name"` // 小程序名称 + AuditDesc string `json:"audit_desc"` // 审核描述信息 + AuditTime int64 `json:"audit_time"` // 审核时间 + ChainDesc string `json:"chain_desc"` // 子链的描述信息 + ChainName string `json:"chain_name"` // 子链的名称 + ChainPath string `json:"chain_path"` // 子链的访问路径 + ChainRank int64 `json:"chain_rank"` // 展示顺序,当子链的状态为审核通过,值越小,越优先展示,展示数量由sub_chain_prior_number 控制,超过的子链为备选子链。新添加的子链该值为99,停用的子链该值为100。 + CreateTime int64 `json:"create_time"` // 创建时间 + CustomerID int64 `json:"customer_id"` // 主体id + CustomerName string `json:"customer_name"` // 主体名称 + ID int64 `json:"id"` // 子链id + PathMd5 string `json:"path_md5"` // + ShowStatus int64 `json:"showStatus"` // 展示类型。1: 优选 2: 备选。为null代表还未通过审核 + Status int64 `json:"status"` // 子链的状态。0:未知 1:审核中 2:审核通过 3:审核拒绝 4:撤回 5:删除 6:停用 + SubchainType int64 `json:"subchain_type"` // 子链类型。1: path类型子链 2:客服电话子链(要求小程序等级为 4 ) + UpdateTime int64 `json:"update_time"` // 更新时间 +} + +type GetAllSubChainResponsedata struct { + AppLevel int64 `json:"app_level"` // 小程序等级,等级为 3、4的小程序能展示六个单卡子链。 + SubChainInfoList []GetAllSubChainResponsedatasubChainInfoListItem `json:"sub_chain_info_list"` // + SubChainPriorNumber int64 `json:"sub_chain_prior_number"` // 展示的单卡子链个数。 +} + +type GetAllSubChainResponse struct { + Data GetAllSubChainResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetAllSubChain +func GetAllSubChain(params *GetAllSubChainRequest) (*GetAllSubChainResponsedata, error) { + var ( + err error + defaultRet *GetAllSubChainResponsedata + ) + respData := &GetAllSubChainResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/subchain/getall") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/search/getBindSite.go b/openapi/tp/search/getBindSite.go new file mode 100644 index 0000000..43c8dc9 --- /dev/null +++ b/openapi/tp/search/getBindSite.go @@ -0,0 +1,63 @@ +package search + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetBindSiteRequest 请求结构体 +type GetBindSiteRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + PageNum int64 // 分页页码。从1开始 + PageSize int64 // 分页大小。最大值为 100 +} + +// 响应结构体 + +type GetBindSiteResponse struct { + Data []string `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetBindSite +func GetBindSite(params *GetBindSiteRequest) ([]string, error) { + var ( + err error + defaultRet []string + ) + respData := &GetBindSiteResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/flow/getbindsite") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("page_num", fmt.Sprintf("%v", params.PageNum)) + client.AddPostParam("page_size", fmt.Sprintf("%v", params.PageSize)) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/search/getQueryKeyword.go b/openapi/tp/search/getQueryKeyword.go new file mode 100644 index 0000000..c68d71a --- /dev/null +++ b/openapi/tp/search/getQueryKeyword.go @@ -0,0 +1,79 @@ +package search + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetQueryKeywordRequest 请求结构体 +type GetQueryKeywordRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + WebURL string // 页面地址。来自于 /promotion/topquery/info 接口返回的数据 + TimeSpan int64 // 时间区间。可取值1、7、30,分别代表 1 天、7 天、30 天 + PageNum int64 // 分页页数。 + PageSize int64 // 分页大小。最大值为100 +} + +// 响应结构体 + +type GetQueryKeywordResponsedatadetailItem struct { + ClickCount int64 `json:"click_count"` // 点击量。 + DisplayCount int64 `json:"display_count"` // 展现量。 + Query string `json:"query"` // 查询的单词名称。 + Rate string `json:"rate"` // 点展比(%), 保留两位小数。 +} + +type GetQueryKeywordResponsedata struct { + Detail []GetQueryKeywordResponsedatadetailItem `json:"detail"` // 该url下面查询词的点击与展现信息列表 + TotalNum int64 `json:"total_num"` // +} + +type GetQueryKeywordResponse struct { + Data GetQueryKeywordResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetQueryKeyword +func GetQueryKeyword(params *GetQueryKeywordRequest) (*GetQueryKeywordResponsedata, error) { + var ( + err error + defaultRet *GetQueryKeywordResponsedata + ) + respData := &GetQueryKeywordResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/promotion/topquery/keyword") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("web_url", params.WebURL) + client.AddGetParam("time_span", fmt.Sprintf("%v", params.TimeSpan)) + client.AddGetParam("page_num", fmt.Sprintf("%v", params.PageNum)) + client.AddGetParam("page_size", fmt.Sprintf("%v", params.PageSize)) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/search/getSitemapMeta.go b/openapi/tp/search/getSitemapMeta.go new file mode 100644 index 0000000..2f53304 --- /dev/null +++ b/openapi/tp/search/getSitemapMeta.go @@ -0,0 +1,75 @@ +package search + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetSitemapMetaRequest 请求结构体 +type GetSitemapMetaRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + TimeSpan int64 // 时间区间。可取值1、7、30,分别代表 1 天、7 天、30 天 +} + +// 响应结构体 + +type GetSitemapMetaResponsedatatrafficDataItem struct { + ClickCount int64 `json:"click_count"` // 点击量。 + ClickViewRatio string `json:"click_view_ratio"` // 点展比(%), 保留两位小数。 + Date string `json:"date"` // 日期。 + DisplayCount int64 `json:"display_count"` // 展现量。 +} + +type GetSitemapMetaResponsedata struct { + ClickDisplayRatio string `json:"click_display_ratio"` // 点展比。 + TotalClickCount int64 `json:"total_click_count"` // 累计点击量。 + TotalDisplayCount int64 `json:"total_display_count"` // 累计展现量。 + TrafficData []GetSitemapMetaResponsedatatrafficDataItem `json:"traffic_data"` // 日期纬度的点击与展示列表详情。 +} + +type GetSitemapMetaResponse struct { + Data GetSitemapMetaResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetSitemapMeta +func GetSitemapMeta(params *GetSitemapMetaRequest) (*GetSitemapMetaResponsedata, error) { + var ( + err error + defaultRet *GetSitemapMetaResponsedata + ) + respData := &GetSitemapMetaResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/promotion/sitemap/getanalysisctr") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("time_span", fmt.Sprintf("%v", params.TimeSpan)) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/search/getTopQueryUrlInfo.go b/openapi/tp/search/getTopQueryUrlInfo.go new file mode 100644 index 0000000..fa6b943 --- /dev/null +++ b/openapi/tp/search/getTopQueryUrlInfo.go @@ -0,0 +1,81 @@ +package search + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetTopQueryURLInfoRequest 请求结构体 +type GetTopQueryURLInfoRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + TimeSpan int64 // 时间区间。可取值1、7、30,分别代表 1 天、7 天、30 天 + PageNum int64 // 分页页数。 + PageSize int64 // 分页大小。最大值为100 +} + +// 响应结构体 + +type GetTopQueryURLInfoResponsedatadetailItem struct { + ClickCount int64 `json:"click_count"` // 点击量。 + DisplayCount int64 `json:"display_count"` // 展现量。 + Path string `json:"path"` // path路径。 + Rate string `json:"rate"` // 点展比(%), 保留两位小数。 + WebURL string `json:"web_url"` // web化url地址。 +} + +type GetTopQueryURLInfoResponsedata struct { + Detail []GetTopQueryURLInfoResponsedatadetailItem `json:"detail"` // 日期纬度的点击与展示列表详情。 + Rate string `json:"rate"` // 点展比(%), 保留两位小数。 + TotalClickCount int64 `json:"total_click_count"` // 累计点击量。 + TotalDisplayCount int64 `json:"total_display_count"` // 累计展现量。 + TotalNum int64 `json:"total_num"` // +} + +type GetTopQueryURLInfoResponse struct { + Data GetTopQueryURLInfoResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetTopQueryURLInfo +func GetTopQueryURLInfo(params *GetTopQueryURLInfoRequest) (*GetTopQueryURLInfoResponsedata, error) { + var ( + err error + defaultRet *GetTopQueryURLInfoResponsedata + ) + respData := &GetTopQueryURLInfoResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/promotion/topquery/info") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("time_span", fmt.Sprintf("%v", params.TimeSpan)) + client.AddGetParam("page_num", fmt.Sprintf("%v", params.PageNum)) + client.AddGetParam("page_size", fmt.Sprintf("%v", params.PageSize)) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/search/getUrlMappingDetail.go b/openapi/tp/search/getUrlMappingDetail.go new file mode 100644 index 0000000..fa5a9dc --- /dev/null +++ b/openapi/tp/search/getUrlMappingDetail.go @@ -0,0 +1,77 @@ +package search + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetURLMappingDetailRequest 请求结构体 +type GetURLMappingDetailRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + RuleID int64 // 规则ID +} + +// 响应结构体 + +type GetURLMappingDetailResponsedataItem struct { + AdapterNum int64 `json:"adapterNum"` // 适配topurl的数量 + AdapterStatus int64 `json:"adapterStatus"` // 规则状态 + AppPattern string `json:"appPattern"` // 小程序Path表达式 + CoverNum int64 `json:"coverNum"` // 累计替换 URL 量,即累计截止 t-1已完成替换的的 url 数量 + CreateMethod int64 `json:"createMethod"` // + H5Pattern string `json:"h5Pattern"` // 移动url表达式 + IsFetch bool `json:"isFetch"` // 是否匹配topurl生成path + MatchNum int64 `json:"matchNum"` // 匹配topurl的数量 + Msg string `json:"msg"` // + RuleID int64 `json:"ruleId"` // 规则id + Status int64 `json:"status"` // + SubmitTime string `json:"submitTime"` // + URLRate int64 `json:"urlRate"` // top 流量 URL 替换占比=累计截止 t-1已完成替换的top url 数量/总 top url 数量 +} + +type GetURLMappingDetailResponse struct { + Data []GetURLMappingDetailResponsedataItem `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetURLMappingDetail +func GetURLMappingDetail(params *GetURLMappingDetailRequest) ([]GetURLMappingDetailResponsedataItem, error) { + var ( + err error + defaultRet []GetURLMappingDetailResponsedataItem + ) + respData := &GetURLMappingDetailResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/flow/geturlmappingdetail") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("rule_id", fmt.Sprintf("%v", params.RuleID)) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/search/modifyWebStatus.go b/openapi/tp/search/modifyWebStatus.go new file mode 100644 index 0000000..6a7004e --- /dev/null +++ b/openapi/tp/search/modifyWebStatus.go @@ -0,0 +1,66 @@ +package search + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// ModifyWebStatusRequest 请求结构体 +type ModifyWebStatusRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + WebStatus int64 // 1:开启 2:关闭 +} + +// 响应结构体 + +type ModifyWebStatusResponse struct { + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 + Data ModifyWebStatusResponsedata +} + +type ModifyWebStatusResponsedata struct { + Errno int64 `json:"errno"` // 状态码 + Msg string `json:"msg"` // 状态描述 +} + +// ModifyWebStatus +func ModifyWebStatus(params *ModifyWebStatusRequest) (*ModifyWebStatusResponsedata, error) { + var ( + err error + defaultRet *ModifyWebStatusResponsedata + ) + respData := &ModifyWebStatusResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/app/modifywebstatus") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("web_status", fmt.Sprintf("%v", params.WebStatus)) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/search/queryUrlMapping.go b/openapi/tp/search/queryUrlMapping.go new file mode 100644 index 0000000..3932c94 --- /dev/null +++ b/openapi/tp/search/queryUrlMapping.go @@ -0,0 +1,80 @@ +package search + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// QueryURLMappingRequest 请求结构体 +type QueryURLMappingRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + PageNum int64 // 分页页码。从1开始 + PageSize int64 // 分页大小。最大值为 100 +} + +// 响应结构体 + +type QueryURLMappingResponsedataruleDetailListItem struct { + AppRule string `json:"appRule"` // 小程序rule + CreateMethod int64 `json:"createMethod"` // 创建方式 + H5Rule string `json:"h5Rule"` // h5规则 + Msg string `json:"msg"` // 规则状态说明 + RuleID int64 `json:"ruleId"` // 规则ID + Status int64 `json:"status"` // 规则状态 + SubmitTime string `json:"submitTime"` // 规则提交时间 +} + +type QueryURLMappingResponsedata struct { + RuleDetailList []QueryURLMappingResponsedataruleDetailListItem `json:"ruleDetailList"` // 规则列表 + RuleRemainingNum int64 `json:"ruleRemainingNum"` // 规则剩余可用数量 + RuleTotalNum int64 `json:"ruleTotalNum"` // 规则总数 + TotalAdapterNum int64 `json:"totalAdapterNum"` // 适配资源生效量 +} + +type QueryURLMappingResponse struct { + Data QueryURLMappingResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// QueryURLMapping +func QueryURLMapping(params *QueryURLMappingRequest) (*QueryURLMappingResponsedata, error) { + var ( + err error + defaultRet *QueryURLMappingResponsedata + ) + respData := &QueryURLMappingResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/flow/queryurlmapping") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("page_num", fmt.Sprintf("%v", params.PageNum)) + client.AddPostParam("page_size", fmt.Sprintf("%v", params.PageSize)) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/search/rankSubChain.go b/openapi/tp/search/rankSubChain.go new file mode 100644 index 0000000..e02457d --- /dev/null +++ b/openapi/tp/search/rankSubChain.go @@ -0,0 +1,59 @@ +package search + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// RankSubChainRequest 请求结构体 +type RankSubChainRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + SubchainRanklist string // 子链 Id 字符串,顺序代表了排序位置,使用逗号分割 +} + +// 响应结构体 + +type RankSubChainResponse struct { + Data bool `json:"data"` // 是否成功 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// RankSubChain +func RankSubChain(params *RankSubChainRequest) (bool, error) { + var ( + err error + defaultRet bool + ) + respData := &RankSubChainResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/subchain/rank") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("subchain_ranklist", params.SubchainRanklist) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/search/saveUrlMapping.go b/openapi/tp/search/saveUrlMapping.go new file mode 100644 index 0000000..bb889c8 --- /dev/null +++ b/openapi/tp/search/saveUrlMapping.go @@ -0,0 +1,61 @@ +package search + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// SaveURLMappingRequest 请求结构体 +type SaveURLMappingRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + Content string // json字符串 + CreateMethod string // 每页数量,最大100 +} + +// 响应结构体 + +type SaveURLMappingResponse struct { + Data bool `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// SaveURLMapping +func SaveURLMapping(params *SaveURLMappingRequest) (bool, error) { + var ( + err error + defaultRet bool + ) + respData := &SaveURLMappingResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/flow/saveurlmapping") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("content", params.Content) + client.AddPostParam("create_method", params.CreateMethod) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/search/startSubChain.go b/openapi/tp/search/startSubChain.go new file mode 100644 index 0000000..8c8769c --- /dev/null +++ b/openapi/tp/search/startSubChain.go @@ -0,0 +1,59 @@ +package search + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// StartSubChainRequest 请求结构体 +type StartSubChainRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + SubchainID string // 子链 Id +} + +// 响应结构体 + +type StartSubChainResponse struct { + Data bool `json:"data"` // 是否成功 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// StartSubChain +func StartSubChain(params *StartSubChainRequest) (bool, error) { + var ( + err error + defaultRet bool + ) + respData := &StartSubChainResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/subchain/restart") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("subchain_id", params.SubchainID) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/search/stopSubChain.go b/openapi/tp/search/stopSubChain.go new file mode 100644 index 0000000..9866e08 --- /dev/null +++ b/openapi/tp/search/stopSubChain.go @@ -0,0 +1,59 @@ +package search + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// StopSubChainRequest 请求结构体 +type StopSubChainRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + SubchainID string // 子链 Id +} + +// 响应结构体 + +type StopSubChainResponse struct { + Data bool `json:"data"` // 是否成功 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// StopSubChain +func StopSubChain(params *StopSubChainRequest) (bool, error) { + var ( + err error + defaultRet bool + ) + respData := &StopSubChainResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/subchain/stop") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("subchain_id", params.SubchainID) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/search/submitSitemapByApi.go b/openapi/tp/search/submitSitemapByApi.go new file mode 100644 index 0000000..fbedf47 --- /dev/null +++ b/openapi/tp/search/submitSitemapByApi.go @@ -0,0 +1,66 @@ +package search + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// SubmitSitemapByAPIRequest 请求结构体 +type SubmitSitemapByAPIRequest struct { + AccessToken string // 第三方平台的接口调用凭据 + Type int64 // 上传级别 0:周级别,一周左右生效;1:天级别,2~3天生效 + URLList string // url集合;上传级别上限,0:每天3000条,1:每天5000条 多个,分割 +} + +// 响应结构体 + +type SubmitSitemapByAPIResponsedata struct { +} + +type SubmitSitemapByAPIResponse struct { + Data SubmitSitemapByAPIResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// SubmitSitemapByAPI +func SubmitSitemapByAPI(params *SubmitSitemapByAPIRequest) (*SubmitSitemapByAPIResponsedata, error) { + var ( + err error + defaultRet *SubmitSitemapByAPIResponsedata + ) + respData := &SubmitSitemapByAPIResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/access/submit/sitemap") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("type", fmt.Sprintf("%v", params.Type)) + client.AddPostParam("url_list", params.URLList) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/search/updateSubChain.go b/openapi/tp/search/updateSubChain.go new file mode 100644 index 0000000..d118bf9 --- /dev/null +++ b/openapi/tp/search/updateSubChain.go @@ -0,0 +1,67 @@ +package search + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// UpdateSubChainRequest 请求结构体 +type UpdateSubChainRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + SubchainID string // 子链 Id + ChainName string // 4-10个字符,说明子链的功能 + ChainDesc string // 8-16个字符,辅助描述子链的功能 + ChainPath interface{} // 以“/”开头的子链对应的path路径 + Telephone interface{} // SA类型的客服电话子链 +} + +// 响应结构体 + +type UpdateSubChainResponse struct { + Data bool `json:"data"` // 是否成功更新 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// UpdateSubChain +func UpdateSubChain(params *UpdateSubChainRequest) (bool, error) { + var ( + err error + defaultRet bool + ) + respData := &UpdateSubChainResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/subchain/update") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("subchain_id", params.SubchainID) + client.AddPostParam("chain_name", params.ChainName) + client.AddPostParam("chain_desc", params.ChainDesc) + client.AddPostParam("chain_path", params.ChainPath) + client.AddPostParam("telephone", params.Telephone) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/search/uploadRobotsForApp.go b/openapi/tp/search/uploadRobotsForApp.go new file mode 100644 index 0000000..a873dfa --- /dev/null +++ b/openapi/tp/search/uploadRobotsForApp.go @@ -0,0 +1,88 @@ +package search + +import ( + "bytes" + "io" + "mime/multipart" + "path/filepath" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// UploadRobotsForAppRequest 请求结构体 +type UploadRobotsForAppRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + Robots UploadRobotsForAppRequestFile // robots.txt 文件,要求文件为 txt 格式,目前支持48k的文件内容检测,请保证robots.txt文件不要过大,目录最长不超过250个字符。 +} + +type UploadRobotsForAppRequestFile struct { + Name string + Reader io.Reader +} + +// 响应结构体 + +type UploadRobotsForAppResponse struct { + Data string `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// UploadRobotsForApp +func UploadRobotsForApp(params *UploadRobotsForAppRequest) (string, error) { + var ( + err error + defaultRet string + ) + respData := &UploadRobotsForAppResponse{} + + // Post MultiPart/form-data + payload := &bytes.Buffer{} + writer := multipart.NewWriter(payload) + + part1, err := writer.CreateFormFile(params.Robots.Name, filepath.Base(params.Robots.Name)) + if err != nil { + return defaultRet, err + } + + _, err = io.Copy(part1, params.Robots.Reader) + if err != nil { + return defaultRet, err + } + + err = writer.Close() + if err != nil { + return defaultRet, err + } + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeMultiPart + "; boundary=" + writer.Boundary()). + SetBody(payload). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/file/2.0/smartapp/robots/app/upload") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/search/uploadRobotsForTemplate.go b/openapi/tp/search/uploadRobotsForTemplate.go new file mode 100644 index 0000000..c287e3b --- /dev/null +++ b/openapi/tp/search/uploadRobotsForTemplate.go @@ -0,0 +1,91 @@ +package search + +import ( + "bytes" + "fmt" + "io" + "mime/multipart" + "path/filepath" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// UploadRobotsForTemplateRequest 请求结构体 +type UploadRobotsForTemplateRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + TemplateID int64 // 模版 id + Robots UploadRobotsForTemplateRequestFile // robots.txt 文件,要求文件为 txt 格式,目前支持 48k 的文件内容检测,请保证 robots.txt 文件不要过大,目录最长不超过 250 个字符 +} + +type UploadRobotsForTemplateRequestFile struct { + Name string + Reader io.Reader +} + +// 响应结构体 + +type UploadRobotsForTemplateResponse struct { + Data string `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// UploadRobotsForTemplate +func UploadRobotsForTemplate(params *UploadRobotsForTemplateRequest) (string, error) { + var ( + err error + defaultRet string + ) + respData := &UploadRobotsForTemplateResponse{} + + // Post MultiPart/form-data + payload := &bytes.Buffer{} + writer := multipart.NewWriter(payload) + + part1, err := writer.CreateFormFile(params.Robots.Name, filepath.Base(params.Robots.Name)) + if err != nil { + return defaultRet, err + } + + _, err = io.Copy(part1, params.Robots.Reader) + if err != nil { + return defaultRet, err + } + + err = writer.Close() + if err != nil { + return defaultRet, err + } + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeMultiPart + "; boundary=" + writer.Boundary()). + SetBody(payload). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/file/2.0/smartapp/robots/template/upload") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("template_id", fmt.Sprintf("%v", params.TemplateID)) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/template/addToTemplate.go b/openapi/tp/template/addToTemplate.go new file mode 100644 index 0000000..7c71bb9 --- /dev/null +++ b/openapi/tp/template/addToTemplate.go @@ -0,0 +1,65 @@ +package template + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// AddToTemplateRequest 请求结构体 +type AddToTemplateRequest struct { + AccessToken string // 第三方平台的接口调用凭据 + DraftID string // 草稿 id + UserDesc string // 自定义模板名称,30字以内 +} + +// 响应结构体 + +type AddToTemplateResponsedata struct { + TemplateID int64 `json:"template_id"` // 返回模板 id +} + +type AddToTemplateResponse struct { + Data AddToTemplateResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// AddToTemplate +func AddToTemplate(params *AddToTemplateRequest) (*AddToTemplateResponsedata, error) { + var ( + err error + defaultRet *AddToTemplateResponsedata + ) + respData := &AddToTemplateResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/template/addtotemplate") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("draft_id", params.DraftID) + client.AddPostParam("user_desc", params.UserDesc) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/template/delTemplate.go b/openapi/tp/template/delTemplate.go new file mode 100644 index 0000000..e82a766 --- /dev/null +++ b/openapi/tp/template/delTemplate.go @@ -0,0 +1,64 @@ +package template + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// DelTemplateRequest 请求结构体 +type DelTemplateRequest struct { + AccessToken string // 第三方平台的接口调用凭据 + TemplateID string // 模板 id +} + +// 响应结构体 + +type DelTemplateResponse struct { + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 + Data DelTemplateResponsedata +} + +type DelTemplateResponsedata struct { + Errno int64 `json:"errno"` // 状态码 + Msg string `json:"msg"` // 状态描述 +} + +// DelTemplate +func DelTemplate(params *DelTemplateRequest) (*DelTemplateResponsedata, error) { + var ( + err error + defaultRet *DelTemplateResponsedata + ) + respData := &DelTemplateResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/template/deltemplate") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("template_id", params.TemplateID) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/template/getTemplateDraftList.go b/openapi/tp/template/getTemplateDraftList.go new file mode 100644 index 0000000..f95e9e7 --- /dev/null +++ b/openapi/tp/template/getTemplateDraftList.go @@ -0,0 +1,74 @@ +package template + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetTemplateDraftListRequest 请求结构体 +type GetTemplateDraftListRequest struct { + AccessToken string // 第三方平台的接口调用凭据 + Page interface{} // 页码(默认 1) + PageSize interface{} // 条数(默认 10) +} + +// 响应结构体 + +type GetTemplateDraftListResponsedatalistItem struct { + CreateTime int64 `json:"create_time"` // 创建时间 + DraftID int64 `json:"draft_id"` // 草稿 id + UserDesc string `json:"user_desc"` // 模板描述信息 + UserVersion string `json:"user_version"` // 模板版本信息 + WebStatus bool `json:"web_status"` // 是否支持web化,开发者工具编译版本2.15.07以上传的草稿支持web化。 +} + +type GetTemplateDraftListResponsedata struct { + Count int64 `json:"count"` // + List []GetTemplateDraftListResponsedatalistItem `json:"list"` // +} + +type GetTemplateDraftListResponse struct { + Data GetTemplateDraftListResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetTemplateDraftList +func GetTemplateDraftList(params *GetTemplateDraftListRequest) (*GetTemplateDraftListResponsedata, error) { + var ( + err error + defaultRet *GetTemplateDraftListResponsedata + ) + respData := &GetTemplateDraftListResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/template/gettemplatedraftlist") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("page", params.Page) + client.AddGetParam("page_size", params.PageSize) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/template/getTemplateList.go b/openapi/tp/template/getTemplateList.go new file mode 100644 index 0000000..574e248 --- /dev/null +++ b/openapi/tp/template/getTemplateList.go @@ -0,0 +1,74 @@ +package template + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetTemplateListRequest 请求结构体 +type GetTemplateListRequest struct { + AccessToken string // 第三方平台的接口调用凭据 + Page interface{} // 页码(默认 1) + PageSize interface{} // 条数(默认 10) +} + +// 响应结构体 + +type GetTemplateListResponsedatalistItem struct { + CreateTime int64 `json:"create_time"` // 创建时间 + TemplateID int64 `json:"template_id"` // 模板 id + UserDesc string `json:"user_desc"` // 模板描述名称 + UserVersion string `json:"user_version"` // 模板版本信息 + WebStatus bool `json:"web_status"` // 是否支持 web 化,开发者工具编译版本 2.15.07 以上传的模板支持 web 化 +} + +type GetTemplateListResponsedata struct { + Count int64 `json:"count"` // 数据数量 + List []GetTemplateListResponsedatalistItem `json:"list"` // 模版列表 +} + +type GetTemplateListResponse struct { + Data GetTemplateListResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetTemplateList +func GetTemplateList(params *GetTemplateListRequest) (*GetTemplateListResponsedata, error) { + var ( + err error + defaultRet *GetTemplateListResponsedata + ) + respData := &GetTemplateListResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/template/gettemplatelist") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("page", params.Page) + client.AddGetParam("page_size", params.PageSize) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/utils/base.go b/utils/base.go new file mode 100644 index 0000000..2540165 --- /dev/null +++ b/utils/base.go @@ -0,0 +1,41 @@ +package utils + +import "encoding/json" + +const ( + SCHEME = "https" + OPENAPIHOST = "openapi.baidu.com" + SPAPIHOST = "spapi.baidu.com" + SDKLANG = "Go" + SDKVERSION = "1.0.8" +) + +// 网关错误响应结构体 +type OpenAPIError struct { + ErrorCode int64 // openapi 错误码 + ErrorMsg string // openapi 错误信息 + Detail interface{} // 详情 +} + +func (e *OpenAPIError) Error() string { + bts, err := json.Marshal(e.Detail) + if err != nil { + return err.Error() + } + return string(bts) +} + +// 业务接口错误响应结构体 +type APIError struct { + ErrNo int64 // 错误码 + ErrMsg string // 错误信息 + Detail interface{} // 详情 +} + +func (e *APIError) Error() string { + bts, err := json.Marshal(e.Detail) + if err != nil { + return err.Error() + } + return string(bts) +} diff --git a/utils/http_client.go b/utils/http_client.go new file mode 100644 index 0000000..41e2044 --- /dev/null +++ b/utils/http_client.go @@ -0,0 +1,235 @@ +package utils + +import ( + "bytes" + "encoding/json" + "fmt" + "io" + "io/ioutil" + "log" + "net/http" + "net/url" + "os" + "reflect" + "strings" + "time" +) + +var debugFlag bool + +const ( + ContentTypeForm = "application/x-www-form-urlencoded" + ContentTypeJSON = "application/json" + ContentTypeMultiPart = "multipart/form-data" + ConverterTypeJSON = "json" + ConverterTypePNG = "png" + ConverterTypeStream = "octet-stream" + defaultTimeout = 3 * time.Second +) + +// httpClient 封装http请求 +type httpClient struct { + scheme string + host string + path string + method string + contentType string + converterType string + config *config + getParams url.Values + postParams url.Values + requestBody []byte + headers map[string]string + rawResponse []byte + request *http.Request + respHeader http.Header +} + +func init() { + debugEnv := os.Getenv("DEBUG") + debugL := strings.Split(debugEnv, ",") + //如果环境变量包含swansdk字符串,开启debug日志 + for _, v := range debugL { + if v == "swansdk" { + debugFlag = true + break + } + } +} + +// newHTTPClient 创建一个HTTPClient +// opts 支持optTimeout 或 optRetry +func NewHTTPClient(opts ...Option) *httpClient { + cfg := &config{ + retry: 0, + timeout: defaultTimeout, + } + for _, opt := range opts { + opt.apply(cfg) + } + return &httpClient{ + getParams: url.Values{}, + postParams: url.Values{}, + headers: map[string]string{}, + config: cfg, + } +} + +func (hc *httpClient) SetContentType(contentType string) *httpClient { + hc.contentType = contentType + return hc +} +func (hc *httpClient) SetPath(path string) *httpClient { + hc.path = path + return hc +} +func (hc *httpClient) SetHost(host string) *httpClient { + hc.host = host + return hc +} + +func (hc *httpClient) SetScheme(scheme string) *httpClient { + hc.scheme = scheme + return hc +} + +func (hc *httpClient) SetMethod(method string) *httpClient { + hc.method = method + return hc +} + +func (hc *httpClient) SetConverterType(converterType string) *httpClient { + hc.converterType = converterType + return hc +} + +func (hc *httpClient) SetBody(input interface{}) *httpClient { + switch input.(type) { + case []byte: + hc.requestBody = input.([]byte) + case *(bytes.Buffer): + tmp, _ := input.(*(bytes.Buffer)) + hc.requestBody = tmp.Bytes() + default: + bts, _ := json.Marshal(input) + hc.requestBody = bts + } + return hc +} +func (hc *httpClient) AddPostParam(k string, v interface{}) *httpClient { + if v != nil { + vStr := fmt.Sprintf("%v", v) + hc.postParams.Add(k, vStr) + } + return hc +} + +func (hc *httpClient) AddGetParam(k string, v interface{}) *httpClient { + if v != nil { + vStr := fmt.Sprintf("%v", v) + hc.getParams.Add(k, vStr) + } + return hc +} + +func (hc *httpClient) AddHeader(k, v string) *httpClient { + hc.headers[k] = v + return hc +} + +func (hc *httpClient) prepareRequest() error { + reqURI := fmt.Sprintf("%s://%s%s", hc.scheme, hc.host, hc.path) + if len(hc.getParams) > 0 { + reqURI = fmt.Sprintf("%s?%s", reqURI, hc.getParams.Encode()) + } + hc.debugLog("req_uri", reqURI) + if hc.method == http.MethodGet { + req, err := http.NewRequest(hc.method, reqURI, nil) + if err != nil { + hc.debugLog("getreq err %s", err) + return err + } + hc.request = req + return nil + } + var bodyReader io.Reader + switch { + case hc.contentType == ContentTypeForm: + bodyReader = strings.NewReader(hc.postParams.Encode()) + case hc.contentType == ContentTypeJSON: + bodyReader = strings.NewReader(string(hc.requestBody)) + case hc.contentType == ContentTypeMultiPart || strings.Contains(hc.contentType, ContentTypeMultiPart): + bodyReader = bytes.NewBuffer(hc.requestBody) + default: + + } + + req, err := http.NewRequest(hc.method, reqURI, bodyReader) + if err != nil { + hc.debugLog("postreq err %s", err) + return err + } + req.Header.Add("content-type", hc.contentType) + for k, v := range hc.headers { + req.Header.Add(k, v) + } + hc.debugLog("http-req %#v", req) + hc.request = req + return nil +} + +func (hc *httpClient) debugLog(format string, v ...interface{}) { + if debugFlag { + log.Printf(format, v...) + } +} + +func (hc *httpClient) Do() error { + if err := hc.prepareRequest(); err != nil { + return err + } + client := &http.Client{Timeout: hc.config.timeout} + //todo retry && hook + res, err := client.Do(hc.request) + hc.respHeader = res.Header + hc.debugLog("http response: %#v", res) + if err != nil { + return err + } + //错误码非20x + if res.StatusCode < 200 || res.StatusCode >= 300 { + return fmt.Errorf("status[%s]", res.Status) + } + if res.Body == nil { + return fmt.Errorf("nil body") + } + defer res.Body.Close() + btsRes, err := ioutil.ReadAll(res.Body) + if err != nil { + return err + } + hc.rawResponse = btsRes + hc.debugLog("raw res: %s", btsRes) + return nil +} + +func (hc *httpClient) GetRawResponse() []byte { + return hc.rawResponse +} + +func (hc *httpClient) GetRespHeader() http.Header { + return hc.respHeader +} + +func (hc *httpClient) Convert(resp interface{}) error { + switch hc.converterType { + case ConverterTypeJSON: + return json.Unmarshal(hc.rawResponse, resp) + case ConverterTypePNG, ConverterTypeStream: + vResp := reflect.Indirect(reflect.ValueOf(resp)) + vResp.Set(reflect.ValueOf(hc.rawResponse)) + return nil + default: + return fmt.Errorf("invalid converter[%s]", hc.converterType) + } +} diff --git a/utils/options.go b/utils/options.go new file mode 100644 index 0000000..03a694c --- /dev/null +++ b/utils/options.go @@ -0,0 +1,37 @@ +package utils + +import "time" + +type config struct { + timeout time.Duration + retry int +} + +type Option interface { + apply(*config) +} + +type funcOption struct { + f func(cfg *config) +} + +func (fdo *funcOption) apply(cfg *config) { + fdo.f(cfg) +} + +func newFuncOption(f func(*config)) *funcOption { + return &funcOption{ + f: f, + } +} + +func OptRetry(retry int) Option { + return newFuncOption(func(cfg *config) { + cfg.retry = retry + }) +} +func OptTimeout(timeout time.Duration) Option { + return newFuncOption(func(cfg *config) { + cfg.timeout = timeout + }) +} From a346fa2b8bf8c91c95b206a8f7e86a143e12db27 Mon Sep 17 00:00:00 2001 From: dingawm Date: Tue, 29 Mar 2022 11:50:50 +0800 Subject: [PATCH 2/2] first commit for tp sdk --- README.md | 16 +- doc_examples/addCouponBanner/main.go | 1 - doc_examples/addMaterial/main.go | 1 - doc_examples/addOrderInfo/main.go | 1 - doc_examples/addOrderSubInfo/main.go | 1 - doc_examples/addTemplate/main.go | 1 - doc_examples/applyOrderRefund/main.go | 1 - doc_examples/batchGetCoupon/main.go | 1 - doc_examples/batchGetCouponBanner/main.go | 1 - doc_examples/batchUploadCouponCode/main.go | 1 - doc_examples/cancelOrder/main.go | 1 - doc_examples/capitaBill/main.go | 1 - doc_examples/checkImage/main.go | 1 - doc_examples/checkPath/main.go | 1 - doc_examples/checkText/main.go | 1 - doc_examples/consumeCouponCode/main.go | 1 - doc_examples/createCoupon/main.go | 1 - doc_examples/customSend/main.go | 1 - doc_examples/deleteCoupon/main.go | 1 - doc_examples/deleteCouponBanner/main.go | 1 - doc_examples/deleteMaterial/main.go | 1 - doc_examples/deleteResource/main.go | 1 - doc_examples/deleteSitemap/main.go | 1 - doc_examples/deleteSku/main.go | 1 - doc_examples/deleteSkuCoupon/main.go | 1 - doc_examples/deleteTemplate/main.go | 1 - doc_examples/detectRisk/main.go | 1 - doc_examples/findByTpOrderId/main.go | 1 - doc_examples/findOrderRefund/main.go | 1 - doc_examples/getAccessToken/main.go | 1 - doc_examples/getCommentCount/main.go | 1 - doc_examples/getCommentList/main.go | 1 - doc_examples/getCoupon/main.go | 1 - doc_examples/getCouponBanner/main.go | 1 - doc_examples/getLikeCount/main.go | 1 - doc_examples/getPathCheckResultByID/main.go | 1 - doc_examples/getQrCode/main.go | 1 - doc_examples/getSessionKey/main.go | 1 - doc_examples/getSessionKeyv2/main.go | 1 - doc_examples/getTemplateLibraryById/main.go | 1 - doc_examples/getTemplateLibraryList/main.go | 1 - doc_examples/getTemplateList/main.go | 1 - doc_examples/getUnionid/main.go | 1 - doc_examples/getUnlimitedQrCode/main.go | 1 - doc_examples/misjudgeFeedback/main.go | 1 - doc_examples/modifyMaterial/main.go | 1 - doc_examples/orderBill/main.go | 1 - doc_examples/resetComponentStorage/main.go | 1 - doc_examples/returnCoupon/main.go | 1 - doc_examples/sendCoupon/main.go | 1 - doc_examples/sendTemplateMessage/main.go | 1 - doc_examples/submitOrderLogistics/main.go | 1 - doc_examples/submitResource/main.go | 1 - doc_examples/submitSitemap/main.go | 1 - doc_examples/submitSku/main.go | 1 - doc_examples/submitSkuCoupon/main.go | 1 - doc_examples/subscribeSend/main.go | 1 - .../analysis/getAnalysisActivityUser/main.go | 42 ++++ .../tp/analysis/getAnalysisRegion/main.go | 42 ++++ .../analysis/getAnalysisRetainedUser/main.go | 44 ++++ .../tp/analysis/getAnalysisSourceInfo/main.go | 42 ++++ .../analysis/getAnalysisTerminalInfo/main.go | 43 ++++ .../tp/analysis/getAnalysisUserTrend/main.go | 43 ++++ .../getAnalysisVisitAttribute/main.go | 41 +++ .../getAnalysisVisitCharacter/main.go | 43 ++++ .../tp/analysis/getAnalysisVisitPage/main.go | 42 ++++ doc_examples/tp/analysis/getData/main.go | 45 ++++ doc_examples/tp/app/checkAppNickName/main.go | 41 +++ doc_examples/tp/app/controlAppFlow/main.go | 40 +++ .../tp/app/getAppCategoryList/main.go | 40 +++ doc_examples/tp/app/getAppQRCode/main.go | 47 ++++ doc_examples/tp/app/getAppSupportVer/main.go | 39 +++ doc_examples/tp/app/pauseApp/main.go | 39 +++ doc_examples/tp/app/resumeApp/main.go | 39 +++ doc_examples/tp/app/setAppCategory/main.go | 40 +++ doc_examples/tp/app/setAppDomain/main.go | 44 ++++ doc_examples/tp/app/setAppImage/main.go | 40 +++ doc_examples/tp/app/setAppNickName/main.go | 41 +++ doc_examples/tp/app/setAppSignature/main.go | 40 +++ .../tp/app/setAppWebViewDomain/main.go | 41 +++ doc_examples/tp/authcert/getFaceAuth/main.go | 39 +++ .../tp/authcert/getPaymentCert/main.go | 39 +++ .../tp/authprocess/getAppInfo/main.go | 39 +++ .../tp/authprocess/getOAuthToken/main.go | 41 +++ .../tp/authprocess/getPreAuthCode/main.go | 39 +++ .../tp/authprocess/getTpToken/main.go | 40 +++ .../tp/authprocess/refreshOAuthToken/main.go | 41 +++ .../tp/authprocess/retrieveAuthCode/main.go | 40 +++ .../customermsg/sendCustomerMessage/main.go | 44 ++++ .../tp/domain/downloadDomainCheckFile/main.go | 44 ++++ .../tp/domain/modifyBusinessDomain/main.go | 41 +++ .../tp/domain/modifyServerDomain/main.go | 44 ++++ .../tp/feed/accessResourceQuery/main.go | 46 ++++ .../tp/feed/accessResourceSubmit/main.go | 50 ++++ doc_examples/tp/feed/deleteResource/main.go | 41 +++ doc_examples/tp/feed/deleteSitemap/main.go | 41 +++ doc_examples/tp/feed/submitSitemap/main.go | 44 ++++ doc_examples/tp/grade/appGrade/main.go | 40 +++ doc_examples/tp/image/uploadImage/main.go | 53 ++++ doc_examples/tp/login/getSessionKey/main.go | 41 +++ doc_examples/tp/login/getUnionId/main.go | 40 +++ .../tp/mobileauth/applyMobileAuth/main.go | 43 ++++ .../tp/mobileauth/cancelMobileAuth/main.go | 39 +++ .../tp/mobileauth/getMobileAuthStatus/main.go | 39 +++ doc_examples/tp/msg/getMsg/main.go | 45 ++++ .../tp/msgtemplate/addMsgTemplate/main.go | 41 +++ .../tp/msgtemplate/delMsgTemplate/main.go | 40 +++ .../getMsgTemplateLibraryKeyWord/main.go | 40 +++ .../getMsgTemplateLibraryList/main.go | 41 +++ .../tp/msgtemplate/getMsgTemplateList/main.go | 41 +++ doc_examples/tp/msgtemplate/sendMsg/main.go | 47 ++++ .../tp/offline/getAppViolationDetail/main.go | 39 +++ doc_examples/tp/offline/setAppOffline/main.go | 43 ++++ .../tp/optimization/getPrelink/main.go | 39 +++ .../tp/optimization/setPrelink/main.go | 40 +++ doc_examples/tp/order/addMainInfo/main.go | 165 ++++++++++++ doc_examples/tp/order/appendSubInfo/main.go | 91 +++++++ doc_examples/tp/order/updateMainInfo/main.go | 123 +++++++++ .../tp/order/updateMainStatus/main.go | 52 ++++ doc_examples/tp/order/updateSubInfo/main.go | 95 +++++++ doc_examples/tp/order/updateSubStatus/main.go | 68 +++++ doc_examples/tp/pay/applyOrderRefund/main.go | 49 ++++ doc_examples/tp/pay/closeOrder/main.go | 41 +++ doc_examples/tp/pay/createPayAccount/main.go | 70 ++++++ .../tp/pay/createPaymentService/main.go | 52 ++++ .../tp/pay/downloadCapitalBill/main.go | 41 +++ doc_examples/tp/pay/downloadOrderBill/main.go | 41 +++ .../tp/pay/getBindPaymentService/main.go | 39 +++ doc_examples/tp/pay/getByTpOrderId/main.go | 41 +++ doc_examples/tp/pay/getExpenseDetail/main.go | 40 +++ doc_examples/tp/pay/getExpenseList/main.go | 43 ++++ doc_examples/tp/pay/getFinanceBalance/main.go | 43 ++++ doc_examples/tp/pay/getIncomeDetail/main.go | 42 ++++ doc_examples/tp/pay/getOrderList/main.go | 44 ++++ doc_examples/tp/pay/getOrderRefund/main.go | 42 ++++ doc_examples/tp/pay/getOtherDetail/main.go | 43 ++++ .../tp/pay/getPayAccountAuditStatus/main.go | 39 +++ .../tp/pay/getPayServiceAuditStatus/main.go | 39 +++ .../tp/pay/getPaymentServiceDict/main.go | 39 +++ .../tp/pay/getTradeIndustryList/main.go | 39 +++ .../tp/pay/submitDevelopConfig/main.go | 43 ++++ .../tp/pay/updateBindPaymentService/main.go | 52 ++++ .../tp/pay/updatePaymentService/main.go | 42 ++++ doc_examples/tp/pkg/getPackage/main.go | 39 +++ doc_examples/tp/pkg/getPackageDetail/main.go | 41 +++ .../tp/pkg/getPackageSubmitAuditQuota/main.go | 39 +++ doc_examples/tp/pkg/releasePackage/main.go | 40 +++ doc_examples/tp/pkg/rollbackPackage/main.go | 40 +++ .../tp/pkg/submitPackageAudit/main.go | 44 ++++ doc_examples/tp/pkg/uploadPackage/main.go | 45 ++++ .../tp/pkg/withdrawPackageAudit/main.go | 40 +++ doc_examples/tp/search/addSubChain/main.go | 43 ++++ doc_examples/tp/search/bindSite/main.go | 40 +++ doc_examples/tp/search/delUrlMapping/main.go | 40 +++ doc_examples/tp/search/deleteSubChain/main.go | 40 +++ doc_examples/tp/search/getAllSubChain/main.go | 39 +++ doc_examples/tp/search/getBindSite/main.go | 41 +++ .../tp/search/getQueryKeyword/main.go | 43 ++++ doc_examples/tp/search/getSitemapMeta/main.go | 40 +++ .../tp/search/getTopQueryUrlInfo/main.go | 42 ++++ .../tp/search/getUrlMappingDetail/main.go | 40 +++ .../tp/search/modifyWebStatus/main.go | 40 +++ .../tp/search/queryUrlMapping/main.go | 41 +++ doc_examples/tp/search/rankSubChain/main.go | 40 +++ doc_examples/tp/search/saveUrlMapping/main.go | 41 +++ doc_examples/tp/search/startSubChain/main.go | 40 +++ doc_examples/tp/search/stopSubChain/main.go | 40 +++ .../tp/search/submitSitemapByApi/main.go | 41 +++ doc_examples/tp/search/updateSubChain/main.go | 44 ++++ .../tp/search/uploadRobotsForApp/main.go | 51 ++++ .../tp/search/uploadRobotsForTemplate/main.go | 52 ++++ .../tp/template/addToTemplate/main.go | 41 +++ doc_examples/tp/template/delTemplate/main.go | 40 +++ .../tp/template/getTemplateDraftList/main.go | 41 +++ .../tp/template/getTemplateList/main.go | 41 +++ doc_examples/updateCouponBanner/main.go | 1 - doc_examples/updateOrderInfo/main.go | 1 - doc_examples/updateOrderStatus/main.go | 1 - doc_examples/updateOrderSubInfo/main.go | 1 - doc_examples/updateOrderSubStatus/main.go | 1 - doc_examples/uploadCouponImage/main.go | 1 - .../tp/analysis/getAnalysisActivityUser.go | 100 ++++++++ openapi/tp/analysis/getAnalysisRegion.go | 90 +++++++ .../tp/analysis/getAnalysisRetainedUser.go | 83 +++++++ openapi/tp/analysis/getAnalysisSourceInfo.go | 83 +++++++ .../tp/analysis/getAnalysisTerminalInfo.go | 92 +++++++ openapi/tp/analysis/getAnalysisUserTrend.go | 98 ++++++++ .../tp/analysis/getAnalysisVisitAttribute.go | 89 +++++++ .../tp/analysis/getAnalysisVisitCharacter.go | 82 ++++++ openapi/tp/analysis/getAnalysisVisitPage.go | 98 ++++++++ openapi/tp/analysis/getData.go | 97 ++++++++ openapi/tp/app/checkAppNickName.go | 68 +++++ openapi/tp/app/controlAppFlow.go | 66 +++++ openapi/tp/app/getAppCategoryList.go | 74 ++++++ openapi/tp/app/getAppQRCode.go | 67 +++++ openapi/tp/app/getAppSupportVer.go | 66 +++++ openapi/tp/app/pauseApp.go | 62 +++++ openapi/tp/app/resumeApp.go | 62 +++++ openapi/tp/app/setAppCategory.go | 63 +++++ openapi/tp/app/setAppDomain.go | 74 ++++++ openapi/tp/app/setAppImage.go | 62 +++++ openapi/tp/app/setAppNickName.go | 65 +++++ openapi/tp/app/setAppSignature.go | 62 +++++ openapi/tp/app/setAppWebViewDomain.go | 61 +++++ openapi/tp/authcert/getFaceAuth.go | 63 +++++ openapi/tp/authcert/getPaymentCert.go | 61 +++++ openapi/tp/authprocess/getAppInfo.go | 136 ++++++++++ openapi/tp/authprocess/getOAuthToken.go | 73 ++++++ openapi/tp/authprocess/getPreAuthCode.go | 66 +++++ openapi/tp/authprocess/getTpToken.go | 65 +++++ openapi/tp/authprocess/refreshOAuthToken.go | 73 ++++++ openapi/tp/authprocess/retrieveAuthCode.go | 66 +++++ openapi/tp/customermsg/sendCustomerMessage.go | 74 ++++++ openapi/tp/domain/downloadDomainCheckFile.go | 56 +++++ openapi/tp/domain/modifyBusinessDomain.go | 61 +++++ openapi/tp/domain/modifyServerDomain.go | 74 ++++++ openapi/tp/feed/accessResourceQuery.go | 88 +++++++ openapi/tp/feed/accessResourceSubmit.go | 81 ++++++ openapi/tp/feed/deleteResource.go | 61 +++++ openapi/tp/feed/deleteSitemap.go | 61 +++++ openapi/tp/feed/submitSitemap.go | 69 +++++ openapi/tp/grade/appGrade.go | 75 ++++++ openapi/tp/image/uploadImage.go | 91 +++++++ openapi/tp/login/getSessionKey.go | 65 +++++ openapi/tp/login/getUnionId.go | 63 +++++ openapi/tp/mobileauth/applyMobileAuth.go | 70 ++++++ openapi/tp/mobileauth/cancelMobileAuth.go | 60 +++++ openapi/tp/mobileauth/getMobileAuthStatus.go | 62 +++++ openapi/tp/msg/getMsg.go | 82 ++++++ openapi/tp/msgtemplate/addMsgTemplate.go | 65 +++++ openapi/tp/msgtemplate/delMsgTemplate.go | 64 +++++ .../getMsgTemplateLibraryKeyWord.go | 72 ++++++ .../msgtemplate/getMsgTemplateLibraryList.go | 73 ++++++ openapi/tp/msgtemplate/getMsgTemplateList.go | 75 ++++++ openapi/tp/msgtemplate/sendMsg.go | 79 ++++++ openapi/tp/offline/getAppViolationDetail.go | 72 ++++++ openapi/tp/offline/setAppOffline.go | 69 +++++ openapi/tp/optimization/getPrelink.go | 57 +++++ openapi/tp/optimization/setPrelink.go | 85 +++++++ openapi/tp/order/addMainInfo.go | 174 +++++++++++++ openapi/tp/order/appendSubInfo.go | 118 +++++++++ openapi/tp/order/updateMainInfo.go | 141 +++++++++++ openapi/tp/order/updateMainStatus.go | 89 +++++++ openapi/tp/order/updateSubInfo.go | 122 +++++++++ openapi/tp/order/updateSubStatus.go | 100 ++++++++ openapi/tp/pay/applyOrderRefund.go | 84 +++++++ openapi/tp/pay/closeOrder.go | 61 +++++ openapi/tp/pay/createPayAccount.go | 124 +++++++++ openapi/tp/pay/createPaymentService.go | 88 +++++++ openapi/tp/pay/downloadCapitalBill.go | 73 ++++++ openapi/tp/pay/downloadOrderBill.go | 73 ++++++ openapi/tp/pay/getBindPaymentService.go | 78 ++++++ openapi/tp/pay/getByTpOrderId.go | 85 +++++++ openapi/tp/pay/getExpenseDetail.go | 73 ++++++ openapi/tp/pay/getExpenseList.go | 84 +++++++ openapi/tp/pay/getFinanceBalance.go | 88 +++++++ openapi/tp/pay/getIncomeDetail.go | 86 +++++++ openapi/tp/pay/getOrderList.go | 95 +++++++ openapi/tp/pay/getOrderRefund.go | 73 ++++++ openapi/tp/pay/getOtherDetail.go | 84 +++++++ openapi/tp/pay/getPayAccountAuditStatus.go | 62 +++++ openapi/tp/pay/getPayServiceAuditStatus.go | 62 +++++ openapi/tp/pay/getPaymentServiceDict.go | 85 +++++++ openapi/tp/pay/getTradeIndustryList.go | 83 +++++++ openapi/tp/pay/submitDevelopConfig.go | 68 +++++ openapi/tp/pay/updateBindPaymentService.go | 88 +++++++ openapi/tp/pay/updatePaymentService.go | 68 +++++ openapi/tp/pkg/getPackage.go | 73 ++++++ openapi/tp/pkg/getPackageDetail.go | 72 ++++++ openapi/tp/pkg/getPackageSubmitAuditQuota.go | 63 +++++ openapi/tp/pkg/releasePackage.go | 62 +++++ openapi/tp/pkg/rollbackPackage.go | 62 +++++ openapi/tp/pkg/submitPackageAudit.go | 70 ++++++ openapi/tp/pkg/uploadPackage.go | 72 ++++++ openapi/tp/pkg/withdrawPackageAudit.go | 62 +++++ openapi/tp/search/addSubChain.go | 65 +++++ openapi/tp/search/bindSite.go | 59 +++++ openapi/tp/search/delUrlMapping.go | 61 +++++ openapi/tp/search/deleteSubChain.go | 59 +++++ openapi/tp/search/getAllSubChain.go | 83 +++++++ openapi/tp/search/getBindSite.go | 63 +++++ openapi/tp/search/getQueryKeyword.go | 79 ++++++ openapi/tp/search/getSitemapMeta.go | 75 ++++++ openapi/tp/search/getTopQueryUrlInfo.go | 81 ++++++ openapi/tp/search/getUrlMappingDetail.go | 77 ++++++ openapi/tp/search/modifyWebStatus.go | 66 +++++ openapi/tp/search/queryUrlMapping.go | 80 ++++++ openapi/tp/search/rankSubChain.go | 59 +++++ openapi/tp/search/saveUrlMapping.go | 61 +++++ openapi/tp/search/startSubChain.go | 59 +++++ openapi/tp/search/stopSubChain.go | 59 +++++ openapi/tp/search/submitSitemapByApi.go | 66 +++++ openapi/tp/search/updateSubChain.go | 67 +++++ openapi/tp/search/uploadRobotsForApp.go | 88 +++++++ openapi/tp/search/uploadRobotsForTemplate.go | 91 +++++++ openapi/tp/template/addToTemplate.go | 65 +++++ openapi/tp/template/delTemplate.go | 64 +++++ openapi/tp/template/getTemplateDraftList.go | 74 ++++++ openapi/tp/template/getTemplateList.go | 74 ++++++ utils/base.go | 41 +++ utils/http_client.go | 235 ++++++++++++++++++ utils/options.go | 37 +++ 302 files changed, 14622 insertions(+), 69 deletions(-) create mode 100644 doc_examples/tp/analysis/getAnalysisActivityUser/main.go create mode 100644 doc_examples/tp/analysis/getAnalysisRegion/main.go create mode 100644 doc_examples/tp/analysis/getAnalysisRetainedUser/main.go create mode 100644 doc_examples/tp/analysis/getAnalysisSourceInfo/main.go create mode 100644 doc_examples/tp/analysis/getAnalysisTerminalInfo/main.go create mode 100644 doc_examples/tp/analysis/getAnalysisUserTrend/main.go create mode 100644 doc_examples/tp/analysis/getAnalysisVisitAttribute/main.go create mode 100644 doc_examples/tp/analysis/getAnalysisVisitCharacter/main.go create mode 100644 doc_examples/tp/analysis/getAnalysisVisitPage/main.go create mode 100644 doc_examples/tp/analysis/getData/main.go create mode 100644 doc_examples/tp/app/checkAppNickName/main.go create mode 100644 doc_examples/tp/app/controlAppFlow/main.go create mode 100644 doc_examples/tp/app/getAppCategoryList/main.go create mode 100644 doc_examples/tp/app/getAppQRCode/main.go create mode 100644 doc_examples/tp/app/getAppSupportVer/main.go create mode 100644 doc_examples/tp/app/pauseApp/main.go create mode 100644 doc_examples/tp/app/resumeApp/main.go create mode 100644 doc_examples/tp/app/setAppCategory/main.go create mode 100644 doc_examples/tp/app/setAppDomain/main.go create mode 100644 doc_examples/tp/app/setAppImage/main.go create mode 100644 doc_examples/tp/app/setAppNickName/main.go create mode 100644 doc_examples/tp/app/setAppSignature/main.go create mode 100644 doc_examples/tp/app/setAppWebViewDomain/main.go create mode 100644 doc_examples/tp/authcert/getFaceAuth/main.go create mode 100644 doc_examples/tp/authcert/getPaymentCert/main.go create mode 100644 doc_examples/tp/authprocess/getAppInfo/main.go create mode 100644 doc_examples/tp/authprocess/getOAuthToken/main.go create mode 100644 doc_examples/tp/authprocess/getPreAuthCode/main.go create mode 100644 doc_examples/tp/authprocess/getTpToken/main.go create mode 100644 doc_examples/tp/authprocess/refreshOAuthToken/main.go create mode 100644 doc_examples/tp/authprocess/retrieveAuthCode/main.go create mode 100644 doc_examples/tp/customermsg/sendCustomerMessage/main.go create mode 100644 doc_examples/tp/domain/downloadDomainCheckFile/main.go create mode 100644 doc_examples/tp/domain/modifyBusinessDomain/main.go create mode 100644 doc_examples/tp/domain/modifyServerDomain/main.go create mode 100644 doc_examples/tp/feed/accessResourceQuery/main.go create mode 100644 doc_examples/tp/feed/accessResourceSubmit/main.go create mode 100644 doc_examples/tp/feed/deleteResource/main.go create mode 100644 doc_examples/tp/feed/deleteSitemap/main.go create mode 100644 doc_examples/tp/feed/submitSitemap/main.go create mode 100644 doc_examples/tp/grade/appGrade/main.go create mode 100644 doc_examples/tp/image/uploadImage/main.go create mode 100644 doc_examples/tp/login/getSessionKey/main.go create mode 100644 doc_examples/tp/login/getUnionId/main.go create mode 100644 doc_examples/tp/mobileauth/applyMobileAuth/main.go create mode 100644 doc_examples/tp/mobileauth/cancelMobileAuth/main.go create mode 100644 doc_examples/tp/mobileauth/getMobileAuthStatus/main.go create mode 100644 doc_examples/tp/msg/getMsg/main.go create mode 100644 doc_examples/tp/msgtemplate/addMsgTemplate/main.go create mode 100644 doc_examples/tp/msgtemplate/delMsgTemplate/main.go create mode 100644 doc_examples/tp/msgtemplate/getMsgTemplateLibraryKeyWord/main.go create mode 100644 doc_examples/tp/msgtemplate/getMsgTemplateLibraryList/main.go create mode 100644 doc_examples/tp/msgtemplate/getMsgTemplateList/main.go create mode 100644 doc_examples/tp/msgtemplate/sendMsg/main.go create mode 100644 doc_examples/tp/offline/getAppViolationDetail/main.go create mode 100644 doc_examples/tp/offline/setAppOffline/main.go create mode 100644 doc_examples/tp/optimization/getPrelink/main.go create mode 100644 doc_examples/tp/optimization/setPrelink/main.go create mode 100644 doc_examples/tp/order/addMainInfo/main.go create mode 100644 doc_examples/tp/order/appendSubInfo/main.go create mode 100644 doc_examples/tp/order/updateMainInfo/main.go create mode 100644 doc_examples/tp/order/updateMainStatus/main.go create mode 100644 doc_examples/tp/order/updateSubInfo/main.go create mode 100644 doc_examples/tp/order/updateSubStatus/main.go create mode 100644 doc_examples/tp/pay/applyOrderRefund/main.go create mode 100644 doc_examples/tp/pay/closeOrder/main.go create mode 100644 doc_examples/tp/pay/createPayAccount/main.go create mode 100644 doc_examples/tp/pay/createPaymentService/main.go create mode 100644 doc_examples/tp/pay/downloadCapitalBill/main.go create mode 100644 doc_examples/tp/pay/downloadOrderBill/main.go create mode 100644 doc_examples/tp/pay/getBindPaymentService/main.go create mode 100644 doc_examples/tp/pay/getByTpOrderId/main.go create mode 100644 doc_examples/tp/pay/getExpenseDetail/main.go create mode 100644 doc_examples/tp/pay/getExpenseList/main.go create mode 100644 doc_examples/tp/pay/getFinanceBalance/main.go create mode 100644 doc_examples/tp/pay/getIncomeDetail/main.go create mode 100644 doc_examples/tp/pay/getOrderList/main.go create mode 100644 doc_examples/tp/pay/getOrderRefund/main.go create mode 100644 doc_examples/tp/pay/getOtherDetail/main.go create mode 100644 doc_examples/tp/pay/getPayAccountAuditStatus/main.go create mode 100644 doc_examples/tp/pay/getPayServiceAuditStatus/main.go create mode 100644 doc_examples/tp/pay/getPaymentServiceDict/main.go create mode 100644 doc_examples/tp/pay/getTradeIndustryList/main.go create mode 100644 doc_examples/tp/pay/submitDevelopConfig/main.go create mode 100644 doc_examples/tp/pay/updateBindPaymentService/main.go create mode 100644 doc_examples/tp/pay/updatePaymentService/main.go create mode 100644 doc_examples/tp/pkg/getPackage/main.go create mode 100644 doc_examples/tp/pkg/getPackageDetail/main.go create mode 100644 doc_examples/tp/pkg/getPackageSubmitAuditQuota/main.go create mode 100644 doc_examples/tp/pkg/releasePackage/main.go create mode 100644 doc_examples/tp/pkg/rollbackPackage/main.go create mode 100644 doc_examples/tp/pkg/submitPackageAudit/main.go create mode 100644 doc_examples/tp/pkg/uploadPackage/main.go create mode 100644 doc_examples/tp/pkg/withdrawPackageAudit/main.go create mode 100644 doc_examples/tp/search/addSubChain/main.go create mode 100644 doc_examples/tp/search/bindSite/main.go create mode 100644 doc_examples/tp/search/delUrlMapping/main.go create mode 100644 doc_examples/tp/search/deleteSubChain/main.go create mode 100644 doc_examples/tp/search/getAllSubChain/main.go create mode 100644 doc_examples/tp/search/getBindSite/main.go create mode 100644 doc_examples/tp/search/getQueryKeyword/main.go create mode 100644 doc_examples/tp/search/getSitemapMeta/main.go create mode 100644 doc_examples/tp/search/getTopQueryUrlInfo/main.go create mode 100644 doc_examples/tp/search/getUrlMappingDetail/main.go create mode 100644 doc_examples/tp/search/modifyWebStatus/main.go create mode 100644 doc_examples/tp/search/queryUrlMapping/main.go create mode 100644 doc_examples/tp/search/rankSubChain/main.go create mode 100644 doc_examples/tp/search/saveUrlMapping/main.go create mode 100644 doc_examples/tp/search/startSubChain/main.go create mode 100644 doc_examples/tp/search/stopSubChain/main.go create mode 100644 doc_examples/tp/search/submitSitemapByApi/main.go create mode 100644 doc_examples/tp/search/updateSubChain/main.go create mode 100644 doc_examples/tp/search/uploadRobotsForApp/main.go create mode 100644 doc_examples/tp/search/uploadRobotsForTemplate/main.go create mode 100644 doc_examples/tp/template/addToTemplate/main.go create mode 100644 doc_examples/tp/template/delTemplate/main.go create mode 100644 doc_examples/tp/template/getTemplateDraftList/main.go create mode 100644 doc_examples/tp/template/getTemplateList/main.go create mode 100644 openapi/tp/analysis/getAnalysisActivityUser.go create mode 100644 openapi/tp/analysis/getAnalysisRegion.go create mode 100644 openapi/tp/analysis/getAnalysisRetainedUser.go create mode 100644 openapi/tp/analysis/getAnalysisSourceInfo.go create mode 100644 openapi/tp/analysis/getAnalysisTerminalInfo.go create mode 100644 openapi/tp/analysis/getAnalysisUserTrend.go create mode 100644 openapi/tp/analysis/getAnalysisVisitAttribute.go create mode 100644 openapi/tp/analysis/getAnalysisVisitCharacter.go create mode 100644 openapi/tp/analysis/getAnalysisVisitPage.go create mode 100644 openapi/tp/analysis/getData.go create mode 100644 openapi/tp/app/checkAppNickName.go create mode 100644 openapi/tp/app/controlAppFlow.go create mode 100644 openapi/tp/app/getAppCategoryList.go create mode 100644 openapi/tp/app/getAppQRCode.go create mode 100644 openapi/tp/app/getAppSupportVer.go create mode 100644 openapi/tp/app/pauseApp.go create mode 100644 openapi/tp/app/resumeApp.go create mode 100644 openapi/tp/app/setAppCategory.go create mode 100644 openapi/tp/app/setAppDomain.go create mode 100644 openapi/tp/app/setAppImage.go create mode 100644 openapi/tp/app/setAppNickName.go create mode 100644 openapi/tp/app/setAppSignature.go create mode 100644 openapi/tp/app/setAppWebViewDomain.go create mode 100644 openapi/tp/authcert/getFaceAuth.go create mode 100644 openapi/tp/authcert/getPaymentCert.go create mode 100644 openapi/tp/authprocess/getAppInfo.go create mode 100644 openapi/tp/authprocess/getOAuthToken.go create mode 100644 openapi/tp/authprocess/getPreAuthCode.go create mode 100644 openapi/tp/authprocess/getTpToken.go create mode 100644 openapi/tp/authprocess/refreshOAuthToken.go create mode 100644 openapi/tp/authprocess/retrieveAuthCode.go create mode 100644 openapi/tp/customermsg/sendCustomerMessage.go create mode 100644 openapi/tp/domain/downloadDomainCheckFile.go create mode 100644 openapi/tp/domain/modifyBusinessDomain.go create mode 100644 openapi/tp/domain/modifyServerDomain.go create mode 100644 openapi/tp/feed/accessResourceQuery.go create mode 100644 openapi/tp/feed/accessResourceSubmit.go create mode 100644 openapi/tp/feed/deleteResource.go create mode 100644 openapi/tp/feed/deleteSitemap.go create mode 100644 openapi/tp/feed/submitSitemap.go create mode 100644 openapi/tp/grade/appGrade.go create mode 100644 openapi/tp/image/uploadImage.go create mode 100644 openapi/tp/login/getSessionKey.go create mode 100644 openapi/tp/login/getUnionId.go create mode 100644 openapi/tp/mobileauth/applyMobileAuth.go create mode 100644 openapi/tp/mobileauth/cancelMobileAuth.go create mode 100644 openapi/tp/mobileauth/getMobileAuthStatus.go create mode 100644 openapi/tp/msg/getMsg.go create mode 100644 openapi/tp/msgtemplate/addMsgTemplate.go create mode 100644 openapi/tp/msgtemplate/delMsgTemplate.go create mode 100644 openapi/tp/msgtemplate/getMsgTemplateLibraryKeyWord.go create mode 100644 openapi/tp/msgtemplate/getMsgTemplateLibraryList.go create mode 100644 openapi/tp/msgtemplate/getMsgTemplateList.go create mode 100644 openapi/tp/msgtemplate/sendMsg.go create mode 100644 openapi/tp/offline/getAppViolationDetail.go create mode 100644 openapi/tp/offline/setAppOffline.go create mode 100644 openapi/tp/optimization/getPrelink.go create mode 100644 openapi/tp/optimization/setPrelink.go create mode 100644 openapi/tp/order/addMainInfo.go create mode 100644 openapi/tp/order/appendSubInfo.go create mode 100644 openapi/tp/order/updateMainInfo.go create mode 100644 openapi/tp/order/updateMainStatus.go create mode 100644 openapi/tp/order/updateSubInfo.go create mode 100644 openapi/tp/order/updateSubStatus.go create mode 100644 openapi/tp/pay/applyOrderRefund.go create mode 100644 openapi/tp/pay/closeOrder.go create mode 100644 openapi/tp/pay/createPayAccount.go create mode 100644 openapi/tp/pay/createPaymentService.go create mode 100644 openapi/tp/pay/downloadCapitalBill.go create mode 100644 openapi/tp/pay/downloadOrderBill.go create mode 100644 openapi/tp/pay/getBindPaymentService.go create mode 100644 openapi/tp/pay/getByTpOrderId.go create mode 100644 openapi/tp/pay/getExpenseDetail.go create mode 100644 openapi/tp/pay/getExpenseList.go create mode 100644 openapi/tp/pay/getFinanceBalance.go create mode 100644 openapi/tp/pay/getIncomeDetail.go create mode 100644 openapi/tp/pay/getOrderList.go create mode 100644 openapi/tp/pay/getOrderRefund.go create mode 100644 openapi/tp/pay/getOtherDetail.go create mode 100644 openapi/tp/pay/getPayAccountAuditStatus.go create mode 100644 openapi/tp/pay/getPayServiceAuditStatus.go create mode 100644 openapi/tp/pay/getPaymentServiceDict.go create mode 100644 openapi/tp/pay/getTradeIndustryList.go create mode 100644 openapi/tp/pay/submitDevelopConfig.go create mode 100644 openapi/tp/pay/updateBindPaymentService.go create mode 100644 openapi/tp/pay/updatePaymentService.go create mode 100644 openapi/tp/pkg/getPackage.go create mode 100644 openapi/tp/pkg/getPackageDetail.go create mode 100644 openapi/tp/pkg/getPackageSubmitAuditQuota.go create mode 100644 openapi/tp/pkg/releasePackage.go create mode 100644 openapi/tp/pkg/rollbackPackage.go create mode 100644 openapi/tp/pkg/submitPackageAudit.go create mode 100644 openapi/tp/pkg/uploadPackage.go create mode 100644 openapi/tp/pkg/withdrawPackageAudit.go create mode 100644 openapi/tp/search/addSubChain.go create mode 100644 openapi/tp/search/bindSite.go create mode 100644 openapi/tp/search/delUrlMapping.go create mode 100644 openapi/tp/search/deleteSubChain.go create mode 100644 openapi/tp/search/getAllSubChain.go create mode 100644 openapi/tp/search/getBindSite.go create mode 100644 openapi/tp/search/getQueryKeyword.go create mode 100644 openapi/tp/search/getSitemapMeta.go create mode 100644 openapi/tp/search/getTopQueryUrlInfo.go create mode 100644 openapi/tp/search/getUrlMappingDetail.go create mode 100644 openapi/tp/search/modifyWebStatus.go create mode 100644 openapi/tp/search/queryUrlMapping.go create mode 100644 openapi/tp/search/rankSubChain.go create mode 100644 openapi/tp/search/saveUrlMapping.go create mode 100644 openapi/tp/search/startSubChain.go create mode 100644 openapi/tp/search/stopSubChain.go create mode 100644 openapi/tp/search/submitSitemapByApi.go create mode 100644 openapi/tp/search/updateSubChain.go create mode 100644 openapi/tp/search/uploadRobotsForApp.go create mode 100644 openapi/tp/search/uploadRobotsForTemplate.go create mode 100644 openapi/tp/template/addToTemplate.go create mode 100644 openapi/tp/template/delTemplate.go create mode 100644 openapi/tp/template/getTemplateDraftList.go create mode 100644 openapi/tp/template/getTemplateList.go create mode 100644 utils/base.go create mode 100644 utils/http_client.go create mode 100644 utils/options.go diff --git a/README.md b/README.md index d8cdb88..2e95d47 100644 --- a/README.md +++ b/README.md @@ -2,15 +2,17 @@ 百度智能小程序服务端 OpenAPI SDK for go,是基于小程序服务端 OpenAPI 封装的一套让开发者方便使用的 SDK, 它可以帮开发者减少理解和使用 OpenAPI 的成本, 减少开发者直接调用服务端接口不当而引起的错误, 避免在开发中走弯路。 ## 快速开始 -1. 在您的项目中引入 github.com/baidu/smartapp-openapi-go v0.1.1 -2. 可以直接调用 openapi 下您需要的SDK函数 -3. 函数具体功能参考文档: https://smartprogram.baidu.com/docs/develop/serverapi/introduction_for_openapi_sdk/ +1. 在您的项目中引入 `github.com/baidu/smartapp-openapi-go v0.1.1` +2. 可以直接调用 openapi 下您需要的 SDK 函数 +3. 函数具体功能参考文档: + - 开发者:https://smartprogram.baidu.com/docs/develop/serverapi/introduction_for_openapi_sdk/ + - 第三方平台:https://smartprogram.baidu.com/docs/third/introduction_for_thirdparty_sdk/ ## 测试 -如果您要进行单个API的测试: -1. 直接进入到 examples 目录,找到您想调用函数名字的文件夹, -2. 进入目录后, 根据文档提示说明修改API对应的参数。 -3. 保存直接使用" go run main.go" 来运行,最终结果会输出到当前屏幕。 +如果您要进行单个 API 的测试: +1. 直接进入到 `examples` 目录,找到您想调用函数名字的文件夹, +2. 进入目录后, 根据文档提示说明修改该 API 对应的参数。 +3. 保存直接使用 `go run main.go` 来运行,最终结果会输出到当前屏幕。 ## 联系我们 如流群号 "5702992", 如流下载地址:https://infoflow.baidu.com/ diff --git a/doc_examples/addCouponBanner/main.go b/doc_examples/addCouponBanner/main.go index 924a7cc..cd8d5aa 100644 --- a/doc_examples/addCouponBanner/main.go +++ b/doc_examples/addCouponBanner/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/addMaterial/main.go b/doc_examples/addMaterial/main.go index d611df8..eaeaf2d 100644 --- a/doc_examples/addMaterial/main.go +++ b/doc_examples/addMaterial/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/addOrderInfo/main.go b/doc_examples/addOrderInfo/main.go index 93848ff..ded547f 100644 --- a/doc_examples/addOrderInfo/main.go +++ b/doc_examples/addOrderInfo/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/addOrderSubInfo/main.go b/doc_examples/addOrderSubInfo/main.go index b436b9e..8439254 100644 --- a/doc_examples/addOrderSubInfo/main.go +++ b/doc_examples/addOrderSubInfo/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/addTemplate/main.go b/doc_examples/addTemplate/main.go index e89928b..9f38a5b 100644 --- a/doc_examples/addTemplate/main.go +++ b/doc_examples/addTemplate/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/applyOrderRefund/main.go b/doc_examples/applyOrderRefund/main.go index b8a3f5d..6486382 100644 --- a/doc_examples/applyOrderRefund/main.go +++ b/doc_examples/applyOrderRefund/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/batchGetCoupon/main.go b/doc_examples/batchGetCoupon/main.go index 637443e..42b30d9 100644 --- a/doc_examples/batchGetCoupon/main.go +++ b/doc_examples/batchGetCoupon/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/batchGetCouponBanner/main.go b/doc_examples/batchGetCouponBanner/main.go index c987935..97e5af3 100644 --- a/doc_examples/batchGetCouponBanner/main.go +++ b/doc_examples/batchGetCouponBanner/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/batchUploadCouponCode/main.go b/doc_examples/batchUploadCouponCode/main.go index 503564f..d986a26 100644 --- a/doc_examples/batchUploadCouponCode/main.go +++ b/doc_examples/batchUploadCouponCode/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/cancelOrder/main.go b/doc_examples/cancelOrder/main.go index 9c20e34..6a899c7 100644 --- a/doc_examples/cancelOrder/main.go +++ b/doc_examples/cancelOrder/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/capitaBill/main.go b/doc_examples/capitaBill/main.go index 4e6cd10..f966e34 100644 --- a/doc_examples/capitaBill/main.go +++ b/doc_examples/capitaBill/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/checkImage/main.go b/doc_examples/checkImage/main.go index 6a523c7..ef55733 100644 --- a/doc_examples/checkImage/main.go +++ b/doc_examples/checkImage/main.go @@ -8,7 +8,6 @@ import ( "fmt" "os" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/checkPath/main.go b/doc_examples/checkPath/main.go index b92436d..7c2c36c 100644 --- a/doc_examples/checkPath/main.go +++ b/doc_examples/checkPath/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/checkText/main.go b/doc_examples/checkText/main.go index 3bff747..e4d6162 100644 --- a/doc_examples/checkText/main.go +++ b/doc_examples/checkText/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/consumeCouponCode/main.go b/doc_examples/consumeCouponCode/main.go index d833b6f..8a36fd4 100644 --- a/doc_examples/consumeCouponCode/main.go +++ b/doc_examples/consumeCouponCode/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/createCoupon/main.go b/doc_examples/createCoupon/main.go index de7fc8e..9874cdf 100644 --- a/doc_examples/createCoupon/main.go +++ b/doc_examples/createCoupon/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/customSend/main.go b/doc_examples/customSend/main.go index 8dcf87d..62d22f1 100644 --- a/doc_examples/customSend/main.go +++ b/doc_examples/customSend/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/deleteCoupon/main.go b/doc_examples/deleteCoupon/main.go index 0d7de08..c61629b 100644 --- a/doc_examples/deleteCoupon/main.go +++ b/doc_examples/deleteCoupon/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/deleteCouponBanner/main.go b/doc_examples/deleteCouponBanner/main.go index 9b37499..6af37f0 100644 --- a/doc_examples/deleteCouponBanner/main.go +++ b/doc_examples/deleteCouponBanner/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/deleteMaterial/main.go b/doc_examples/deleteMaterial/main.go index 28eb459..f3e57e7 100644 --- a/doc_examples/deleteMaterial/main.go +++ b/doc_examples/deleteMaterial/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/deleteResource/main.go b/doc_examples/deleteResource/main.go index 5b8324a..fa6ff3c 100644 --- a/doc_examples/deleteResource/main.go +++ b/doc_examples/deleteResource/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/deleteSitemap/main.go b/doc_examples/deleteSitemap/main.go index d91c118..95a68b9 100644 --- a/doc_examples/deleteSitemap/main.go +++ b/doc_examples/deleteSitemap/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/deleteSku/main.go b/doc_examples/deleteSku/main.go index 14f028a..1468019 100644 --- a/doc_examples/deleteSku/main.go +++ b/doc_examples/deleteSku/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/deleteSkuCoupon/main.go b/doc_examples/deleteSkuCoupon/main.go index a93138b..0b43be3 100644 --- a/doc_examples/deleteSkuCoupon/main.go +++ b/doc_examples/deleteSkuCoupon/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/deleteTemplate/main.go b/doc_examples/deleteTemplate/main.go index 1156def..a4dc47e 100644 --- a/doc_examples/deleteTemplate/main.go +++ b/doc_examples/deleteTemplate/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/detectRisk/main.go b/doc_examples/detectRisk/main.go index 55d9849..586f167 100644 --- a/doc_examples/detectRisk/main.go +++ b/doc_examples/detectRisk/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/findByTpOrderId/main.go b/doc_examples/findByTpOrderId/main.go index b8ef08b..0e5ed92 100644 --- a/doc_examples/findByTpOrderId/main.go +++ b/doc_examples/findByTpOrderId/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/findOrderRefund/main.go b/doc_examples/findOrderRefund/main.go index c85a539..8c2136e 100644 --- a/doc_examples/findOrderRefund/main.go +++ b/doc_examples/findOrderRefund/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/getAccessToken/main.go b/doc_examples/getAccessToken/main.go index 73f22eb..b30221b 100644 --- a/doc_examples/getAccessToken/main.go +++ b/doc_examples/getAccessToken/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/getCommentCount/main.go b/doc_examples/getCommentCount/main.go index 6210c7d..296eff5 100644 --- a/doc_examples/getCommentCount/main.go +++ b/doc_examples/getCommentCount/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/getCommentList/main.go b/doc_examples/getCommentList/main.go index a54db13..e50af3f 100644 --- a/doc_examples/getCommentList/main.go +++ b/doc_examples/getCommentList/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/getCoupon/main.go b/doc_examples/getCoupon/main.go index 58618a7..9441782 100644 --- a/doc_examples/getCoupon/main.go +++ b/doc_examples/getCoupon/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/getCouponBanner/main.go b/doc_examples/getCouponBanner/main.go index 8d54f3c..12e97f4 100644 --- a/doc_examples/getCouponBanner/main.go +++ b/doc_examples/getCouponBanner/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/getLikeCount/main.go b/doc_examples/getLikeCount/main.go index 45e9af9..0b5a6cd 100644 --- a/doc_examples/getLikeCount/main.go +++ b/doc_examples/getLikeCount/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/getPathCheckResultByID/main.go b/doc_examples/getPathCheckResultByID/main.go index f83a759..5739e88 100644 --- a/doc_examples/getPathCheckResultByID/main.go +++ b/doc_examples/getPathCheckResultByID/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/getQrCode/main.go b/doc_examples/getQrCode/main.go index f77f378..6184b2f 100644 --- a/doc_examples/getQrCode/main.go +++ b/doc_examples/getQrCode/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/getSessionKey/main.go b/doc_examples/getSessionKey/main.go index f7df941..7dbf5ce 100644 --- a/doc_examples/getSessionKey/main.go +++ b/doc_examples/getSessionKey/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/getSessionKeyv2/main.go b/doc_examples/getSessionKeyv2/main.go index 79986e9..5c022b0 100644 --- a/doc_examples/getSessionKeyv2/main.go +++ b/doc_examples/getSessionKeyv2/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/getTemplateLibraryById/main.go b/doc_examples/getTemplateLibraryById/main.go index aba0332..844358d 100644 --- a/doc_examples/getTemplateLibraryById/main.go +++ b/doc_examples/getTemplateLibraryById/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/getTemplateLibraryList/main.go b/doc_examples/getTemplateLibraryList/main.go index e957d2f..41ece5f 100644 --- a/doc_examples/getTemplateLibraryList/main.go +++ b/doc_examples/getTemplateLibraryList/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/getTemplateList/main.go b/doc_examples/getTemplateList/main.go index 1a1ae95..3cf36f7 100644 --- a/doc_examples/getTemplateList/main.go +++ b/doc_examples/getTemplateList/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/getUnionid/main.go b/doc_examples/getUnionid/main.go index 75d9827..b945735 100644 --- a/doc_examples/getUnionid/main.go +++ b/doc_examples/getUnionid/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/getUnlimitedQrCode/main.go b/doc_examples/getUnlimitedQrCode/main.go index d687e3f..022c652 100644 --- a/doc_examples/getUnlimitedQrCode/main.go +++ b/doc_examples/getUnlimitedQrCode/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/misjudgeFeedback/main.go b/doc_examples/misjudgeFeedback/main.go index 1b9c16c..96d7599 100644 --- a/doc_examples/misjudgeFeedback/main.go +++ b/doc_examples/misjudgeFeedback/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/modifyMaterial/main.go b/doc_examples/modifyMaterial/main.go index c656733..daaca5d 100644 --- a/doc_examples/modifyMaterial/main.go +++ b/doc_examples/modifyMaterial/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/orderBill/main.go b/doc_examples/orderBill/main.go index 6c56865..cf04a67 100644 --- a/doc_examples/orderBill/main.go +++ b/doc_examples/orderBill/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/resetComponentStorage/main.go b/doc_examples/resetComponentStorage/main.go index 3660e91..9e7ad57 100644 --- a/doc_examples/resetComponentStorage/main.go +++ b/doc_examples/resetComponentStorage/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/returnCoupon/main.go b/doc_examples/returnCoupon/main.go index 8fb3c5f..261c525 100644 --- a/doc_examples/returnCoupon/main.go +++ b/doc_examples/returnCoupon/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/sendCoupon/main.go b/doc_examples/sendCoupon/main.go index ee16306..5563d41 100644 --- a/doc_examples/sendCoupon/main.go +++ b/doc_examples/sendCoupon/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/sendTemplateMessage/main.go b/doc_examples/sendTemplateMessage/main.go index 1520ee2..ad84915 100644 --- a/doc_examples/sendTemplateMessage/main.go +++ b/doc_examples/sendTemplateMessage/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/submitOrderLogistics/main.go b/doc_examples/submitOrderLogistics/main.go index d9e76ea..c7947aa 100644 --- a/doc_examples/submitOrderLogistics/main.go +++ b/doc_examples/submitOrderLogistics/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/submitResource/main.go b/doc_examples/submitResource/main.go index 48e66b4..c82a12b 100644 --- a/doc_examples/submitResource/main.go +++ b/doc_examples/submitResource/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/submitSitemap/main.go b/doc_examples/submitSitemap/main.go index f5c1a9a..7fa9d5e 100644 --- a/doc_examples/submitSitemap/main.go +++ b/doc_examples/submitSitemap/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/submitSku/main.go b/doc_examples/submitSku/main.go index 30e0d17..1240f0b 100644 --- a/doc_examples/submitSku/main.go +++ b/doc_examples/submitSku/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/submitSkuCoupon/main.go b/doc_examples/submitSkuCoupon/main.go index d856c91..fb83f90 100644 --- a/doc_examples/submitSkuCoupon/main.go +++ b/doc_examples/submitSkuCoupon/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/subscribeSend/main.go b/doc_examples/subscribeSend/main.go index c7c3010..114df1e 100644 --- a/doc_examples/subscribeSend/main.go +++ b/doc_examples/subscribeSend/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/tp/analysis/getAnalysisActivityUser/main.go b/doc_examples/tp/analysis/getAnalysisActivityUser/main.go new file mode 100644 index 0000000..40c7f0c --- /dev/null +++ b/doc_examples/tp/analysis/getAnalysisActivityUser/main.go @@ -0,0 +1,42 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/analysis" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &analysis.GetAnalysisActivityUserRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + StartIndex: 0, // 文档中对应字段:start_index,实际使用时请替换成真实参数 + StartDate: "22104851", // 文档中对应字段:start_date,实际使用时请替换成真实参数 + EndDate: "26308111", // 文档中对应字段:end_date,实际使用时请替换成真实参数 + } + + resp, err := analysis.GetAnalysisActivityUser(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/analysis/getAnalysisRegion/main.go b/doc_examples/tp/analysis/getAnalysisRegion/main.go new file mode 100644 index 0000000..09091c2 --- /dev/null +++ b/doc_examples/tp/analysis/getAnalysisRegion/main.go @@ -0,0 +1,42 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/analysis" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &analysis.GetAnalysisRegionRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + StartIndex: 0, // 文档中对应字段:start_index,实际使用时请替换成真实参数 + StartDate: "28368088", // 文档中对应字段:start_date,实际使用时请替换成真实参数 + EndDate: "20208265", // 文档中对应字段:end_date,实际使用时请替换成真实参数 + } + + resp, err := analysis.GetAnalysisRegion(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/analysis/getAnalysisRetainedUser/main.go b/doc_examples/tp/analysis/getAnalysisRetainedUser/main.go new file mode 100644 index 0000000..2914158 --- /dev/null +++ b/doc_examples/tp/analysis/getAnalysisRetainedUser/main.go @@ -0,0 +1,44 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/analysis" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &analysis.GetAnalysisRetainedUserRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + ReportType: "count", // 文档中对应字段:report_type,实际使用时请替换成真实参数 + StartIndex: 0, // 文档中对应字段:start_index,实际使用时请替换成真实参数 + StartDate: "24051472", // 文档中对应字段:start_date,实际使用时请替换成真实参数 + EndDate: "27411407", // 文档中对应字段:end_date,实际使用时请替换成真实参数 + Gran: "month", // 文档中对应字段:gran,实际使用时请替换成真实参数 + } + + resp, err := analysis.GetAnalysisRetainedUser(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/analysis/getAnalysisSourceInfo/main.go b/doc_examples/tp/analysis/getAnalysisSourceInfo/main.go new file mode 100644 index 0000000..48479da --- /dev/null +++ b/doc_examples/tp/analysis/getAnalysisSourceInfo/main.go @@ -0,0 +1,42 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/analysis" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &analysis.GetAnalysisSourceInfoRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + StartIndex: 0, // 文档中对应字段:start_index,实际使用时请替换成真实参数 + StartDate: "25658036", // 文档中对应字段:start_date,实际使用时请替换成真实参数 + EndDate: "27205222", // 文档中对应字段:end_date,实际使用时请替换成真实参数 + } + + resp, err := analysis.GetAnalysisSourceInfo(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/analysis/getAnalysisTerminalInfo/main.go b/doc_examples/tp/analysis/getAnalysisTerminalInfo/main.go new file mode 100644 index 0000000..5f1dc3b --- /dev/null +++ b/doc_examples/tp/analysis/getAnalysisTerminalInfo/main.go @@ -0,0 +1,43 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/analysis" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &analysis.GetAnalysisTerminalInfoRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + TerminalType: "terminal_brand", // 文档中对应字段:terminal_type,实际使用时请替换成真实参数 + StartIndex: 0, // 文档中对应字段:start_index,实际使用时请替换成真实参数 + StartDate: "20485107", // 文档中对应字段:start_date,实际使用时请替换成真实参数 + EndDate: "26557608", // 文档中对应字段:end_date,实际使用时请替换成真实参数 + } + + resp, err := analysis.GetAnalysisTerminalInfo(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/analysis/getAnalysisUserTrend/main.go b/doc_examples/tp/analysis/getAnalysisUserTrend/main.go new file mode 100644 index 0000000..9c0f812 --- /dev/null +++ b/doc_examples/tp/analysis/getAnalysisUserTrend/main.go @@ -0,0 +1,43 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/analysis" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &analysis.GetAnalysisUserTrendRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + StartIndex: 0, // 文档中对应字段:start_index,实际使用时请替换成真实参数 + StartDate: "23505084", // 文档中对应字段:start_date,实际使用时请替换成真实参数 + EndDate: "24821044", // 文档中对应字段:end_date,实际使用时请替换成真实参数 + Gran: "month", // 文档中对应字段:gran,实际使用时请替换成真实参数 + } + + resp, err := analysis.GetAnalysisUserTrend(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/analysis/getAnalysisVisitAttribute/main.go b/doc_examples/tp/analysis/getAnalysisVisitAttribute/main.go new file mode 100644 index 0000000..50aed19 --- /dev/null +++ b/doc_examples/tp/analysis/getAnalysisVisitAttribute/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/analysis" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &analysis.GetAnalysisVisitAttributeRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + StartDate: "24553570", // 文档中对应字段:start_date,实际使用时请替换成真实参数 + EndDate: "27488344", // 文档中对应字段:end_date,实际使用时请替换成真实参数 + } + + resp, err := analysis.GetAnalysisVisitAttribute(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/analysis/getAnalysisVisitCharacter/main.go b/doc_examples/tp/analysis/getAnalysisVisitCharacter/main.go new file mode 100644 index 0000000..02ccb49 --- /dev/null +++ b/doc_examples/tp/analysis/getAnalysisVisitCharacter/main.go @@ -0,0 +1,43 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/analysis" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &analysis.GetAnalysisVisitCharacterRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + CharacterType: "time", // 文档中对应字段:character_type,实际使用时请替换成真实参数 + StartIndex: 0, // 文档中对应字段:start_index,实际使用时请替换成真实参数 + StartDate: "22246843", // 文档中对应字段:start_date,实际使用时请替换成真实参数 + EndDate: "23125353", // 文档中对应字段:end_date,实际使用时请替换成真实参数 + } + + resp, err := analysis.GetAnalysisVisitCharacter(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/analysis/getAnalysisVisitPage/main.go b/doc_examples/tp/analysis/getAnalysisVisitPage/main.go new file mode 100644 index 0000000..8de3bee --- /dev/null +++ b/doc_examples/tp/analysis/getAnalysisVisitPage/main.go @@ -0,0 +1,42 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/analysis" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &analysis.GetAnalysisVisitPageRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + StartIndex: 0, // 文档中对应字段:start_index,实际使用时请替换成真实参数 + StartDate: "24834887", // 文档中对应字段:start_date,实际使用时请替换成真实参数 + EndDate: "24455321", // 文档中对应字段:end_date,实际使用时请替换成真实参数 + } + + resp, err := analysis.GetAnalysisVisitPage(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/analysis/getData/main.go b/doc_examples/tp/analysis/getData/main.go new file mode 100644 index 0000000..fde25d8 --- /dev/null +++ b/doc_examples/tp/analysis/getData/main.go @@ -0,0 +1,45 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/analysis" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &analysis.GetDataRequest{ + AccessToken: "#tpToken", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Scene: "10666318", // 文档中对应字段:scene,实际使用时请替换成真实参数 + Metrics: "metrics", // 文档中对应字段:metrics,实际使用时请替换成真实参数 + StartDate: "20885860", // 文档中对应字段:start_date,实际使用时请替换成真实参数 + EndDate: "21753851", // 文档中对应字段:end_date,实际使用时请替换成真实参数 + StartIndex: 0, // 文档中对应字段:start_index,实际使用时请替换成真实参数 + MaxResults: 24, // 文档中对应字段:max_results,实际使用时请替换成真实参数 + } + + resp, err := analysis.GetData(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/app/checkAppNickName/main.go b/doc_examples/tp/app/checkAppNickName/main.go new file mode 100644 index 0000000..8ef1b00 --- /dev/null +++ b/doc_examples/tp/app/checkAppNickName/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/app" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &app.CheckAppNickNameRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + AppName: "baidu", // 文档中对应字段:app_name,实际使用时请替换成真实参数 + QualMaterials: "", // 文档中对应字段:qual_materials,实际使用时请替换成真实参数 + } + + resp, err := app.CheckAppNickName(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/app/controlAppFlow/main.go b/doc_examples/tp/app/controlAppFlow/main.go new file mode 100644 index 0000000..a28aab0 --- /dev/null +++ b/doc_examples/tp/app/controlAppFlow/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/app" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &app.ControlAppFlowRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Type: 2, // 文档中对应字段:type,实际使用时请替换成真实参数 + } + + resp, err := app.ControlAppFlow(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/app/getAppCategoryList/main.go b/doc_examples/tp/app/getAppCategoryList/main.go new file mode 100644 index 0000000..280738c --- /dev/null +++ b/doc_examples/tp/app/getAppCategoryList/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/app" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &app.GetAppCategoryListRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + CategoryType: "1", // 文档中对应字段:category_type,实际使用时请替换成真实参数 + } + + resp, err := app.GetAppCategoryList(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/app/getAppQRCode/main.go b/doc_examples/tp/app/getAppQRCode/main.go new file mode 100644 index 0000000..a8c8048 --- /dev/null +++ b/doc_examples/tp/app/getAppQRCode/main.go @@ -0,0 +1,47 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + "io/ioutil" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/app" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &app.GetAppQRCodeRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Path: "", // 文档中对应字段:path,实际使用时请替换成真实参数 + PackageID: "", // 文档中对应字段:package_id,实际使用时请替换成真实参数 + Width: 465, // 文档中对应字段:width,实际使用时请替换成真实参数 + } + + resp, err := app.GetAppQRCode(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + if resp.ContentType == utils.ConverterTypePNG { + fileName := "./GetAppQRCodeRequest.png" + _ = ioutil.WriteFile(fileName, resp.Data, 0644) + } + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/app/getAppSupportVer/main.go b/doc_examples/tp/app/getAppSupportVer/main.go new file mode 100644 index 0000000..f4e8e77 --- /dev/null +++ b/doc_examples/tp/app/getAppSupportVer/main.go @@ -0,0 +1,39 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/app" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &app.GetAppSupportVerRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + } + + resp, err := app.GetAppSupportVer(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/app/pauseApp/main.go b/doc_examples/tp/app/pauseApp/main.go new file mode 100644 index 0000000..11a1fed --- /dev/null +++ b/doc_examples/tp/app/pauseApp/main.go @@ -0,0 +1,39 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/app" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &app.PauseAppRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + } + + resp, err := app.PauseApp(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/app/resumeApp/main.go b/doc_examples/tp/app/resumeApp/main.go new file mode 100644 index 0000000..984c63a --- /dev/null +++ b/doc_examples/tp/app/resumeApp/main.go @@ -0,0 +1,39 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/app" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &app.ResumeAppRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + } + + resp, err := app.ResumeApp(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/app/setAppCategory/main.go b/doc_examples/tp/app/setAppCategory/main.go new file mode 100644 index 0000000..b7842dd --- /dev/null +++ b/doc_examples/tp/app/setAppCategory/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/app" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &app.SetAppCategoryRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Categorys: "", // 文档中对应字段:categorys,实际使用时请替换成真实参数 + } + + resp, err := app.SetAppCategory(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/app/setAppDomain/main.go b/doc_examples/tp/app/setAppDomain/main.go new file mode 100644 index 0000000..6c2b559 --- /dev/null +++ b/doc_examples/tp/app/setAppDomain/main.go @@ -0,0 +1,44 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/app" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &app.SetAppDomainRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Action: "get", // 文档中对应字段:action,实际使用时请替换成真实参数 + DownloadDomain: "", // 文档中对应字段:download_domain,实际使用时请替换成真实参数 + RequestDomain: "", // 文档中对应字段:request_domain,实际使用时请替换成真实参数 + SocketDomain: "", // 文档中对应字段:socket_domain,实际使用时请替换成真实参数 + UploadDomain: "", // 文档中对应字段:upload_domain,实际使用时请替换成真实参数 + } + + resp, err := app.SetAppDomain(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/app/setAppImage/main.go b/doc_examples/tp/app/setAppImage/main.go new file mode 100644 index 0000000..0c1717a --- /dev/null +++ b/doc_examples/tp/app/setAppImage/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/app" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &app.SetAppImageRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + ImageURL: "https://mbs2.bdstatic.com/searchbox/mappconsole/image/17564658/85feb8a1-d25b-033c-8476-10cfff30c3a7.jpg", // 文档中对应字段:image_url,实际使用时请替换成真实参数 + } + + resp, err := app.SetAppImage(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/app/setAppNickName/main.go b/doc_examples/tp/app/setAppNickName/main.go new file mode 100644 index 0000000..baf86fa --- /dev/null +++ b/doc_examples/tp/app/setAppNickName/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/app" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &app.SetAppNickNameRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + NickName: "", // 文档中对应字段:nick_name,实际使用时请替换成真实参数 + QualMaterials: "", // 文档中对应字段:qual_materials,实际使用时请替换成真实参数 + } + + resp, err := app.SetAppNickName(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/app/setAppSignature/main.go b/doc_examples/tp/app/setAppSignature/main.go new file mode 100644 index 0000000..842c1d9 --- /dev/null +++ b/doc_examples/tp/app/setAppSignature/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/app" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &app.SetAppSignatureRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Signature: "功能介绍文字", // 文档中对应字段:signature,实际使用时请替换成真实参数 + } + + resp, err := app.SetAppSignature(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/app/setAppWebViewDomain/main.go b/doc_examples/tp/app/setAppWebViewDomain/main.go new file mode 100644 index 0000000..28c5a3c --- /dev/null +++ b/doc_examples/tp/app/setAppWebViewDomain/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/app" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &app.SetAppWebViewDomainRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Action: "get", // 文档中对应字段:action,实际使用时请替换成真实参数 + WebViewDomain: "", // 文档中对应字段:web_view_domain,实际使用时请替换成真实参数 + } + + resp, err := app.SetAppWebViewDomain(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/authcert/getFaceAuth/main.go b/doc_examples/tp/authcert/getFaceAuth/main.go new file mode 100644 index 0000000..9a335a3 --- /dev/null +++ b/doc_examples/tp/authcert/getFaceAuth/main.go @@ -0,0 +1,39 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/authcert" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &authcert.GetFaceAuthRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + } + + resp, err := authcert.GetFaceAuth(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/authcert/getPaymentCert/main.go b/doc_examples/tp/authcert/getPaymentCert/main.go new file mode 100644 index 0000000..213b737 --- /dev/null +++ b/doc_examples/tp/authcert/getPaymentCert/main.go @@ -0,0 +1,39 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/authcert" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &authcert.GetPaymentCertRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + } + + resp, err := authcert.GetPaymentCert(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/authprocess/getAppInfo/main.go b/doc_examples/tp/authprocess/getAppInfo/main.go new file mode 100644 index 0000000..f7b9d14 --- /dev/null +++ b/doc_examples/tp/authprocess/getAppInfo/main.go @@ -0,0 +1,39 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/authprocess" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &authprocess.GetAppInfoRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + } + + resp, err := authprocess.GetAppInfo(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/authprocess/getOAuthToken/main.go b/doc_examples/tp/authprocess/getOAuthToken/main.go new file mode 100644 index 0000000..589378e --- /dev/null +++ b/doc_examples/tp/authprocess/getOAuthToken/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/authprocess" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &authprocess.GetOAuthTokenRequest{ + AccessToken: "#tpToken", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Code: "f4c34656cc670a8f8c48181f7140bb30", // 文档中对应字段:code,实际使用时请替换成真实参数 + GrantType: "app_to_tp_authorization_code", // 文档中对应字段:grant_type,实际使用时请替换成真实参数 + } + + resp, err := authprocess.GetOAuthToken(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/authprocess/getPreAuthCode/main.go b/doc_examples/tp/authprocess/getPreAuthCode/main.go new file mode 100644 index 0000000..1139698 --- /dev/null +++ b/doc_examples/tp/authprocess/getPreAuthCode/main.go @@ -0,0 +1,39 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/authprocess" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &authprocess.GetPreAuthCodeRequest{ + AccessToken: "#tpToken", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + } + + resp, err := authprocess.GetPreAuthCode(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/authprocess/getTpToken/main.go b/doc_examples/tp/authprocess/getTpToken/main.go new file mode 100644 index 0000000..cbd9194 --- /dev/null +++ b/doc_examples/tp/authprocess/getTpToken/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/authprocess" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &authprocess.GetTpTokenRequest{ + ClientID: "10eA34XvP60EVTiaDGtpZNfVjkgLuugk", // 文档中对应字段:client_id,实际使用时请替换成真实参数 + Ticket: "8aa178a8700064bb5f26aad55665ff18", // 文档中对应字段:ticket,实际使用时请替换成真实参数 + } + + resp, err := authprocess.GetTpToken(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/authprocess/refreshOAuthToken/main.go b/doc_examples/tp/authprocess/refreshOAuthToken/main.go new file mode 100644 index 0000000..5a1d749 --- /dev/null +++ b/doc_examples/tp/authprocess/refreshOAuthToken/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/authprocess" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &authprocess.RefreshOAuthTokenRequest{ + AccessToken: "#tpToken", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + RefreshToken: "", // 文档中对应字段:refresh_token,实际使用时请替换成真实参数 + GrantType: "app_to_tp_refresh_token", // 文档中对应字段:grant_type,实际使用时请替换成真实参数 + } + + resp, err := authprocess.RefreshOAuthToken(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/authprocess/retrieveAuthCode/main.go b/doc_examples/tp/authprocess/retrieveAuthCode/main.go new file mode 100644 index 0000000..3205044 --- /dev/null +++ b/doc_examples/tp/authprocess/retrieveAuthCode/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/authprocess" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &authprocess.RetrieveAuthCodeRequest{ + AccessToken: "#tpToken", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + AppID: 16533225, // 文档中对应字段:app_id,实际使用时请替换成真实参数 + } + + resp, err := authprocess.RetrieveAuthCode(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/customermsg/sendCustomerMessage/main.go b/doc_examples/tp/customermsg/sendCustomerMessage/main.go new file mode 100644 index 0000000..c72c966 --- /dev/null +++ b/doc_examples/tp/customermsg/sendCustomerMessage/main.go @@ -0,0 +1,44 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/customermsg" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &customermsg.SendCustomerMessageRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + UserType: 1, // 文档中对应字段:user_type,实际使用时请替换成真实参数 + OpenID: "#openid", // 文档中对应字段:open_id,实际使用时请替换成真实参数 + MsgType: "text", // 文档中对应字段:msg_type,实际使用时请替换成真实参数 + Content: "content", // 文档中对应字段:content,实际使用时请替换成真实参数 + PicURL: "https://mbs7.bdstatic.com/searchbox/mappconsole/image/35423816/06feb8a1-d65b-667c-6282-66cfff76c4a7.jpg", // 文档中对应字段:pic_url,实际使用时请替换成真实参数 + } + + resp, err := customermsg.SendCustomerMessage(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/domain/downloadDomainCheckFile/main.go b/doc_examples/tp/domain/downloadDomainCheckFile/main.go new file mode 100644 index 0000000..3593981 --- /dev/null +++ b/doc_examples/tp/domain/downloadDomainCheckFile/main.go @@ -0,0 +1,44 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + "io/ioutil" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/domain" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &domain.DownloadDomainCheckFileRequest{ + AccessToken: "#tpToken", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + } + + resp, err := domain.DownloadDomainCheckFile(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + if resp.ContentType == utils.ConverterTypeStream { + fileName := "./DownloadDomainCheckFileRequest.txt" + _ = ioutil.WriteFile(fileName, resp.Data, 0644) + } + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/domain/modifyBusinessDomain/main.go b/doc_examples/tp/domain/modifyBusinessDomain/main.go new file mode 100644 index 0000000..2df2b33 --- /dev/null +++ b/doc_examples/tp/domain/modifyBusinessDomain/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/domain" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &domain.ModifyBusinessDomainRequest{ + AccessToken: "#tpToken", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Action: "get", // 文档中对应字段:action,实际使用时请替换成真实参数 + WebViewDomain: "http://www.baidu.com", // 文档中对应字段:web_view_domain,实际使用时请替换成真实参数 + } + + resp, err := domain.ModifyBusinessDomain(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/domain/modifyServerDomain/main.go b/doc_examples/tp/domain/modifyServerDomain/main.go new file mode 100644 index 0000000..08c6be7 --- /dev/null +++ b/doc_examples/tp/domain/modifyServerDomain/main.go @@ -0,0 +1,44 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/domain" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &domain.ModifyServerDomainRequest{ + AccessToken: "#tpToken", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Action: "get", // 文档中对应字段:action,实际使用时请替换成真实参数 + DownloadDomain: "http://www.baidu.com", // 文档中对应字段:download_domain,实际使用时请替换成真实参数 + RequestDomain: "http://www.baidu.com", // 文档中对应字段:request_domain,实际使用时请替换成真实参数 + SocketDomain: "http://www.baidu.com", // 文档中对应字段:socket_domain,实际使用时请替换成真实参数 + UploadDomain: "http://www.baidu.com", // 文档中对应字段:upload_domain,实际使用时请替换成真实参数 + } + + resp, err := domain.ModifyServerDomain(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/feed/accessResourceQuery/main.go b/doc_examples/tp/feed/accessResourceQuery/main.go new file mode 100644 index 0000000..ac87ef2 --- /dev/null +++ b/doc_examples/tp/feed/accessResourceQuery/main.go @@ -0,0 +1,46 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/feed" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &feed.AccessResourceQueryRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Begin: 1505380052, // 文档中对应字段:begin,实际使用时请替换成真实参数 + End: 1673574458, // 文档中对应字段:end,实际使用时请替换成真实参数 + ImageType: 0, // 文档中对应字段:image_type,实际使用时请替换成真实参数 + PageNo: 1, // 文档中对应字段:page_no,实际使用时请替换成真实参数 + PageSize: 16, // 文档中对应字段:page_size,实际使用时请替换成真实参数 + Status: 0, // 文档中对应字段:status,实际使用时请替换成真实参数 + Title: "百度智能小程序,给你全新的智能体验", // 文档中对应字段:title,实际使用时请替换成真实参数 + } + + resp, err := feed.AccessResourceQuery(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/feed/accessResourceSubmit/main.go b/doc_examples/tp/feed/accessResourceSubmit/main.go new file mode 100644 index 0000000..5df333c --- /dev/null +++ b/doc_examples/tp/feed/accessResourceSubmit/main.go @@ -0,0 +1,50 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/feed" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &feed.AccessResourceSubmitRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + AppID: 157, // 文档中对应字段:app_id,实际使用时请替换成真实参数 + Body: "爱说唱是一款基于百度语音技术的智能小程序。即便你对嘻哈音乐一窍不通,只需对它说上几句话,便可智能合成最酷的嘻哈音乐。同时还支持歌词查看和等功能,在线即可完成rap单曲的创作和分享。来吧,让我们在嘻哈的世界肆意妄为,一起Freestyle吧!", // 文档中对应字段:body,实际使用时请替换成真实参数 + Ext: "{\"publish_time\": \"2022年3月1日\"}", // 文档中对应字段:ext,实际使用时请替换成真实参数 + FeedSubType: "明星八卦", // 文档中对应字段:feed_sub_type,实际使用时请替换成真实参数 + FeedType: "娱乐", // 文档中对应字段:feed_type,实际使用时请替换成真实参数 + Images: "[\"https://b.bdstatic.com/miniapp/resource/image/demo5.png\", \"https://b.bdstatic.com/miniapp/resource/image/demo5.png\"]", // 文档中对应字段:images,实际使用时请替换成真实参数 + MappSubType: 1666, // 文档中对应字段:mapp_sub_type,实际使用时请替换成真实参数 + MappType: 1134, // 文档中对应字段:mapp_type,实际使用时请替换成真实参数 + Path: "/pages/detail/detail?id=436388", // 文档中对应字段:path,实际使用时请替换成真实参数 + Tags: "电影,吴亦凡", // 文档中对应字段:tags,实际使用时请替换成真实参数 + Title: "百度智能小程序,给你全新的智能体验", // 文档中对应字段:title,实际使用时请替换成真实参数 + } + + resp, err := feed.AccessResourceSubmit(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/feed/deleteResource/main.go b/doc_examples/tp/feed/deleteResource/main.go new file mode 100644 index 0000000..2a29a24 --- /dev/null +++ b/doc_examples/tp/feed/deleteResource/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/feed" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &feed.DeleteResourceRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + AppID: 185, // 文档中对应字段:app_id,实际使用时请替换成真实参数 + Path: "/pages/detail/detail?id=567830", // 文档中对应字段:path,实际使用时请替换成真实参数 + } + + resp, err := feed.DeleteResource(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/feed/deleteSitemap/main.go b/doc_examples/tp/feed/deleteSitemap/main.go new file mode 100644 index 0000000..204924c --- /dev/null +++ b/doc_examples/tp/feed/deleteSitemap/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/feed" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &feed.DeleteSitemapRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + AppID: 118, // 文档中对应字段:app_id,实际使用时请替换成真实参数 + URL: "https://www.baidu.com", // 文档中对应字段:url,实际使用时请替换成真实参数 + } + + resp, err := feed.DeleteSitemap(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/feed/submitSitemap/main.go b/doc_examples/tp/feed/submitSitemap/main.go new file mode 100644 index 0000000..04e452b --- /dev/null +++ b/doc_examples/tp/feed/submitSitemap/main.go @@ -0,0 +1,44 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/feed" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &feed.SubmitSitemapRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + AppID: 158, // 文档中对应字段:app_id,实际使用时请替换成真实参数 + Desc: "智能小程序示例", // 文档中对应字段:desc,实际使用时请替换成真实参数 + Frequency: 3, // 文档中对应字段:frequency,实际使用时请替换成真实参数 + Type: 1, // 文档中对应字段:type,实际使用时请替换成真实参数 + URL: "https://www.baidu.com", // 文档中对应字段:url,实际使用时请替换成真实参数 + } + + resp, err := feed.SubmitSitemap(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/grade/appGrade/main.go b/doc_examples/tp/grade/appGrade/main.go new file mode 100644 index 0000000..2b505d7 --- /dev/null +++ b/doc_examples/tp/grade/appGrade/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/grade" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &grade.AppGradeRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + PageNo: 1, // 文档中对应字段:page_no,实际使用时请替换成真实参数 + } + + resp, err := grade.AppGrade(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/image/uploadImage/main.go b/doc_examples/tp/image/uploadImage/main.go new file mode 100644 index 0000000..9b02223 --- /dev/null +++ b/doc_examples/tp/image/uploadImage/main.go @@ -0,0 +1,53 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + "os" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/image" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + fileReader, err := os.Open("xxxxx") + if err != nil { + panic(err) + } + defer fileReader.Close() + + uploadImageRequestFileVal := image.UploadImageRequestFile{ + Name: "multipartFile", + Reader: fileReader, + } + + reqParams := &image.UploadImageRequest{ + AccessToken: "#tpToken", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + MultipartFile: uploadImageRequestFileVal, // 文档中对应字段:multipartFile,实际使用时请替换成真实参数 + Type: 2, // 文档中对应字段:type,实际使用时请替换成真实参数 + } + + resp, err := image.UploadImage(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/login/getSessionKey/main.go b/doc_examples/tp/login/getSessionKey/main.go new file mode 100644 index 0000000..099cdc6 --- /dev/null +++ b/doc_examples/tp/login/getSessionKey/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/login" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &login.GetSessionKeyRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Code: "", // 文档中对应字段:code,实际使用时请替换成真实参数 + GrantType: "authorization_code", // 文档中对应字段:grant_type,实际使用时请替换成真实参数 + } + + resp, err := login.GetSessionKey(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/login/getUnionId/main.go b/doc_examples/tp/login/getUnionId/main.go new file mode 100644 index 0000000..af14d18 --- /dev/null +++ b/doc_examples/tp/login/getUnionId/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/login" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &login.GetUnionIDRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + OpenID: "", // 文档中对应字段:open_id,实际使用时请替换成真实参数 + } + + resp, err := login.GetUnionID(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/mobileauth/applyMobileAuth/main.go b/doc_examples/tp/mobileauth/applyMobileAuth/main.go new file mode 100644 index 0000000..aac700c --- /dev/null +++ b/doc_examples/tp/mobileauth/applyMobileAuth/main.go @@ -0,0 +1,43 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/mobileauth" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &mobileauth.ApplyMobileAuthRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Reason: 1, // 文档中对应字段:reason,实际使用时请替换成真实参数 + UsedScene: 1, // 文档中对应字段:used_scene,实际使用时请替换成真实参数 + SceneDesc: "使用场景描述不得超过 212 字", // 文档中对应字段:scene_desc,实际使用时请替换成真实参数 + SceneDemo: "https://mbs7.bdstatic.com/searchbox/mappconsole/image/11441211/50feb5a0-d47b-423c-0247-32cfff47c3a2.jpg", // 文档中对应字段:scene_demo,实际使用时请替换成真实参数 + } + + resp, err := mobileauth.ApplyMobileAuth(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/mobileauth/cancelMobileAuth/main.go b/doc_examples/tp/mobileauth/cancelMobileAuth/main.go new file mode 100644 index 0000000..7ca8a6f --- /dev/null +++ b/doc_examples/tp/mobileauth/cancelMobileAuth/main.go @@ -0,0 +1,39 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/mobileauth" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &mobileauth.CancelMobileAuthRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + } + + resp, err := mobileauth.CancelMobileAuth(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/mobileauth/getMobileAuthStatus/main.go b/doc_examples/tp/mobileauth/getMobileAuthStatus/main.go new file mode 100644 index 0000000..d8fd46e --- /dev/null +++ b/doc_examples/tp/mobileauth/getMobileAuthStatus/main.go @@ -0,0 +1,39 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/mobileauth" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &mobileauth.GetMobileAuthStatusRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + } + + resp, err := mobileauth.GetMobileAuthStatus(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/msg/getMsg/main.go b/doc_examples/tp/msg/getMsg/main.go new file mode 100644 index 0000000..162b446 --- /dev/null +++ b/doc_examples/tp/msg/getMsg/main.go @@ -0,0 +1,45 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/msg" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &msg.GetMsgRequest{ + AccessToken: "#tpToken", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Start: 1220741250, // 文档中对应字段:start,实际使用时请替换成真实参数 + End: 1080871482, // 文档中对应字段:end,实际使用时请替换成真实参数 + PushType: 2, // 文档中对应字段:push_type,实际使用时请替换成真实参数 + Offset: 0, // 文档中对应字段:offset,实际使用时请替换成真实参数 + Count: 146, // 文档中对应字段:count,实际使用时请替换成真实参数 + IDList: "14161,27835", // 文档中对应字段:id_list,实际使用时请替换成真实参数 + } + + resp, err := msg.GetMsg(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/msgtemplate/addMsgTemplate/main.go b/doc_examples/tp/msgtemplate/addMsgTemplate/main.go new file mode 100644 index 0000000..ed854ac --- /dev/null +++ b/doc_examples/tp/msgtemplate/addMsgTemplate/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/msgtemplate" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &msgtemplate.AddMsgTemplateRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + ID: "BD4620", // 文档中对应字段:id,实际使用时请替换成真实参数 + KeywordIDList: "[5,0]", // 文档中对应字段:keyword_id_list,实际使用时请替换成真实参数 + } + + resp, err := msgtemplate.AddMsgTemplate(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/msgtemplate/delMsgTemplate/main.go b/doc_examples/tp/msgtemplate/delMsgTemplate/main.go new file mode 100644 index 0000000..9f117a6 --- /dev/null +++ b/doc_examples/tp/msgtemplate/delMsgTemplate/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/msgtemplate" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &msgtemplate.DelMsgTemplateRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + TemplateID: "", // 文档中对应字段:template_id,实际使用时请替换成真实参数 + } + + resp, err := msgtemplate.DelMsgTemplate(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/msgtemplate/getMsgTemplateLibraryKeyWord/main.go b/doc_examples/tp/msgtemplate/getMsgTemplateLibraryKeyWord/main.go new file mode 100644 index 0000000..e679b23 --- /dev/null +++ b/doc_examples/tp/msgtemplate/getMsgTemplateLibraryKeyWord/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/msgtemplate" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &msgtemplate.GetMsgTemplateLibraryKeyWordRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + ID: "BD8415", // 文档中对应字段:id,实际使用时请替换成真实参数 + } + + resp, err := msgtemplate.GetMsgTemplateLibraryKeyWord(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/msgtemplate/getMsgTemplateLibraryList/main.go b/doc_examples/tp/msgtemplate/getMsgTemplateLibraryList/main.go new file mode 100644 index 0000000..10d4ea8 --- /dev/null +++ b/doc_examples/tp/msgtemplate/getMsgTemplateLibraryList/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/msgtemplate" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &msgtemplate.GetMsgTemplateLibraryListRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Offset: 0, // 文档中对应字段:offset,实际使用时请替换成真实参数 + Count: 27, // 文档中对应字段:count,实际使用时请替换成真实参数 + } + + resp, err := msgtemplate.GetMsgTemplateLibraryList(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/msgtemplate/getMsgTemplateList/main.go b/doc_examples/tp/msgtemplate/getMsgTemplateList/main.go new file mode 100644 index 0000000..746a960 --- /dev/null +++ b/doc_examples/tp/msgtemplate/getMsgTemplateList/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/msgtemplate" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &msgtemplate.GetMsgTemplateListRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Offset: 0, // 文档中对应字段:offset,实际使用时请替换成真实参数 + Count: 23, // 文档中对应字段:count,实际使用时请替换成真实参数 + } + + resp, err := msgtemplate.GetMsgTemplateList(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/msgtemplate/sendMsg/main.go b/doc_examples/tp/msgtemplate/sendMsg/main.go new file mode 100644 index 0000000..32fc3e9 --- /dev/null +++ b/doc_examples/tp/msgtemplate/sendMsg/main.go @@ -0,0 +1,47 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/msgtemplate" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &msgtemplate.SendMsgRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + TemplateID: "27a76c3d14314cda4a40cad0ffe05725", // 文档中对应字段:template_id,实际使用时请替换成真实参数 + TouserOpenID: "", // 文档中对应字段:touser_openId,实际使用时请替换成真实参数 + Data: "{\"keyword5\": {\"value\": \"order106372\"},\"keyword3\": {\"value\": \"026\"}}", // 文档中对应字段:data,实际使用时请替换成真实参数 + Page: "", // 文档中对应字段:page,实际使用时请替换成真实参数 + SceneID: "scene101", // 文档中对应字段:scene_id,实际使用时请替换成真实参数 + SceneType: 1, // 文档中对应字段:scene_type,实际使用时请替换成真实参数 + Title: "title380", // 文档中对应字段:title,实际使用时请替换成真实参数 + Ext: "", // 文档中对应字段:ext,实际使用时请替换成真实参数 + } + + resp, err := msgtemplate.SendMsg(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/offline/getAppViolationDetail/main.go b/doc_examples/tp/offline/getAppViolationDetail/main.go new file mode 100644 index 0000000..b95656d --- /dev/null +++ b/doc_examples/tp/offline/getAppViolationDetail/main.go @@ -0,0 +1,39 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/offline" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &offline.GetAppViolationDetailRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + } + + resp, err := offline.GetAppViolationDetail(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/offline/setAppOffline/main.go b/doc_examples/tp/offline/setAppOffline/main.go new file mode 100644 index 0000000..c9ba350 --- /dev/null +++ b/doc_examples/tp/offline/setAppOffline/main.go @@ -0,0 +1,43 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/offline" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &offline.SetAppOfflineRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + AppName: "", // 文档中对应字段:app_name,实际使用时请替换成真实参数 + AppDesc: "", // 文档中对应字段:app_desc,实际使用时请替换成真实参数 + PhotoAddr: "", // 文档中对应字段:photo_addr,实际使用时请替换成真实参数 + AppNameMaterial: "", // 文档中对应字段:app_name_material,实际使用时请替换成真实参数 + } + + resp, err := offline.SetAppOffline(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/optimization/getPrelink/main.go b/doc_examples/tp/optimization/getPrelink/main.go new file mode 100644 index 0000000..7c37ff1 --- /dev/null +++ b/doc_examples/tp/optimization/getPrelink/main.go @@ -0,0 +1,39 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/optimization" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &optimization.GetPrelinkRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + } + + resp, err := optimization.GetPrelink(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/optimization/setPrelink/main.go b/doc_examples/tp/optimization/setPrelink/main.go new file mode 100644 index 0000000..8b0bea9 --- /dev/null +++ b/doc_examples/tp/optimization/setPrelink/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/optimization" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &optimization.SetPrelinkRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + PrelinkURL: "https://www.baidu.com", // 文档中对应字段:prelink_url,实际使用时请替换成真实参数 + } + + resp, err := optimization.SetPrelink(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/order/addMainInfo/main.go b/doc_examples/tp/order/addMainInfo/main.go new file mode 100644 index 0000000..dd2ea5d --- /dev/null +++ b/doc_examples/tp/order/addMainInfo/main.go @@ -0,0 +1,165 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/order" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + AddMainInfoRequestDataItemEXTMainOrderProductsItemSkuAttrItemVal := order.AddMainInfoRequestDataItemEXTMainOrderProductsItemSkuAttrItem{ + Name: "", // 文档中对应字段:Name,实际使用时请替换成真实参数 + Value: "", // 文档中对应字段:Value,实际使用时请替换成真实参数 + } + + AddMainInfoRequestDataItemEXTMainOrderProductsItemVal := order.AddMainInfoRequestDataItemEXTMainOrderProductsItem{ + Desc: "", // 文档中对应字段:Desc,实际使用时请替换成真实参数 + ID: "", // 文档中对应字段:ID,实际使用时请替换成真实参数 + ImgList: []string{ + "", // 文档中对应字段:ImgList,实际使用时请替换成真实参数 + }, + Name: "", // 文档中对应字段:Name,实际使用时请替换成真实参数 + PayPrice: 0, // 文档中对应字段:PayPrice,实际使用时请替换成真实参数 + Price: 0, // 文档中对应字段:Price,实际使用时请替换成真实参数 + Quantity: 0, // 文档中对应字段:Quantity,实际使用时请替换成真实参数 + SkuAttr: []order.AddMainInfoRequestDataItemEXTMainOrderProductsItemSkuAttrItem{ + AddMainInfoRequestDataItemEXTMainOrderProductsItemSkuAttrItemVal, // 文档中对应字段:SkuAttr,实际使用时请替换成真实参数 + }, + } + + AddMainInfoRequestDataItemEXTMainOrderPaymentPreferentialInfoItemVal := order.AddMainInfoRequestDataItemEXTMainOrderPaymentPreferentialInfoItem{ + Name: "", // 文档中对应字段:Name,实际使用时请替换成真实参数 + Quantity: 0, // 文档中对应字段:Quantity,实际使用时请替换成真实参数 + Value: 0, // 文档中对应字段:Value,实际使用时请替换成真实参数 + } + + AddMainInfoRequestDataItemEXTMainOrderPaymentPaymentInfoItemVal := order.AddMainInfoRequestDataItemEXTMainOrderPaymentPaymentInfoItem{ + Name: "", // 文档中对应字段:Name,实际使用时请替换成真实参数 + Quantity: 0, // 文档中对应字段:Quantity,实际使用时请替换成真实参数 + Value: 0, // 文档中对应字段:Value,实际使用时请替换成真实参数 + } + + AddMainInfoRequestDataItemEXTMainOrderPaymentVal := order.AddMainInfoRequestDataItemEXTMainOrderPayment{ + Amount: 0, // 文档中对应字段:Amount,实际使用时请替换成真实参数 + IsPayment: false, // 文档中对应字段:IsPayment,实际使用时请替换成真实参数 + Method: 0, // 文档中对应字段:Method,实际使用时请替换成真实参数 + PaymentInfo: []order.AddMainInfoRequestDataItemEXTMainOrderPaymentPaymentInfoItem{ + AddMainInfoRequestDataItemEXTMainOrderPaymentPaymentInfoItemVal, // 文档中对应字段:PaymentInfo,实际使用时请替换成真实参数 + }, + PreferentialInfo: []order.AddMainInfoRequestDataItemEXTMainOrderPaymentPreferentialInfoItem{ + AddMainInfoRequestDataItemEXTMainOrderPaymentPreferentialInfoItemVal, // 文档中对应字段:PreferentialInfo,实际使用时请替换成真实参数 + }, + Time: 0, // 文档中对应字段:Time,实际使用时请替换成真实参数 + } + + AddMainInfoRequestDataItemEXTMainOrderAppraiseVal := order.AddMainInfoRequestDataItemEXTMainOrderAppraise{ + Name: "", // 文档中对应字段:Name,实际使用时请替换成真实参数 + Status: 0, // 文档中对应字段:Status,实际使用时请替换成真实参数 + SwanSchema: "", // 文档中对应字段:SwanSchema,实际使用时请替换成真实参数 + } + + AddMainInfoRequestDataItemEXTMainOrderOrderDetailVal := order.AddMainInfoRequestDataItemEXTMainOrderOrderDetail{ + Name: "", // 文档中对应字段:Name,实际使用时请替换成真实参数 + Status: 0, // 文档中对应字段:Status,实际使用时请替换成真实参数 + SwanSchema: "", // 文档中对应字段:SwanSchema,实际使用时请替换成真实参数 + } + + AddMainInfoRequestDataItemEXTMainOrderVal := order.AddMainInfoRequestDataItemEXTMainOrder{ + Appraise: AddMainInfoRequestDataItemEXTMainOrderAppraiseVal, // 文档中对应字段:Appraise,实际使用时请替换成真实参数 + OrderDetail: AddMainInfoRequestDataItemEXTMainOrderOrderDetailVal, // 文档中对应字段:OrderDetail,实际使用时请替换成真实参数 + Payment: AddMainInfoRequestDataItemEXTMainOrderPaymentVal, // 文档中对应字段:Payment,实际使用时请替换成真实参数 + Products: []order.AddMainInfoRequestDataItemEXTMainOrderProductsItem{ + AddMainInfoRequestDataItemEXTMainOrderProductsItemVal, // 文档中对应字段:Products,实际使用时请替换成真实参数 + }, + } + + AddMainInfoRequestDataItemEXTSubsOrderItemsItemOrderDetailVal := order.AddMainInfoRequestDataItemEXTSubsOrderItemsItemOrderDetail{ + AndroidSchema: "", // 文档中对应字段:AndroidSchema,实际使用时请替换成真实参数 + IPhoneSchema: "", // 文档中对应字段:IPhoneSchema,实际使用时请替换成真实参数 + Name: "", // 文档中对应字段:Name,实际使用时请替换成真实参数 + Status: 0, // 文档中对应字段:Status,实际使用时请替换成真实参数 + SwanSchema: "", // 文档中对应字段:SwanSchema,实际使用时请替换成真实参数 + } + + AddMainInfoRequestDataItemEXTSubsOrderItemsItemRefundProductItemVal := order.AddMainInfoRequestDataItemEXTSubsOrderItemsItemRefundProductItem{ + Amount: 0, // 文档中对应字段:Amount,实际使用时请替换成真实参数 + ID: "", // 文档中对应字段:ID,实际使用时请替换成真实参数 + Quantity: 0, // 文档中对应字段:Quantity,实际使用时请替换成真实参数 + } + + AddMainInfoRequestDataItemEXTSubsOrderItemsItemRefundVal := order.AddMainInfoRequestDataItemEXTSubsOrderItemsItemRefund{ + Amount: 0, // 文档中对应字段:Amount,实际使用时请替换成真实参数 + Product: []order.AddMainInfoRequestDataItemEXTSubsOrderItemsItemRefundProductItem{ + AddMainInfoRequestDataItemEXTSubsOrderItemsItemRefundProductItemVal, // 文档中对应字段:Product,实际使用时请替换成真实参数 + }, + } + + AddMainInfoRequestDataItemEXTSubsOrderItemsItemVal := order.AddMainInfoRequestDataItemEXTSubsOrderItemsItem{ + CTime: 0, // 文档中对应字段:CTime,实际使用时请替换成真实参数 + MTime: 0, // 文档中对应字段:MTime,实际使用时请替换成真实参数 + OrderDetail: AddMainInfoRequestDataItemEXTSubsOrderItemsItemOrderDetailVal, // 文档中对应字段:OrderDetail,实际使用时请替换成真实参数 + OrderType: 0, // 文档中对应字段:OrderType,实际使用时请替换成真实参数 + Refund: AddMainInfoRequestDataItemEXTSubsOrderItemsItemRefundVal, // 文档中对应字段:Refund,实际使用时请替换成真实参数 + SubOrderID: "", // 文档中对应字段:SubOrderID,实际使用时请替换成真实参数 + SubStatus: 0, // 文档中对应字段:SubStatus,实际使用时请替换成真实参数 + } + + AddMainInfoRequestDataItemEXTSubsOrderVal := order.AddMainInfoRequestDataItemEXTSubsOrder{ + Items: []order.AddMainInfoRequestDataItemEXTSubsOrderItemsItem{ + AddMainInfoRequestDataItemEXTSubsOrderItemsItemVal, // 文档中对应字段:Items,实际使用时请替换成真实参数 + }, + Status: 0, // 文档中对应字段:Status,实际使用时请替换成真实参数 + } + + AddMainInfoRequestDataItemEXTVal := order.AddMainInfoRequestDataItemEXT{ + MainOrder: AddMainInfoRequestDataItemEXTMainOrderVal, // 文档中对应字段:MainOrder,实际使用时请替换成真实参数 + SubsOrder: AddMainInfoRequestDataItemEXTSubsOrderVal, // 文档中对应字段:SubsOrder,实际使用时请替换成真实参数 + } + + AddMainInfoRequestDataItemVal := order.AddMainInfoRequestDataItem{ + BizAPPID: "", // 文档中对应字段:BizAPPID,实际使用时请替换成真实参数 + CateID: 0, // 文档中对应字段:CateID,实际使用时请替换成真实参数 + Ctime: 0, // 文档中对应字段:Ctime,实际使用时请替换成真实参数 + EXT: AddMainInfoRequestDataItemEXTVal, // 文档中对应字段:EXT,实际使用时请替换成真实参数 + Mtime: 0, // 文档中对应字段:Mtime,实际使用时请替换成真实参数 + ResourceID: "", // 文档中对应字段:ResourceID,实际使用时请替换成真实参数 + Status: 0, // 文档中对应字段:Status,实际使用时请替换成真实参数 + Title: "", // 文档中对应字段:Title,实际使用时请替换成真实参数 + } + + reqParams := &order.AddMainInfoRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + OpenID: "107", // 文档中对应字段:open_id,实际使用时请替换成真实参数 + SceneID: "181", // 文档中对应字段:scene_id,实际使用时请替换成真实参数 + SceneType: 2, // 文档中对应字段:scene_type,实际使用时请替换成真实参数 + Data: []order.AddMainInfoRequestDataItem{ + AddMainInfoRequestDataItemVal, + }, // 文档中对应字段:Data,实际使用时请替换成真实参数 + } + + resp, err := order.AddMainInfo(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/order/appendSubInfo/main.go b/doc_examples/tp/order/appendSubInfo/main.go new file mode 100644 index 0000000..a70fccd --- /dev/null +++ b/doc_examples/tp/order/appendSubInfo/main.go @@ -0,0 +1,91 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/order" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + AppendSubInfoRequestDataItemEXTSubsOrderItemsItemOrderDetailVal := order.AppendSubInfoRequestDataItemEXTSubsOrderItemsItemOrderDetail{ + Name: "", // 文档中对应字段:Name,实际使用时请替换成真实参数 + Status: 0, // 文档中对应字段:Status,实际使用时请替换成真实参数 + SwanSchema: "", // 文档中对应字段:SwanSchema,实际使用时请替换成真实参数 + } + + AppendSubInfoRequestDataItemEXTSubsOrderItemsItemRefundProductItemVal := order.AppendSubInfoRequestDataItemEXTSubsOrderItemsItemRefundProductItem{ + Amount: 0, // 文档中对应字段:Amount,实际使用时请替换成真实参数 + ID: "", // 文档中对应字段:ID,实际使用时请替换成真实参数 + Quantity: 0, // 文档中对应字段:Quantity,实际使用时请替换成真实参数 + } + + AppendSubInfoRequestDataItemEXTSubsOrderItemsItemRefundVal := order.AppendSubInfoRequestDataItemEXTSubsOrderItemsItemRefund{ + Amount: 0, // 文档中对应字段:Amount,实际使用时请替换成真实参数 + Product: []order.AppendSubInfoRequestDataItemEXTSubsOrderItemsItemRefundProductItem{ + AppendSubInfoRequestDataItemEXTSubsOrderItemsItemRefundProductItemVal, // 文档中对应字段:Product,实际使用时请替换成真实参数 + }, + } + + AppendSubInfoRequestDataItemEXTSubsOrderItemsItemVal := order.AppendSubInfoRequestDataItemEXTSubsOrderItemsItem{ + CTime: 0, // 文档中对应字段:CTime,实际使用时请替换成真实参数 + MTime: 0, // 文档中对应字段:MTime,实际使用时请替换成真实参数 + OrderDetail: AppendSubInfoRequestDataItemEXTSubsOrderItemsItemOrderDetailVal, // 文档中对应字段:OrderDetail,实际使用时请替换成真实参数 + OrderType: 0, // 文档中对应字段:OrderType,实际使用时请替换成真实参数 + Refund: AppendSubInfoRequestDataItemEXTSubsOrderItemsItemRefundVal, // 文档中对应字段:Refund,实际使用时请替换成真实参数 + SubOrderID: "", // 文档中对应字段:SubOrderID,实际使用时请替换成真实参数 + SubStatus: 0, // 文档中对应字段:SubStatus,实际使用时请替换成真实参数 + } + + AppendSubInfoRequestDataItemEXTSubsOrderVal := order.AppendSubInfoRequestDataItemEXTSubsOrder{ + Items: []order.AppendSubInfoRequestDataItemEXTSubsOrderItemsItem{ + AppendSubInfoRequestDataItemEXTSubsOrderItemsItemVal, // 文档中对应字段:Items,实际使用时请替换成真实参数 + }, + } + + AppendSubInfoRequestDataItemEXTVal := order.AppendSubInfoRequestDataItemEXT{ + SubsOrder: AppendSubInfoRequestDataItemEXTSubsOrderVal, // 文档中对应字段:SubsOrder,实际使用时请替换成真实参数 + } + + AppendSubInfoRequestDataItemVal := order.AppendSubInfoRequestDataItem{ + BizAPPID: "", // 文档中对应字段:BizAPPID,实际使用时请替换成真实参数 + CateID: 0, // 文档中对应字段:CateID,实际使用时请替换成真实参数 + EXT: AppendSubInfoRequestDataItemEXTVal, // 文档中对应字段:EXT,实际使用时请替换成真实参数 + ResourceID: "", // 文档中对应字段:ResourceID,实际使用时请替换成真实参数 + } + + reqParams := &order.AppendSubInfoRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + OpenID: "105", // 文档中对应字段:open_id,实际使用时请替换成真实参数 + SceneID: "166", // 文档中对应字段:scene_id,实际使用时请替换成真实参数 + SceneType: 2, // 文档中对应字段:scene_type,实际使用时请替换成真实参数 + Data: []order.AppendSubInfoRequestDataItem{ + AppendSubInfoRequestDataItemVal, + }, // 文档中对应字段:Data,实际使用时请替换成真实参数 + } + + resp, err := order.AppendSubInfo(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/order/updateMainInfo/main.go b/doc_examples/tp/order/updateMainInfo/main.go new file mode 100644 index 0000000..1e54cda --- /dev/null +++ b/doc_examples/tp/order/updateMainInfo/main.go @@ -0,0 +1,123 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/order" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + UpdateMainInfoRequestDataItemEXTMainOrderProductsItemSkuAttrItemVal := order.UpdateMainInfoRequestDataItemEXTMainOrderProductsItemSkuAttrItem{ + Name: "", // 文档中对应字段:Name,实际使用时请替换成真实参数 + Value: "", // 文档中对应字段:Value,实际使用时请替换成真实参数 + } + + UpdateMainInfoRequestDataItemEXTMainOrderProductsItemVal := order.UpdateMainInfoRequestDataItemEXTMainOrderProductsItem{ + Desc: "", // 文档中对应字段:Desc,实际使用时请替换成真实参数 + ID: "", // 文档中对应字段:ID,实际使用时请替换成真实参数 + ImgList: []string{ + "", // 文档中对应字段:ImgList,实际使用时请替换成真实参数 + }, + Name: "", // 文档中对应字段:Name,实际使用时请替换成真实参数 + PayPrice: 0, // 文档中对应字段:PayPrice,实际使用时请替换成真实参数 + Price: 0, // 文档中对应字段:Price,实际使用时请替换成真实参数 + Quantity: 0, // 文档中对应字段:Quantity,实际使用时请替换成真实参数 + SkuAttr: []order.UpdateMainInfoRequestDataItemEXTMainOrderProductsItemSkuAttrItem{ + UpdateMainInfoRequestDataItemEXTMainOrderProductsItemSkuAttrItemVal, // 文档中对应字段:SkuAttr,实际使用时请替换成真实参数 + }, + } + + UpdateMainInfoRequestDataItemEXTMainOrderPaymentPreferentialInfoItemVal := order.UpdateMainInfoRequestDataItemEXTMainOrderPaymentPreferentialInfoItem{ + Name: "", // 文档中对应字段:Name,实际使用时请替换成真实参数 + Quantity: 0, // 文档中对应字段:Quantity,实际使用时请替换成真实参数 + Value: 0, // 文档中对应字段:Value,实际使用时请替换成真实参数 + } + + UpdateMainInfoRequestDataItemEXTMainOrderPaymentPaymentInfoItemVal := order.UpdateMainInfoRequestDataItemEXTMainOrderPaymentPaymentInfoItem{ + Name: "", // 文档中对应字段:Name,实际使用时请替换成真实参数 + Quantity: 0, // 文档中对应字段:Quantity,实际使用时请替换成真实参数 + Value: 0, // 文档中对应字段:Value,实际使用时请替换成真实参数 + } + + UpdateMainInfoRequestDataItemEXTMainOrderPaymentVal := order.UpdateMainInfoRequestDataItemEXTMainOrderPayment{ + Amount: 0, // 文档中对应字段:Amount,实际使用时请替换成真实参数 + IsPayment: false, // 文档中对应字段:IsPayment,实际使用时请替换成真实参数 + Method: 0, // 文档中对应字段:Method,实际使用时请替换成真实参数 + PaymentInfo: []order.UpdateMainInfoRequestDataItemEXTMainOrderPaymentPaymentInfoItem{ + UpdateMainInfoRequestDataItemEXTMainOrderPaymentPaymentInfoItemVal, // 文档中对应字段:PaymentInfo,实际使用时请替换成真实参数 + }, + PreferentialInfo: []order.UpdateMainInfoRequestDataItemEXTMainOrderPaymentPreferentialInfoItem{ + UpdateMainInfoRequestDataItemEXTMainOrderPaymentPreferentialInfoItemVal, // 文档中对应字段:PreferentialInfo,实际使用时请替换成真实参数 + }, + Time: 0, // 文档中对应字段:Time,实际使用时请替换成真实参数 + } + + UpdateMainInfoRequestDataItemEXTMainOrderAppraiseVal := order.UpdateMainInfoRequestDataItemEXTMainOrderAppraise{ + Name: "", // 文档中对应字段:Name,实际使用时请替换成真实参数 + Status: 0, // 文档中对应字段:Status,实际使用时请替换成真实参数 + SwanSchema: "", // 文档中对应字段:SwanSchema,实际使用时请替换成真实参数 + } + + UpdateMainInfoRequestDataItemEXTMainOrderOrderDetailVal := order.UpdateMainInfoRequestDataItemEXTMainOrderOrderDetail{ + Name: "", // 文档中对应字段:Name,实际使用时请替换成真实参数 + Status: 0, // 文档中对应字段:Status,实际使用时请替换成真实参数 + SwanSchema: "", // 文档中对应字段:SwanSchema,实际使用时请替换成真实参数 + } + + UpdateMainInfoRequestDataItemEXTMainOrderVal := order.UpdateMainInfoRequestDataItemEXTMainOrder{ + Appraise: UpdateMainInfoRequestDataItemEXTMainOrderAppraiseVal, // 文档中对应字段:Appraise,实际使用时请替换成真实参数 + OrderDetail: UpdateMainInfoRequestDataItemEXTMainOrderOrderDetailVal, // 文档中对应字段:OrderDetail,实际使用时请替换成真实参数 + Payment: UpdateMainInfoRequestDataItemEXTMainOrderPaymentVal, // 文档中对应字段:Payment,实际使用时请替换成真实参数 + Products: []order.UpdateMainInfoRequestDataItemEXTMainOrderProductsItem{ + UpdateMainInfoRequestDataItemEXTMainOrderProductsItemVal, // 文档中对应字段:Products,实际使用时请替换成真实参数 + }, + } + + UpdateMainInfoRequestDataItemEXTVal := order.UpdateMainInfoRequestDataItemEXT{ + MainOrder: UpdateMainInfoRequestDataItemEXTMainOrderVal, // 文档中对应字段:MainOrder,实际使用时请替换成真实参数 + } + + UpdateMainInfoRequestDataItemVal := order.UpdateMainInfoRequestDataItem{ + BizAPPID: "", // 文档中对应字段:BizAPPID,实际使用时请替换成真实参数 + CateID: 0, // 文档中对应字段:CateID,实际使用时请替换成真实参数 + EXT: UpdateMainInfoRequestDataItemEXTVal, // 文档中对应字段:EXT,实际使用时请替换成真实参数 + ResourceID: "", // 文档中对应字段:ResourceID,实际使用时请替换成真实参数 + Status: 0, // 文档中对应字段:Status,实际使用时请替换成真实参数 + } + + reqParams := &order.UpdateMainInfoRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + OpenID: "128", // 文档中对应字段:open_id,实际使用时请替换成真实参数 + SceneID: "100", // 文档中对应字段:scene_id,实际使用时请替换成真实参数 + SceneType: 2, // 文档中对应字段:scene_type,实际使用时请替换成真实参数 + Data: []order.UpdateMainInfoRequestDataItem{ + UpdateMainInfoRequestDataItemVal, + }, // 文档中对应字段:Data,实际使用时请替换成真实参数 + } + + resp, err := order.UpdateMainInfo(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/order/updateMainStatus/main.go b/doc_examples/tp/order/updateMainStatus/main.go new file mode 100644 index 0000000..e0422f1 --- /dev/null +++ b/doc_examples/tp/order/updateMainStatus/main.go @@ -0,0 +1,52 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/order" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + UpdateMainStatusRequestDataItemVal := order.UpdateMainStatusRequestDataItem{ + BizAPPID: "", // 文档中对应字段:BizAPPID,实际使用时请替换成真实参数 + CateID: 0, // 文档中对应字段:CateID,实际使用时请替换成真实参数 + ResourceID: "", // 文档中对应字段:ResourceID,实际使用时请替换成真实参数 + Status: 0, // 文档中对应字段:Status,实际使用时请替换成真实参数 + } + + reqParams := &order.UpdateMainStatusRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + OpenID: "114", // 文档中对应字段:open_id,实际使用时请替换成真实参数 + SceneID: "110", // 文档中对应字段:scene_id,实际使用时请替换成真实参数 + SceneType: 2, // 文档中对应字段:scene_type,实际使用时请替换成真实参数 + Data: []order.UpdateMainStatusRequestDataItem{ + UpdateMainStatusRequestDataItemVal, + }, // 文档中对应字段:Data,实际使用时请替换成真实参数 + } + + resp, err := order.UpdateMainStatus(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/order/updateSubInfo/main.go b/doc_examples/tp/order/updateSubInfo/main.go new file mode 100644 index 0000000..138fc49 --- /dev/null +++ b/doc_examples/tp/order/updateSubInfo/main.go @@ -0,0 +1,95 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/order" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + UpdateSubInfoRequestDataItemEXTSubsOrderItemsItemOrderDetailVal := order.UpdateSubInfoRequestDataItemEXTSubsOrderItemsItemOrderDetail{ + AndroidSchema: "", // 文档中对应字段:AndroidSchema,实际使用时请替换成真实参数 + H5Schema: "", // 文档中对应字段:H5Schema,实际使用时请替换成真实参数 + IPhoneSchema: "", // 文档中对应字段:IPhoneSchema,实际使用时请替换成真实参数 + Name: "", // 文档中对应字段:Name,实际使用时请替换成真实参数 + Status: 0, // 文档中对应字段:Status,实际使用时请替换成真实参数 + SwanSchema: "", // 文档中对应字段:SwanSchema,实际使用时请替换成真实参数 + } + + UpdateSubInfoRequestDataItemEXTSubsOrderItemsItemRefundProductItemVal := order.UpdateSubInfoRequestDataItemEXTSubsOrderItemsItemRefundProductItem{ + Amount: 0, // 文档中对应字段:Amount,实际使用时请替换成真实参数 + ID: "", // 文档中对应字段:ID,实际使用时请替换成真实参数 + Quantity: 0, // 文档中对应字段:Quantity,实际使用时请替换成真实参数 + } + + UpdateSubInfoRequestDataItemEXTSubsOrderItemsItemRefundVal := order.UpdateSubInfoRequestDataItemEXTSubsOrderItemsItemRefund{ + Amount: 0, // 文档中对应字段:Amount,实际使用时请替换成真实参数 + Product: []order.UpdateSubInfoRequestDataItemEXTSubsOrderItemsItemRefundProductItem{ + UpdateSubInfoRequestDataItemEXTSubsOrderItemsItemRefundProductItemVal, // 文档中对应字段:Product,实际使用时请替换成真实参数 + }, + } + + UpdateSubInfoRequestDataItemEXTSubsOrderItemsItemVal := order.UpdateSubInfoRequestDataItemEXTSubsOrderItemsItem{ + CTime: 0, // 文档中对应字段:CTime,实际使用时请替换成真实参数 + MTime: 0, // 文档中对应字段:MTime,实际使用时请替换成真实参数 + OrderDetail: UpdateSubInfoRequestDataItemEXTSubsOrderItemsItemOrderDetailVal, // 文档中对应字段:OrderDetail,实际使用时请替换成真实参数 + OrderType: 0, // 文档中对应字段:OrderType,实际使用时请替换成真实参数 + Refund: UpdateSubInfoRequestDataItemEXTSubsOrderItemsItemRefundVal, // 文档中对应字段:Refund,实际使用时请替换成真实参数 + SubOrderID: "", // 文档中对应字段:SubOrderID,实际使用时请替换成真实参数 + SubStatus: 0, // 文档中对应字段:SubStatus,实际使用时请替换成真实参数 + } + + UpdateSubInfoRequestDataItemEXTSubsOrderVal := order.UpdateSubInfoRequestDataItemEXTSubsOrder{ + Items: []order.UpdateSubInfoRequestDataItemEXTSubsOrderItemsItem{ + UpdateSubInfoRequestDataItemEXTSubsOrderItemsItemVal, // 文档中对应字段:Items,实际使用时请替换成真实参数 + }, + Status: 0, // 文档中对应字段:Status,实际使用时请替换成真实参数 + } + + UpdateSubInfoRequestDataItemEXTVal := order.UpdateSubInfoRequestDataItemEXT{ + SubsOrder: UpdateSubInfoRequestDataItemEXTSubsOrderVal, // 文档中对应字段:SubsOrder,实际使用时请替换成真实参数 + } + + UpdateSubInfoRequestDataItemVal := order.UpdateSubInfoRequestDataItem{ + BizAPPID: "", // 文档中对应字段:BizAPPID,实际使用时请替换成真实参数 + CateID: 0, // 文档中对应字段:CateID,实际使用时请替换成真实参数 + EXT: UpdateSubInfoRequestDataItemEXTVal, // 文档中对应字段:EXT,实际使用时请替换成真实参数 + ResourceID: "", // 文档中对应字段:ResourceID,实际使用时请替换成真实参数 + } + + reqParams := &order.UpdateSubInfoRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + OpenID: "186", // 文档中对应字段:open_id,实际使用时请替换成真实参数 + SceneID: "172", // 文档中对应字段:scene_id,实际使用时请替换成真实参数 + SceneType: 2, // 文档中对应字段:scene_type,实际使用时请替换成真实参数 + Data: []order.UpdateSubInfoRequestDataItem{ + UpdateSubInfoRequestDataItemVal, + }, // 文档中对应字段:Data,实际使用时请替换成真实参数 + } + + resp, err := order.UpdateSubInfo(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/order/updateSubStatus/main.go b/doc_examples/tp/order/updateSubStatus/main.go new file mode 100644 index 0000000..1ca57d3 --- /dev/null +++ b/doc_examples/tp/order/updateSubStatus/main.go @@ -0,0 +1,68 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/order" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + UpdateSubStatusRequestDataItemEXTSubsOrderItemsItemVal := order.UpdateSubStatusRequestDataItemEXTSubsOrderItemsItem{ + SubOrderID: "", // 文档中对应字段:SubOrderID,实际使用时请替换成真实参数 + SubStatus: 0, // 文档中对应字段:SubStatus,实际使用时请替换成真实参数 + } + + UpdateSubStatusRequestDataItemEXTSubsOrderVal := order.UpdateSubStatusRequestDataItemEXTSubsOrder{ + Items: []order.UpdateSubStatusRequestDataItemEXTSubsOrderItemsItem{ + UpdateSubStatusRequestDataItemEXTSubsOrderItemsItemVal, // 文档中对应字段:Items,实际使用时请替换成真实参数 + }, + Status: 0, // 文档中对应字段:Status,实际使用时请替换成真实参数 + } + + UpdateSubStatusRequestDataItemEXTVal := order.UpdateSubStatusRequestDataItemEXT{ + SubsOrder: UpdateSubStatusRequestDataItemEXTSubsOrderVal, // 文档中对应字段:SubsOrder,实际使用时请替换成真实参数 + } + + UpdateSubStatusRequestDataItemVal := order.UpdateSubStatusRequestDataItem{ + BizAPPID: "", // 文档中对应字段:BizAPPID,实际使用时请替换成真实参数 + CateID: 0, // 文档中对应字段:CateID,实际使用时请替换成真实参数 + EXT: UpdateSubStatusRequestDataItemEXTVal, // 文档中对应字段:EXT,实际使用时请替换成真实参数 + ResourceID: "", // 文档中对应字段:ResourceID,实际使用时请替换成真实参数 + } + + reqParams := &order.UpdateSubStatusRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + OpenID: "112", // 文档中对应字段:open_id,实际使用时请替换成真实参数 + SceneID: "153", // 文档中对应字段:scene_id,实际使用时请替换成真实参数 + SceneType: 2, // 文档中对应字段:scene_type,实际使用时请替换成真实参数 + Data: []order.UpdateSubStatusRequestDataItem{ + UpdateSubStatusRequestDataItemVal, + }, // 文档中对应字段:Data,实际使用时请替换成真实参数 + } + + resp, err := order.UpdateSubStatus(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pay/applyOrderRefund/main.go b/doc_examples/tp/pay/applyOrderRefund/main.go new file mode 100644 index 0000000..a1c7668 --- /dev/null +++ b/doc_examples/tp/pay/applyOrderRefund/main.go @@ -0,0 +1,49 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pay" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pay.ApplyOrderRefundRequest{ + AccessToken: "#tpToken", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + ApplyRefundMoney: 181, // 文档中对应字段:applyRefundMoney,实际使用时请替换成真实参数 + BizRefundBatchID: "", // 文档中对应字段:bizRefundBatchId,实际使用时请替换成真实参数 + IsSkipAudit: 1, // 文档中对应字段:isSkipAudit,实际使用时请替换成真实参数 + OrderID: 0, // 文档中对应字段:orderId,实际使用时请替换成真实参数 + RefundReason: "refund", // 文档中对应字段:refundReason,实际使用时请替换成真实参数 + RefundType: 1, // 文档中对应字段:refundType,实际使用时请替换成真实参数 + TpOrderID: "", // 文档中对应字段:tpOrderId,实际使用时请替换成真实参数 + UserID: 0, // 文档中对应字段:userId,实际使用时请替换成真实参数 + RefundNotifyURL: "", // 文档中对应字段:refundNotifyUrl,实际使用时请替换成真实参数 + PmAppKey: "", // 文档中对应字段:pmAppKey,实际使用时请替换成真实参数 + } + + resp, err := pay.ApplyOrderRefund(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pay/closeOrder/main.go b/doc_examples/tp/pay/closeOrder/main.go new file mode 100644 index 0000000..90d610b --- /dev/null +++ b/doc_examples/tp/pay/closeOrder/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pay" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pay.CloseOrderRequest{ + AccessToken: "#tpToken", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + OrderID: "", // 文档中对应字段:orderId,实际使用时请替换成真实参数 + PmAppKey: "", // 文档中对应字段:pmAppKey,实际使用时请替换成真实参数 + } + + resp, err := pay.CloseOrder(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pay/createPayAccount/main.go b/doc_examples/tp/pay/createPayAccount/main.go new file mode 100644 index 0000000..70c97d9 --- /dev/null +++ b/doc_examples/tp/pay/createPayAccount/main.go @@ -0,0 +1,70 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pay" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pay.CreatePayAccountRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + BusinessScope: "科技产品", // 文档中对应字段:business_scope,实际使用时请替换成真实参数 + BusinessProvince: "广东省", // 文档中对应字段:business_province,实际使用时请替换成真实参数 + BusinessCity: "深圳市", // 文档中对应字段:business_city,实际使用时请替换成真实参数 + BusinessDetailAddress: "广东省南山市百度深圳研究院", // 文档中对应字段:business_detail_address,实际使用时请替换成真实参数 + LegalPerson: "百小度", // 文档中对应字段:legal_person,实际使用时请替换成真实参数 + LegalID: "182523780016702203", // 文档中对应字段:legal_id,实际使用时请替换成真实参数 + IDCardFrontURL: "https://mbs3.bdstatic.com/searchbox/mappconsole/image/16622335/81feb4a5-d67b-084c-2874-27cfff61c7a0.jpg", // 文档中对应字段:id_card_front_url,实际使用时请替换成真实参数 + IDCardBackURL: "https://mbs5.bdstatic.com/searchbox/mappconsole/image/34368180/68feb8a0-d48b-424c-5387-75cfff73c4a3.jpg", // 文档中对应字段:id_card_back_url,实际使用时请替换成真实参数 + LegalCardStartTime: "2624-84-42", // 文档中对应字段:legal_card_start_time,实际使用时请替换成真实参数 + LegalCardEndTime: "2124-05-66", // 文档中对应字段:legal_card_end_time,实际使用时请替换成真实参数 + LicenseStartTime: "2205-08-88", // 文档中对应字段:license_start_time,实际使用时请替换成真实参数 + LicenseEndTime: "2507-41-30", // 文档中对应字段:license_end_time,实际使用时请替换成真实参数 + IndustryID: 156, // 文档中对应字段:industry_id,实际使用时请替换成真实参数 + ManagePermitURL: "manage_permit_url", // 文档中对应字段:manage_permit_url,实际使用时请替换成真实参数 + AuthCapital: "184", // 文档中对应字段:auth_capital,实际使用时请替换成真实参数 + ManagerSame: 1, // 文档中对应字段:manager_same,实际使用时请替换成真实参数 + Manager: "Bob", // 文档中对应字段:manager,实际使用时请替换成真实参数 + ManagerCard: "100650564564168775", // 文档中对应字段:manager_card,实际使用时请替换成真实参数 + ManagerCardType: 1, // 文档中对应字段:manager_card_type,实际使用时请替换成真实参数 + ManagerCardFrontURL: "manager_card_front_url", // 文档中对应字段:manager_card_front_url,实际使用时请替换成真实参数 + ManagerCardBackURL: "manager_card_back_url", // 文档中对应字段:manager_card_back_url,实际使用时请替换成真实参数 + ManagerCardStartTime: "2627-85-88", // 文档中对应字段:manager_card_start_time,实际使用时请替换成真实参数 + ManagerCardEndTime: "2385-85-00", // 文档中对应字段:manager_card_end_time,实际使用时请替换成真实参数 + BenefitSame: 1, // 文档中对应字段:benefit_same,实际使用时请替换成真实参数 + Benefit: "Bob", // 文档中对应字段:benefit,实际使用时请替换成真实参数 + BenefitCard: "168368810768660384", // 文档中对应字段:benefit_card,实际使用时请替换成真实参数 + BenefitCardType: 1, // 文档中对应字段:benefit_card_type,实际使用时请替换成真实参数 + BenefitCardFrontURL: "manager_card_front_url", // 文档中对应字段:benefit_card_front_url,实际使用时请替换成真实参数 + BenefitCardBackURL: "manager_card_back_url", // 文档中对应字段:benefit_card_back_url,实际使用时请替换成真实参数 + BenefitStartTime: "2335-67-15", // 文档中对应字段:benefit_start_time,实际使用时请替换成真实参数 + BenefitEndTime: "2870-11-47", // 文档中对应字段:benefit_end_time,实际使用时请替换成真实参数 + } + + resp, err := pay.CreatePayAccount(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pay/createPaymentService/main.go b/doc_examples/tp/pay/createPaymentService/main.go new file mode 100644 index 0000000..cc8d9a9 --- /dev/null +++ b/doc_examples/tp/pay/createPaymentService/main.go @@ -0,0 +1,52 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pay" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pay.CreatePaymentServiceRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + AppName: "app_name", // 文档中对应字段:app_name,实际使用时请替换成真实参数 + ServicePhone: "11612164453", // 文档中对应字段:service_phone,实际使用时请替换成真实参数 + BankAccount: "bank_account", // 文档中对应字段:bank_account,实际使用时请替换成真实参数 + BankCard: "18176120040038", // 文档中对应字段:bank_card,实际使用时请替换成真实参数 + BankName: "招商银行", // 文档中对应字段:bank_name,实际使用时请替换成真实参数 + BankBranch: "招商银行北京上地支行", // 文档中对应字段:bank_branch,实际使用时请替换成真实参数 + OpenProvince: "广东省", // 文档中对应字段:open_province,实际使用时请替换成真实参数 + OpenCity: "深圳市", // 文档中对应字段:open_city,实际使用时请替换成真实参数 + PaymentDays: 7, // 文档中对应字段:payment_days,实际使用时请替换成真实参数 + CommissionRate: 6, // 文档中对应字段:commission_rate,实际使用时请替换成真实参数 + PoolCashPledge: 123, // 文档中对应字段:pool_cash_pledge,实际使用时请替换成真实参数 + DayMaxFrozenAmount: 15724, // 文档中对应字段:day_max_frozen_amount,实际使用时请替换成真实参数 + BankPhoneNumber: "18007451814", // 文档中对应字段:bank_phone_number,实际使用时请替换成真实参数 + } + + resp, err := pay.CreatePaymentService(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pay/downloadCapitalBill/main.go b/doc_examples/tp/pay/downloadCapitalBill/main.go new file mode 100644 index 0000000..a75ddd8 --- /dev/null +++ b/doc_examples/tp/pay/downloadCapitalBill/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pay" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pay.DownloadCapitalBillRequest{ + AccessToken: "#tpToken", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + BillTime: "", // 文档中对应字段:billTime,实际使用时请替换成真实参数 + PmAppKey: "", // 文档中对应字段:pmAppKey,实际使用时请替换成真实参数 + } + + resp, err := pay.DownloadCapitalBill(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pay/downloadOrderBill/main.go b/doc_examples/tp/pay/downloadOrderBill/main.go new file mode 100644 index 0000000..83066bf --- /dev/null +++ b/doc_examples/tp/pay/downloadOrderBill/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pay" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pay.DownloadOrderBillRequest{ + AccessToken: "#tpToken", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + BillTime: "", // 文档中对应字段:billTime,实际使用时请替换成真实参数 + PmAppKey: "", // 文档中对应字段:pmAppKey,实际使用时请替换成真实参数 + } + + resp, err := pay.DownloadOrderBill(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pay/getBindPaymentService/main.go b/doc_examples/tp/pay/getBindPaymentService/main.go new file mode 100644 index 0000000..5c649d0 --- /dev/null +++ b/doc_examples/tp/pay/getBindPaymentService/main.go @@ -0,0 +1,39 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pay" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pay.GetBindPaymentServiceRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + } + + resp, err := pay.GetBindPaymentService(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pay/getByTpOrderId/main.go b/doc_examples/tp/pay/getByTpOrderId/main.go new file mode 100644 index 0000000..b0a3ce3 --- /dev/null +++ b/doc_examples/tp/pay/getByTpOrderId/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pay" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pay.GetByTpOrderIDRequest{ + AccessToken: "#tpToken", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + TpOrderID: "", // 文档中对应字段:tpOrderId,实际使用时请替换成真实参数 + PmAppKey: "", // 文档中对应字段:pmAppKey,实际使用时请替换成真实参数 + } + + resp, err := pay.GetByTpOrderID(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pay/getExpenseDetail/main.go b/doc_examples/tp/pay/getExpenseDetail/main.go new file mode 100644 index 0000000..9d63712 --- /dev/null +++ b/doc_examples/tp/pay/getExpenseDetail/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pay" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pay.GetExpenseDetailRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + TaskID: 1, // 文档中对应字段:task_id,实际使用时请替换成真实参数 + } + + resp, err := pay.GetExpenseDetail(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pay/getExpenseList/main.go b/doc_examples/tp/pay/getExpenseList/main.go new file mode 100644 index 0000000..bc333d4 --- /dev/null +++ b/doc_examples/tp/pay/getExpenseList/main.go @@ -0,0 +1,43 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pay" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pay.GetExpenseListRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + CurrentPage: 1, // 文档中对应字段:current_page,实际使用时请替换成真实参数 + PageSize: 12, // 文档中对应字段:page_size,实际使用时请替换成真实参数 + StartTime: "2771-37-73", // 文档中对应字段:start_time,实际使用时请替换成真实参数 + EndTime: "2645-50-58", // 文档中对应字段:end_time,实际使用时请替换成真实参数 + } + + resp, err := pay.GetExpenseList(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pay/getFinanceBalance/main.go b/doc_examples/tp/pay/getFinanceBalance/main.go new file mode 100644 index 0000000..f92e092 --- /dev/null +++ b/doc_examples/tp/pay/getFinanceBalance/main.go @@ -0,0 +1,43 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pay" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pay.GetFinanceBalanceRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + StartTime: "2256-24-22", // 文档中对应字段:start_time,实际使用时请替换成真实参数 + EndTime: "2806-04-73", // 文档中对应字段:end_time,实际使用时请替换成真实参数 + CurrentPage: 1, // 文档中对应字段:current_page,实际使用时请替换成真实参数 + PageSize: 11, // 文档中对应字段:page_size,实际使用时请替换成真实参数 + } + + resp, err := pay.GetFinanceBalance(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pay/getIncomeDetail/main.go b/doc_examples/tp/pay/getIncomeDetail/main.go new file mode 100644 index 0000000..ca0c65f --- /dev/null +++ b/doc_examples/tp/pay/getIncomeDetail/main.go @@ -0,0 +1,42 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pay" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pay.GetIncomeDetailRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + StartTime: "2541-65-32", // 文档中对应字段:start_time,实际使用时请替换成真实参数 + CurrentPage: 1, // 文档中对应字段:current_page,实际使用时请替换成真实参数 + PageSize: 13, // 文档中对应字段:page_size,实际使用时请替换成真实参数 + } + + resp, err := pay.GetIncomeDetail(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pay/getOrderList/main.go b/doc_examples/tp/pay/getOrderList/main.go new file mode 100644 index 0000000..e8add90 --- /dev/null +++ b/doc_examples/tp/pay/getOrderList/main.go @@ -0,0 +1,44 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pay" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pay.GetOrderListRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Status: "1", // 文档中对应字段:status,实际使用时请替换成真实参数 + StartTime: 10356534384, // 文档中对应字段:start_time,实际使用时请替换成真实参数 + EndTime: 16541104262, // 文档中对应字段:end_time,实际使用时请替换成真实参数 + CurrentPage: 1, // 文档中对应字段:current_page,实际使用时请替换成真实参数 + PageSize: 10, // 文档中对应字段:page_size,实际使用时请替换成真实参数 + } + + resp, err := pay.GetOrderList(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pay/getOrderRefund/main.go b/doc_examples/tp/pay/getOrderRefund/main.go new file mode 100644 index 0000000..2f0ffc0 --- /dev/null +++ b/doc_examples/tp/pay/getOrderRefund/main.go @@ -0,0 +1,42 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pay" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pay.GetOrderRefundRequest{ + AccessToken: "#tpToken", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + TpOrderID: "", // 文档中对应字段:tpOrderId,实际使用时请替换成真实参数 + UserID: 0, // 文档中对应字段:userId,实际使用时请替换成真实参数 + PmAppKey: "", // 文档中对应字段:pmAppKey,实际使用时请替换成真实参数 + } + + resp, err := pay.GetOrderRefund(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pay/getOtherDetail/main.go b/doc_examples/tp/pay/getOtherDetail/main.go new file mode 100644 index 0000000..d108bb2 --- /dev/null +++ b/doc_examples/tp/pay/getOtherDetail/main.go @@ -0,0 +1,43 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pay" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pay.GetOtherDetailRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + CurrentPage: 1, // 文档中对应字段:current_page,实际使用时请替换成真实参数 + PageSize: 15, // 文档中对应字段:page_size,实际使用时请替换成真实参数 + StartTime: "2844-74-23", // 文档中对应字段:start_time,实际使用时请替换成真实参数 + EndTime: "2615-26-53", // 文档中对应字段:end_time,实际使用时请替换成真实参数 + } + + resp, err := pay.GetOtherDetail(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pay/getPayAccountAuditStatus/main.go b/doc_examples/tp/pay/getPayAccountAuditStatus/main.go new file mode 100644 index 0000000..4d3602f --- /dev/null +++ b/doc_examples/tp/pay/getPayAccountAuditStatus/main.go @@ -0,0 +1,39 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pay" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pay.GetPayAccountAuditStatusRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + } + + resp, err := pay.GetPayAccountAuditStatus(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pay/getPayServiceAuditStatus/main.go b/doc_examples/tp/pay/getPayServiceAuditStatus/main.go new file mode 100644 index 0000000..31f551f --- /dev/null +++ b/doc_examples/tp/pay/getPayServiceAuditStatus/main.go @@ -0,0 +1,39 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pay" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pay.GetPayServiceAuditStatusRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + } + + resp, err := pay.GetPayServiceAuditStatus(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pay/getPaymentServiceDict/main.go b/doc_examples/tp/pay/getPaymentServiceDict/main.go new file mode 100644 index 0000000..8fc9ec5 --- /dev/null +++ b/doc_examples/tp/pay/getPaymentServiceDict/main.go @@ -0,0 +1,39 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pay" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pay.GetPaymentServiceDictRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + } + + resp, err := pay.GetPaymentServiceDict(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pay/getTradeIndustryList/main.go b/doc_examples/tp/pay/getTradeIndustryList/main.go new file mode 100644 index 0000000..02c39e0 --- /dev/null +++ b/doc_examples/tp/pay/getTradeIndustryList/main.go @@ -0,0 +1,39 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pay" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pay.GetTradeIndustryListRequest{ + AccessToken: "#tpToken", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + } + + resp, err := pay.GetTradeIndustryList(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pay/submitDevelopConfig/main.go b/doc_examples/tp/pay/submitDevelopConfig/main.go new file mode 100644 index 0000000..bddaa8f --- /dev/null +++ b/doc_examples/tp/pay/submitDevelopConfig/main.go @@ -0,0 +1,43 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pay" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pay.SubmitDevelopConfigRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + TpPublicKey: "MIGfMA4GCSqGSIb2DQEBAQUAA8GNADCBiQKBgQC3ZbnSK1EeCMFq2KUdp4hyd4ExvfPYy58berLkjm8eKX3swDq2nF+bpCtM25+5pssRuoypaBIOTP1nf+Qpd1p0yP2kMQF7GbUy7t7kZzs6lqpGe5RZ/8ehVKIyLlCEgm7cUMFGKyLH48XL3QcQkqAJjinbjgYjtvt1Ms+VCmmolwIDAQAB", // 文档中对应字段:tp_public_key,实际使用时请替换成真实参数 + PayNotifyURL: "https://www.baidu.com", // 文档中对应字段:pay_notify_url,实际使用时请替换成真实参数 + RefundAuditURL: "https://www.baidu.com", // 文档中对应字段:refund_audit_url,实际使用时请替换成真实参数 + RefundSuccURL: "https://www.baidu.com", // 文档中对应字段:refund_succ_url,实际使用时请替换成真实参数 + } + + resp, err := pay.SubmitDevelopConfig(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pay/updateBindPaymentService/main.go b/doc_examples/tp/pay/updateBindPaymentService/main.go new file mode 100644 index 0000000..0679d65 --- /dev/null +++ b/doc_examples/tp/pay/updateBindPaymentService/main.go @@ -0,0 +1,52 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pay" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pay.UpdateBindPaymentServiceRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + AppName: "智能小程序", // 文档中对应字段:app_name,实际使用时请替换成真实参数 + ServicePhone: "13270077877", // 文档中对应字段:service_phone,实际使用时请替换成真实参数 + BankAccount: "百度", // 文档中对应字段:bank_account,实际使用时请替换成真实参数 + BankCard: "", // 文档中对应字段:bank_card,实际使用时请替换成真实参数 + BankName: "招商银行", // 文档中对应字段:bank_name,实际使用时请替换成真实参数 + BankBranch: "招商银行北京上地支行", // 文档中对应字段:bank_branch,实际使用时请替换成真实参数 + OpenProvince: "广东省", // 文档中对应字段:open_province,实际使用时请替换成真实参数 + OpenCity: "深圳市", // 文档中对应字段:open_city,实际使用时请替换成真实参数 + PaymentDays: 7, // 文档中对应字段:payment_days,实际使用时请替换成真实参数 + CommissionRate: 6, // 文档中对应字段:commission_rate,实际使用时请替换成真实参数 + PoolCashPledge: 182, // 文档中对应字段:pool_cash_pledge,实际使用时请替换成真实参数 + DayMaxFrozenAmount: 14684, // 文档中对应字段:day_max_frozen_amount,实际使用时请替换成真实参数 + BankPhoneNumber: "10212486702", // 文档中对应字段:bank_phone_number,实际使用时请替换成真实参数 + } + + resp, err := pay.UpdateBindPaymentService(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pay/updatePaymentService/main.go b/doc_examples/tp/pay/updatePaymentService/main.go new file mode 100644 index 0000000..34dbb98 --- /dev/null +++ b/doc_examples/tp/pay/updatePaymentService/main.go @@ -0,0 +1,42 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pay" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pay.UpdatePaymentServiceRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + AppName: "智能小程序", // 文档中对应字段:app_name,实际使用时请替换成真实参数 + ServicePhone: "14438632138", // 文档中对应字段:service_phone,实际使用时请替换成真实参数 + PoolCashPledge: 184, // 文档中对应字段:pool_cash_pledge,实际使用时请替换成真实参数 + } + + resp, err := pay.UpdatePaymentService(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pkg/getPackage/main.go b/doc_examples/tp/pkg/getPackage/main.go new file mode 100644 index 0000000..e86d27f --- /dev/null +++ b/doc_examples/tp/pkg/getPackage/main.go @@ -0,0 +1,39 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pkg" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pkg.GetPackageRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + } + + resp, err := pkg.GetPackage(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pkg/getPackageDetail/main.go b/doc_examples/tp/pkg/getPackageDetail/main.go new file mode 100644 index 0000000..2c3e9c7 --- /dev/null +++ b/doc_examples/tp/pkg/getPackageDetail/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pkg" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pkg.GetPackageDetailRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Type: 1, // 文档中对应字段:type,实际使用时请替换成真实参数 + PackageID: 0, // 文档中对应字段:package_id,实际使用时请替换成真实参数 + } + + resp, err := pkg.GetPackageDetail(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pkg/getPackageSubmitAuditQuota/main.go b/doc_examples/tp/pkg/getPackageSubmitAuditQuota/main.go new file mode 100644 index 0000000..1c5c495 --- /dev/null +++ b/doc_examples/tp/pkg/getPackageSubmitAuditQuota/main.go @@ -0,0 +1,39 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pkg" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pkg.GetPackageSubmitAuditQuotaRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + } + + resp, err := pkg.GetPackageSubmitAuditQuota(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pkg/releasePackage/main.go b/doc_examples/tp/pkg/releasePackage/main.go new file mode 100644 index 0000000..f2702f5 --- /dev/null +++ b/doc_examples/tp/pkg/releasePackage/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pkg" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pkg.ReleasePackageRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + PackageID: "1610376", // 文档中对应字段:package_id,实际使用时请替换成真实参数 + } + + resp, err := pkg.ReleasePackage(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pkg/rollbackPackage/main.go b/doc_examples/tp/pkg/rollbackPackage/main.go new file mode 100644 index 0000000..7f76d3b --- /dev/null +++ b/doc_examples/tp/pkg/rollbackPackage/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pkg" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pkg.RollbackPackageRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + PackageID: "1408003", // 文档中对应字段:package_id,实际使用时请替换成真实参数 + } + + resp, err := pkg.RollbackPackage(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pkg/submitPackageAudit/main.go b/doc_examples/tp/pkg/submitPackageAudit/main.go new file mode 100644 index 0000000..91906b1 --- /dev/null +++ b/doc_examples/tp/pkg/submitPackageAudit/main.go @@ -0,0 +1,44 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pkg" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pkg.SubmitPackageAuditRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Content: "sdk-test-content", // 文档中对应字段:content,实际使用时请替换成真实参数 + PackageID: "1605142", // 文档中对应字段:package_id,实际使用时请替换成真实参数 + Remark: "sdk-test-remark", // 文档中对应字段:remark,实际使用时请替换成真实参数 + TestAccount: "", // 文档中对应字段:test_account,实际使用时请替换成真实参数 + TestPassword: "", // 文档中对应字段:test_password,实际使用时请替换成真实参数 + } + + resp, err := pkg.SubmitPackageAudit(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pkg/uploadPackage/main.go b/doc_examples/tp/pkg/uploadPackage/main.go new file mode 100644 index 0000000..fb7316e --- /dev/null +++ b/doc_examples/tp/pkg/uploadPackage/main.go @@ -0,0 +1,45 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pkg" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pkg.UploadPackageRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + TemplateID: "11075", // 文档中对应字段:template_id,实际使用时请替换成真实参数 + ExtJSON: "{\"extEnable\":true,\"extAppid\":\"15325375\",\"directCommit\":false}", // 文档中对应字段:ext_json,实际使用时请替换成真实参数 + UserDesc: "sdk-test", // 文档中对应字段:user_desc,实际使用时请替换成真实参数 + UserVersion: "2543.26.18", // 文档中对应字段:user_version,实际使用时请替换成真实参数 + TestAccount: "account", // 文档中对应字段:test_account,实际使用时请替换成真实参数 + TestPassword: "password", // 文档中对应字段:test_password,实际使用时请替换成真实参数 + } + + resp, err := pkg.UploadPackage(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/pkg/withdrawPackageAudit/main.go b/doc_examples/tp/pkg/withdrawPackageAudit/main.go new file mode 100644 index 0000000..80ae874 --- /dev/null +++ b/doc_examples/tp/pkg/withdrawPackageAudit/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/pkg" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &pkg.WithdrawPackageAuditRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + PackageID: "1658411", // 文档中对应字段:package_id,实际使用时请替换成真实参数 + } + + resp, err := pkg.WithdrawPackageAudit(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/search/addSubChain/main.go b/doc_examples/tp/search/addSubChain/main.go new file mode 100644 index 0000000..65b23ed --- /dev/null +++ b/doc_examples/tp/search/addSubChain/main.go @@ -0,0 +1,43 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/search" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &search.AddSubChainRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + ChainName: "chainName", // 文档中对应字段:chain_name,实际使用时请替换成真实参数 + ChainDesc: "chainDesc", // 文档中对应字段:chain_desc,实际使用时请替换成真实参数 + ChainPath: "/chainPath", // 文档中对应字段:chain_path,实际使用时请替换成真实参数 + Telephone: "14463", // 文档中对应字段:telephone,实际使用时请替换成真实参数 + } + + resp, err := search.AddSubChain(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/search/bindSite/main.go b/doc_examples/tp/search/bindSite/main.go new file mode 100644 index 0000000..b21f4c0 --- /dev/null +++ b/doc_examples/tp/search/bindSite/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/search" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &search.BindSiteRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Sites: "www.baidu.com,www.baidu.com", // 文档中对应字段:sites,实际使用时请替换成真实参数 + } + + resp, err := search.BindSite(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/search/delUrlMapping/main.go b/doc_examples/tp/search/delUrlMapping/main.go new file mode 100644 index 0000000..ffc9236 --- /dev/null +++ b/doc_examples/tp/search/delUrlMapping/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/search" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &search.DelURLMappingRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + DelRuleID: 177, // 文档中对应字段:del_rule_id,实际使用时请替换成真实参数 + } + + resp, err := search.DelURLMapping(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/search/deleteSubChain/main.go b/doc_examples/tp/search/deleteSubChain/main.go new file mode 100644 index 0000000..111b60e --- /dev/null +++ b/doc_examples/tp/search/deleteSubChain/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/search" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &search.DeleteSubChainRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + SubchainID: "18842", // 文档中对应字段:subchain_id,实际使用时请替换成真实参数 + } + + resp, err := search.DeleteSubChain(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/search/getAllSubChain/main.go b/doc_examples/tp/search/getAllSubChain/main.go new file mode 100644 index 0000000..72f3107 --- /dev/null +++ b/doc_examples/tp/search/getAllSubChain/main.go @@ -0,0 +1,39 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/search" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &search.GetAllSubChainRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + } + + resp, err := search.GetAllSubChain(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/search/getBindSite/main.go b/doc_examples/tp/search/getBindSite/main.go new file mode 100644 index 0000000..b07d6d8 --- /dev/null +++ b/doc_examples/tp/search/getBindSite/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/search" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &search.GetBindSiteRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + PageNum: 1, // 文档中对应字段:page_num,实际使用时请替换成真实参数 + PageSize: 24, // 文档中对应字段:page_size,实际使用时请替换成真实参数 + } + + resp, err := search.GetBindSite(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/search/getQueryKeyword/main.go b/doc_examples/tp/search/getQueryKeyword/main.go new file mode 100644 index 0000000..602bbf4 --- /dev/null +++ b/doc_examples/tp/search/getQueryKeyword/main.go @@ -0,0 +1,43 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/search" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &search.GetQueryKeywordRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + WebURL: "/promotion/topquery/info", // 文档中对应字段:web_url,实际使用时请替换成真实参数 + TimeSpan: 7, // 文档中对应字段:time_span,实际使用时请替换成真实参数 + PageNum: 1, // 文档中对应字段:page_num,实际使用时请替换成真实参数 + PageSize: 10, // 文档中对应字段:page_size,实际使用时请替换成真实参数 + } + + resp, err := search.GetQueryKeyword(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/search/getSitemapMeta/main.go b/doc_examples/tp/search/getSitemapMeta/main.go new file mode 100644 index 0000000..f53cf6d --- /dev/null +++ b/doc_examples/tp/search/getSitemapMeta/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/search" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &search.GetSitemapMetaRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + TimeSpan: 7, // 文档中对应字段:time_span,实际使用时请替换成真实参数 + } + + resp, err := search.GetSitemapMeta(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/search/getTopQueryUrlInfo/main.go b/doc_examples/tp/search/getTopQueryUrlInfo/main.go new file mode 100644 index 0000000..93e0abc --- /dev/null +++ b/doc_examples/tp/search/getTopQueryUrlInfo/main.go @@ -0,0 +1,42 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/search" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &search.GetTopQueryURLInfoRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + TimeSpan: 7, // 文档中对应字段:time_span,实际使用时请替换成真实参数 + PageNum: 1, // 文档中对应字段:page_num,实际使用时请替换成真实参数 + PageSize: 17, // 文档中对应字段:page_size,实际使用时请替换成真实参数 + } + + resp, err := search.GetTopQueryURLInfo(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/search/getUrlMappingDetail/main.go b/doc_examples/tp/search/getUrlMappingDetail/main.go new file mode 100644 index 0000000..02134fc --- /dev/null +++ b/doc_examples/tp/search/getUrlMappingDetail/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/search" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &search.GetURLMappingDetailRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + RuleID: 161, // 文档中对应字段:rule_id,实际使用时请替换成真实参数 + } + + resp, err := search.GetURLMappingDetail(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/search/modifyWebStatus/main.go b/doc_examples/tp/search/modifyWebStatus/main.go new file mode 100644 index 0000000..79fbea6 --- /dev/null +++ b/doc_examples/tp/search/modifyWebStatus/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/search" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &search.ModifyWebStatusRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + WebStatus: 1, // 文档中对应字段:web_status,实际使用时请替换成真实参数 + } + + resp, err := search.ModifyWebStatus(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/search/queryUrlMapping/main.go b/doc_examples/tp/search/queryUrlMapping/main.go new file mode 100644 index 0000000..89610e0 --- /dev/null +++ b/doc_examples/tp/search/queryUrlMapping/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/search" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &search.QueryURLMappingRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + PageNum: 1, // 文档中对应字段:page_num,实际使用时请替换成真实参数 + PageSize: 14, // 文档中对应字段:page_size,实际使用时请替换成真实参数 + } + + resp, err := search.QueryURLMapping(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/search/rankSubChain/main.go b/doc_examples/tp/search/rankSubChain/main.go new file mode 100644 index 0000000..6d0b0a1 --- /dev/null +++ b/doc_examples/tp/search/rankSubChain/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/search" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &search.RankSubChainRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + SubchainRanklist: "1,3,5", // 文档中对应字段:subchain_ranklist,实际使用时请替换成真实参数 + } + + resp, err := search.RankSubChain(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/search/saveUrlMapping/main.go b/doc_examples/tp/search/saveUrlMapping/main.go new file mode 100644 index 0000000..4612de2 --- /dev/null +++ b/doc_examples/tp/search/saveUrlMapping/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/search" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &search.SaveURLMappingRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Content: "[{\"h2Pattern\":\"http://www.baidu.com/(d+).html\",\"appPattern\":\"/path/abc/${5}\",\"urlPairs\":[{\"h0Url\":\"http://www.baidu.com/030.html\",\"appUrl\":\"/page/abc/706\"}]}]", // 文档中对应字段:content,实际使用时请替换成真实参数 + CreateMethod: "17", // 文档中对应字段:create_method,实际使用时请替换成真实参数 + } + + resp, err := search.SaveURLMapping(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/search/startSubChain/main.go b/doc_examples/tp/search/startSubChain/main.go new file mode 100644 index 0000000..b9b96eb --- /dev/null +++ b/doc_examples/tp/search/startSubChain/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/search" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &search.StartSubChainRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + SubchainID: "140", // 文档中对应字段:subchain_id,实际使用时请替换成真实参数 + } + + resp, err := search.StartSubChain(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/search/stopSubChain/main.go b/doc_examples/tp/search/stopSubChain/main.go new file mode 100644 index 0000000..ac9cb75 --- /dev/null +++ b/doc_examples/tp/search/stopSubChain/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/search" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &search.StopSubChainRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + SubchainID: "160", // 文档中对应字段:subchain_id,实际使用时请替换成真实参数 + } + + resp, err := search.StopSubChain(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/search/submitSitemapByApi/main.go b/doc_examples/tp/search/submitSitemapByApi/main.go new file mode 100644 index 0000000..4a02c0c --- /dev/null +++ b/doc_examples/tp/search/submitSitemapByApi/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/search" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &search.SubmitSitemapByAPIRequest{ + AccessToken: "#tpToken", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Type: 0, // 文档中对应字段:type,实际使用时请替换成真实参数 + URLList: "submit/sitemap", // 文档中对应字段:url_list,实际使用时请替换成真实参数 + } + + resp, err := search.SubmitSitemapByAPI(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/search/updateSubChain/main.go b/doc_examples/tp/search/updateSubChain/main.go new file mode 100644 index 0000000..4ffdcd6 --- /dev/null +++ b/doc_examples/tp/search/updateSubChain/main.go @@ -0,0 +1,44 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/search" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &search.UpdateSubChainRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + SubchainID: "124", // 文档中对应字段:subchain_id,实际使用时请替换成真实参数 + ChainName: "chainName", // 文档中对应字段:chain_name,实际使用时请替换成真实参数 + ChainDesc: "chainDesc", // 文档中对应字段:chain_desc,实际使用时请替换成真实参数 + ChainPath: "/chainPath", // 文档中对应字段:chain_path,实际使用时请替换成真实参数 + Telephone: "13531", // 文档中对应字段:telephone,实际使用时请替换成真实参数 + } + + resp, err := search.UpdateSubChain(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/search/uploadRobotsForApp/main.go b/doc_examples/tp/search/uploadRobotsForApp/main.go new file mode 100644 index 0000000..c88442d --- /dev/null +++ b/doc_examples/tp/search/uploadRobotsForApp/main.go @@ -0,0 +1,51 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + "os" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/search" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + fileReader, err := os.Open("xxxxx") + if err != nil { + panic(err) + } + defer fileReader.Close() + + uploadRobotsForAppRequestFileVal := search.UploadRobotsForAppRequestFile{ + Name: "robots", + Reader: fileReader, + } + reqParams := &search.UploadRobotsForAppRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Robots: uploadRobotsForAppRequestFileVal, // 文档中对应字段:robots,实际使用时请替换成真实参数 + } + + resp, err := search.UploadRobotsForApp(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/search/uploadRobotsForTemplate/main.go b/doc_examples/tp/search/uploadRobotsForTemplate/main.go new file mode 100644 index 0000000..4980683 --- /dev/null +++ b/doc_examples/tp/search/uploadRobotsForTemplate/main.go @@ -0,0 +1,52 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + "os" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/search" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + fileReader, err := os.Open("xxxxx") + if err != nil { + panic(err) + } + defer fileReader.Close() + + uploadRobotsForTemplateRequestFileVal := search.UploadRobotsForTemplateRequestFile{ + Name: "robots", + Reader: fileReader, + } + reqParams := &search.UploadRobotsForTemplateRequest{ + AccessToken: "#token", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + TemplateID: 185, // 文档中对应字段:template_id,实际使用时请替换成真实参数 + Robots: uploadRobotsForTemplateRequestFileVal, // 文档中对应字段:robots,实际使用时请替换成真实参数 + } + + resp, err := search.UploadRobotsForTemplate(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/template/addToTemplate/main.go b/doc_examples/tp/template/addToTemplate/main.go new file mode 100644 index 0000000..1c5c2fe --- /dev/null +++ b/doc_examples/tp/template/addToTemplate/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/template" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &template.AddToTemplateRequest{ + AccessToken: "#tpToken", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + DraftID: "2822", // 文档中对应字段:draft_id,实际使用时请替换成真实参数 + UserDesc: "sdk-test", // 文档中对应字段:user_desc,实际使用时请替换成真实参数 + } + + resp, err := template.AddToTemplate(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/template/delTemplate/main.go b/doc_examples/tp/template/delTemplate/main.go new file mode 100644 index 0000000..43004cb --- /dev/null +++ b/doc_examples/tp/template/delTemplate/main.go @@ -0,0 +1,40 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/template" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &template.DelTemplateRequest{ + AccessToken: "#tpToken", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + TemplateID: "28837", // 文档中对应字段:template_id,实际使用时请替换成真实参数 + } + + resp, err := template.DelTemplate(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/template/getTemplateDraftList/main.go b/doc_examples/tp/template/getTemplateDraftList/main.go new file mode 100644 index 0000000..b680207 --- /dev/null +++ b/doc_examples/tp/template/getTemplateDraftList/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/template" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &template.GetTemplateDraftListRequest{ + AccessToken: "#tpToken", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Page: 1, // 文档中对应字段:page,实际使用时请替换成真实参数 + PageSize: 12, // 文档中对应字段:page_size,实际使用时请替换成真实参数 + } + + resp, err := template.GetTemplateDraftList(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/tp/template/getTemplateList/main.go b/doc_examples/tp/template/getTemplateList/main.go new file mode 100644 index 0000000..b93bffe --- /dev/null +++ b/doc_examples/tp/template/getTemplateList/main.go @@ -0,0 +1,41 @@ +// 本示例基于百度智能小程序服务端开发者 smartapp-openapi-go SDK +// 使用该示例需要首先下载该 SDK,如果是第一次使用,可使用以下命令拉取依赖 +// go get github.com/baidu/smartapp-openapi-go +// 如使用过程中遇到问题,可以加入如流群:5702992,进行反馈咨询 +package main + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/openapi/tp/template" + "github.com/baidu/smartapp-openapi-go/utils" +) + +func main() { + // 开发者在此设置请求参数,文档示例中的参数均为示例参数,实际参数请参考对应接口的文档上方的参数说明填写 + // 注意:代码示例中的参数字段基本是驼峰形式,而文档中的参数说明的参数字段基本是下划线形式 + // 如果开发者不想传非必需参数,可以将设置该参数的行注释 + reqParams := &template.GetTemplateListRequest{ + AccessToken: "#tpToken", // 文档中对应字段:access_token,实际使用时请替换成真实参数 + Page: 1, // 文档中对应字段:page,实际使用时请替换成真实参数 + PageSize: 14, // 文档中对应字段:page_size,实际使用时请替换成真实参数 + } + + resp, err := template.GetTemplateList(reqParams) + if err != nil { + if _, ok := err.(*utils.OpenAPIError); ok { + // openapi error + // 可能是 access_token 无效,可以尝试重新生成 access_token + fmt.Println("openapi error, ", err) + } else if _, ok := err.(*utils.APIError); ok { + // api error + // 可能是参数错误或没有权限,建议根据错误信息自查或者社区发帖、加群反馈 + fmt.Println("api error, ", err) + } else { + // 其他错误 + fmt.Println("others error, ", err) + } + } else { + fmt.Printf("%#v\n", resp) + } +} diff --git a/doc_examples/updateCouponBanner/main.go b/doc_examples/updateCouponBanner/main.go index 6d13e0a..11d80d8 100644 --- a/doc_examples/updateCouponBanner/main.go +++ b/doc_examples/updateCouponBanner/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/updateOrderInfo/main.go b/doc_examples/updateOrderInfo/main.go index 0800e34..62c27d7 100644 --- a/doc_examples/updateOrderInfo/main.go +++ b/doc_examples/updateOrderInfo/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/updateOrderStatus/main.go b/doc_examples/updateOrderStatus/main.go index 3a9e692..01e7ae5 100644 --- a/doc_examples/updateOrderStatus/main.go +++ b/doc_examples/updateOrderStatus/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/updateOrderSubInfo/main.go b/doc_examples/updateOrderSubInfo/main.go index aa8de10..adeab0a 100644 --- a/doc_examples/updateOrderSubInfo/main.go +++ b/doc_examples/updateOrderSubInfo/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/updateOrderSubStatus/main.go b/doc_examples/updateOrderSubStatus/main.go index be87732..f8fa0d7 100644 --- a/doc_examples/updateOrderSubStatus/main.go +++ b/doc_examples/updateOrderSubStatus/main.go @@ -7,7 +7,6 @@ package main import ( "fmt" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/doc_examples/uploadCouponImage/main.go b/doc_examples/uploadCouponImage/main.go index 6e699e2..ca2c254 100644 --- a/doc_examples/uploadCouponImage/main.go +++ b/doc_examples/uploadCouponImage/main.go @@ -8,7 +8,6 @@ import ( "fmt" "os" - // github.com/baidu/smartapp-openapi-go/openapi 为示例项目名,实际使用时需要替换为实际的项目名 "github.com/baidu/smartapp-openapi-go/openapi" ) diff --git a/openapi/tp/analysis/getAnalysisActivityUser.go b/openapi/tp/analysis/getAnalysisActivityUser.go new file mode 100644 index 0000000..69ac34b --- /dev/null +++ b/openapi/tp/analysis/getAnalysisActivityUser.go @@ -0,0 +1,100 @@ +package analysis + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetAnalysisActivityUserRequest 请求结构体 +type GetAnalysisActivityUserRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + StartIndex int64 // 数据偏移位置,接口默认返回 20 条数据,可使用该偏移量进行翻页查看 + StartDate string // 开始日期:20190410 + EndDate string // 结束日期:20190415 +} + +// 响应结构体 + +type GetAnalysisActivityUserResponsedatasum struct { + AccumulativeUserCount interface{} `json:"accumulative_user_count"` // 累计启动用户,累计启动过小程序的用户数量(多次启动不重复计) + DailyActivityDegree interface{} `json:"daily_activity_degree"` // 日活跃度,当日启动用户/ 累计用户 + DayMonthActivityDegree interface{} `json:"day_month_activity_degree"` // 日活/月活,日启动用户数/月启动用户数,反映当日用户活跃与近30日的比较水平 + LostRatio interface{} `json:"lost_ratio"` // 流失率,流失用户/累计用户 + LostUserCount interface{} `json:"lost_user_count"` // 流失用户,最近60天(含查询当日)没有启动过小程序的用户(已去重) + MonthlyActivityDegree interface{} `json:"monthly_activity_degree"` // 月活跃度,月活跃用户/累计用户 + MonthlyUserCount interface{} `json:"monthly_user_count"` // 月活跃用户,最近30天(含查询当日)启动过小程序的用户数(多次启动不重复计) + UserCount interface{} `json:"user_count"` // 启动用户,启动过小程序的用户数(多次启动不重复计) + WeeklyActivityDegree interface{} `json:"weekly_activity_degree"` // 周活跃度,周活跃用户/累计用户 + WeeklyUserCount interface{} `json:"weekly_user_count"` // 周活跃用户,最近7天(含查询当日)启动过小程序的用户数(多次启动不重复计) +} + +type GetAnalysisActivityUserResponsedatadataListItem struct { + AccumulativeUserCount interface{} `json:"accumulative_user_count"` // 累计启动用户,累计启动过小程序的用户数量(多次启动不重复计) + DailyActivityDegree interface{} `json:"daily_activity_degree"` // 日活跃度,当日启动用户/ 累计用户 + DayMonthActivityDegree interface{} `json:"day_month_activity_degree"` // 日活/月活,日启动用户数/月启动用户数,反映当日用户活跃与近30日的比较水平 + LostRatio interface{} `json:"lost_ratio"` // 流失率,流失用户/累计用户 + LostUserCount interface{} `json:"lost_user_count"` // 流失用户,最近60天(含查询当日)没有启动过小程序的用户(已去重) + MonthlyActivityDegree interface{} `json:"monthly_activity_degree"` // 月活跃度,月活跃用户/累计用户 + MonthlyUserCount interface{} `json:"monthly_user_count"` // 月活跃用户,最近30天(含查询当日)启动过小程序的用户数(多次启动不重复计) + Name interface{} `json:"name"` // + UserCount interface{} `json:"user_count"` // 启动用户,启动过小程序的用户数(多次启动不重复计) + WeeklyActivityDegree interface{} `json:"weekly_activity_degree"` // 周活跃度,周活跃用户/累计用户 + WeeklyUserCount interface{} `json:"weekly_user_count"` // 周活跃用户,最近7天(含查询当日)启动过小程序的用户数(多次启动不重复计) +} + +type GetAnalysisActivityUserResponsedata struct { + DataList []GetAnalysisActivityUserResponsedatadataListItem `json:"data_list"` // 数据列表(指标内容) + Offset int64 `json:"offset"` // 数据偏移位置 + Sum GetAnalysisActivityUserResponsedatasum `json:"sum"` // 数据综合(指标内容) + TimeSpan string `json:"time_span"` // 时间范围 + Total int64 `json:"total"` // 数据量 +} + +type GetAnalysisActivityUserResponse struct { + Data GetAnalysisActivityUserResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetAnalysisActivityUser +func GetAnalysisActivityUser(params *GetAnalysisActivityUserRequest) (*GetAnalysisActivityUserResponsedata, error) { + var ( + err error + defaultRet *GetAnalysisActivityUserResponsedata + ) + respData := &GetAnalysisActivityUserResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/data/getanalysisactivityuser") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("start_index", fmt.Sprintf("%v", params.StartIndex)) + client.AddPostParam("start_date", params.StartDate) + client.AddPostParam("end_date", params.EndDate) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/analysis/getAnalysisRegion.go b/openapi/tp/analysis/getAnalysisRegion.go new file mode 100644 index 0000000..6731d1b --- /dev/null +++ b/openapi/tp/analysis/getAnalysisRegion.go @@ -0,0 +1,90 @@ +package analysis + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetAnalysisRegionRequest 请求结构体 +type GetAnalysisRegionRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + StartIndex int64 // 数据偏移位置,接口默认返回 20 条数据,可使用该偏移量进行翻页查看 + StartDate string // 开始日期:20190410 + EndDate string // 结束日期:20190415 +} + +// 响应结构体 + +type GetAnalysisRegionResponsedatasum struct { + AverageSessionTimeDistrict interface{} `json:"average_session_time_district"` // 次均使用时长,该地域内的用户平均每一次使用应用程序(session)的时间 + NewUserCountDistrictRatio interface{} `json:"new_user_count_district_ratio"` // 新用户分布,该地域的新用户数占全地域的新用户之和的比例 + SessionCountDistrict interface{} `json:"session_count_district"` // 启动次数,该地域用户的启动次数 + SessionCountDistrictRatio interface{} `json:"session_count_district_ratio"` // 启动次数比例分布,该地域用户的启动次数占全地域用户的启动次数之和的比例 + UserCountDistrictRatio interface{} `json:"user_count_district_ratio"` // 启动用户分布,该地域的启动用户数占全地域的启动用户(跨地域不去重)的比例 +} + +type GetAnalysisRegionResponsedatadataListItem struct { + AverageSessionTimeDistrict interface{} `json:"average_session_time_district"` // 次均使用时长,该地域内的用户平均每一次使用应用程序(session)的时间 + Name interface{} `json:"name"` // + NewUserCountDistrictRatio interface{} `json:"new_user_count_district_ratio"` // 新用户分布,该地域的新用户数占全地域的新用户之和的比例 + SessionCountDistrict interface{} `json:"session_count_district"` // 启动次数,该地域用户的启动次数 + SessionCountDistrictRatio interface{} `json:"session_count_district_ratio"` // 启动次数比例分布,该地域用户的启动次数占全地域用户的启动次数之和的比例 + UserCountDistrictRatio interface{} `json:"user_count_district_ratio"` // 启动用户分布,该地域的启动用户数占全地域的启动用户(跨地域不去重)的比例 +} + +type GetAnalysisRegionResponsedata struct { + DataList []GetAnalysisRegionResponsedatadataListItem `json:"data_list"` // 数据列表(指标内容) + Offset int64 `json:"offset"` // 数据偏移位置 + Sum GetAnalysisRegionResponsedatasum `json:"sum"` // 数据综合(指标内容) + TimeSpan string `json:"time_span"` // 时间范围 + Total int64 `json:"total"` // 数据量 +} + +type GetAnalysisRegionResponse struct { + Data GetAnalysisRegionResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetAnalysisRegion +func GetAnalysisRegion(params *GetAnalysisRegionRequest) (*GetAnalysisRegionResponsedata, error) { + var ( + err error + defaultRet *GetAnalysisRegionResponsedata + ) + respData := &GetAnalysisRegionResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/data/getanalysisregion") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("start_index", fmt.Sprintf("%v", params.StartIndex)) + client.AddPostParam("start_date", params.StartDate) + client.AddPostParam("end_date", params.EndDate) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/analysis/getAnalysisRetainedUser.go b/openapi/tp/analysis/getAnalysisRetainedUser.go new file mode 100644 index 0000000..4d812ee --- /dev/null +++ b/openapi/tp/analysis/getAnalysisRetainedUser.go @@ -0,0 +1,83 @@ +package analysis + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetAnalysisRetainedUserRequest 请求结构体 +type GetAnalysisRetainedUserRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + ReportType string // 报告数据类型:可选count数量类型、ratio比率类型,决定返回的指标内容 + StartIndex int64 // 数据偏移位置,接口默认返回 20 条数据,可使用该偏移量进行翻页查看 + StartDate string // 开始日期:20190410 + EndDate string // 结束日期:20190415 + Gran string // 数据粒度:day/week/month +} + +// 响应结构体 + +type GetAnalysisRetainedUserResponsedatasum struct { + ActiveUserCount interface{} `json:"active_user_count"` // 活跃用户数量,某日(周、月)启动过小程序的用户数(多次启动不重复计) + RetainedRatio interface{} `json:"retained_ratio"` // 留存用户率,留存用户数占新用户数的比例 + RetainedUserCount interface{} `json:"retained_user_count"` // 留存用户数量,某日(周、月)新用户(或启动用户)在目标时间段再次启动小程序的用户数 +} + +type GetAnalysisRetainedUserResponsedata struct { + DataList []map[string]interface{} `json:"data_list"` // 数据列表(指标内容) + Offset int64 `json:"offset"` // 数据偏移位置 + Sum GetAnalysisRetainedUserResponsedatasum `json:"sum"` // 数据综合(指标内容) + TimeSpan string `json:"time_span"` // 时间范围 + Total int64 `json:"total"` // 数据量 +} + +type GetAnalysisRetainedUserResponse struct { + Data GetAnalysisRetainedUserResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetAnalysisRetainedUser +func GetAnalysisRetainedUser(params *GetAnalysisRetainedUserRequest) (*GetAnalysisRetainedUserResponsedata, error) { + var ( + err error + defaultRet *GetAnalysisRetainedUserResponsedata + ) + respData := &GetAnalysisRetainedUserResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/data/getanalysisretaineduser") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("report_type", params.ReportType) + client.AddPostParam("start_index", fmt.Sprintf("%v", params.StartIndex)) + client.AddPostParam("start_date", params.StartDate) + client.AddPostParam("end_date", params.EndDate) + client.AddPostParam("gran", params.Gran) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/analysis/getAnalysisSourceInfo.go b/openapi/tp/analysis/getAnalysisSourceInfo.go new file mode 100644 index 0000000..6669589 --- /dev/null +++ b/openapi/tp/analysis/getAnalysisSourceInfo.go @@ -0,0 +1,83 @@ +package analysis + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetAnalysisSourceInfoRequest 请求结构体 +type GetAnalysisSourceInfoRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + StartIndex int64 // 数据偏移位置,接口默认返回 20 条数据,可使用该偏移量进行翻页查看 + StartDate string // 开始日期:20190410 + EndDate string // 结束日期:20190415 +} + +// 响应结构体 + +type GetAnalysisSourceInfoResponsedatadataListItem struct { + AverageSessionTime interface{} `json:"average_session_time"` // 次均使用时长,平均每一次启动小程序的时间,等于总时长/总启动次数 + Name interface{} `json:"name"` // + NewUserCount interface{} `json:"new_user_count"` // 新用户数,90天内首次启动小程序的用户数 + NewUserScale interface{} `json:"new_user_scale"` // 新用户分布,某来源的新用户数占全来源的新用户总数的比例 + SessionCountPerUser interface{} `json:"session_count_per_user"` // 人均启动次数,小程序累计启动次数/启动用户数 + SessionScale interface{} `json:"session_scale"` // 启动次数分布,某来源的启动次数占同一层级来源的启动次数总和的比例 + UserCount interface{} `json:"user_count"` // 启动用户数,启动过小程序的用户(多次启动不重复计) + UserScale interface{} `json:"user_scale"` // 启动用户分布,某来源的启动用户数占全来源的启动用户总数的比例 +} + +type GetAnalysisSourceInfoResponsedata struct { + DataList []GetAnalysisSourceInfoResponsedatadataListItem `json:"data_list"` // 数据综合(指标内容) + Offset int64 `json:"offset"` // 数据偏移位置 + TimeSpan string `json:"time_span"` // 时间范围 + Total int64 `json:"total"` // 数据量 +} + +type GetAnalysisSourceInfoResponse struct { + Data GetAnalysisSourceInfoResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetAnalysisSourceInfo +func GetAnalysisSourceInfo(params *GetAnalysisSourceInfoRequest) (*GetAnalysisSourceInfoResponsedata, error) { + var ( + err error + defaultRet *GetAnalysisSourceInfoResponsedata + ) + respData := &GetAnalysisSourceInfoResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/data/getanalysissource") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("start_index", fmt.Sprintf("%v", params.StartIndex)) + client.AddPostParam("start_date", params.StartDate) + client.AddPostParam("end_date", params.EndDate) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/analysis/getAnalysisTerminalInfo.go b/openapi/tp/analysis/getAnalysisTerminalInfo.go new file mode 100644 index 0000000..3ce2a62 --- /dev/null +++ b/openapi/tp/analysis/getAnalysisTerminalInfo.go @@ -0,0 +1,92 @@ +package analysis + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetAnalysisTerminalInfoRequest 请求结构体 +type GetAnalysisTerminalInfoRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + TerminalType string // 终端数据类型 + StartIndex int64 // 数据偏移位置,接口默认返回 20 条数据,可使用该偏移量进行翻页查看 + StartDate string // 开始日期:20190410 + EndDate string // 结束日期:20190415 +} + +// 响应结构体 + +type GetAnalysisTerminalInfoResponsedatasum struct { + AccumulativeNewUserCountRatio interface{} `json:"accumulative_new_user_count_ratio"` // 新用户分布,该品牌(或设备型号、操作系统、分辨率、联网方式)的新用户数占所有品牌(或设备型号、操作系统、分辨率、联网方式)新用户之和的比例 + AccumulativeSessionCount interface{} `json:"accumulative_session_count"` // 启动次数,该品牌(或设备型号、操作系统、分辨率、联网方式)的启动次数 + AccumulativeSessionCountRatio interface{} `json:"accumulative_session_count_ratio"` // 启动次数比例分布,该品牌(或设备型号、操作系统、分辨率、联网方式)的启动次数占所有品牌(或设备型号、操作系统、分辨率、联网方式)启动次数之和的比例 + AccumulativeUserCountRatio interface{} `json:"accumulative_user_count_ratio"` // 启动用户分布,该品牌(或设备型号、操作系统、分辨率、联网方式)的启动用户数占所有品牌(或设备型号、操作系统、分辨率、联网方式)启动用户之和(不去重)的比例 + AverageUseTime interface{} `json:"average_use_time"` // 次均使用时长,平均每一次启动小程序的时间,等于总时长/总启动次数 +} + +type GetAnalysisTerminalInfoResponsedatadataListItem struct { + AccumulativeNewUserCountRatio interface{} `json:"accumulative_new_user_count_ratio"` // 新用户分布,该品牌(或设备型号、操作系统、分辨率、联网方式)的新用户数占所有品牌(或设备型号、操作系统、分辨率、联网方式)新用户之和的比例 + AccumulativeSessionCount interface{} `json:"accumulative_session_count"` // 启动次数,该品牌(或设备型号、操作系统、分辨率、联网方式)的启动次数 + AccumulativeSessionCountRatio interface{} `json:"accumulative_session_count_ratio"` // 启动次数比例分布,该品牌(或设备型号、操作系统、分辨率、联网方式)的启动次数占所有品牌(或设备型号、操作系统、分辨率、联网方式)启动次数之和的比例 + AccumulativeUserCountRatio interface{} `json:"accumulative_user_count_ratio"` // 启动用户分布,该品牌(或设备型号、操作系统、分辨率、联网方式)的启动用户数占所有品牌(或设备型号、操作系统、分辨率、联网方式)启动用户之和(不去重)的比例 + AverageUseTime interface{} `json:"average_use_time"` // 次均使用时长,平均每一次启动小程序的时间,等于总时长/总启动次数 + Name interface{} `json:"name"` // +} + +type GetAnalysisTerminalInfoResponsedata struct { + DataList []GetAnalysisTerminalInfoResponsedatadataListItem `json:"data_list"` // 数据列表(指标内容) + Offset int64 `json:"offset"` // 数据偏移位置 + Sum GetAnalysisTerminalInfoResponsedatasum `json:"sum"` // 数据综合(指标内容) + TimeSpan string `json:"time_span"` // 时间范围 + Total int64 `json:"total"` // 数据量 +} + +type GetAnalysisTerminalInfoResponse struct { + Data GetAnalysisTerminalInfoResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetAnalysisTerminalInfo +func GetAnalysisTerminalInfo(params *GetAnalysisTerminalInfoRequest) (*GetAnalysisTerminalInfoResponsedata, error) { + var ( + err error + defaultRet *GetAnalysisTerminalInfoResponsedata + ) + respData := &GetAnalysisTerminalInfoResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/data/getanalysisterminal") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("terminal_type", params.TerminalType) + client.AddPostParam("start_index", fmt.Sprintf("%v", params.StartIndex)) + client.AddPostParam("start_date", params.StartDate) + client.AddPostParam("end_date", params.EndDate) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/analysis/getAnalysisUserTrend.go b/openapi/tp/analysis/getAnalysisUserTrend.go new file mode 100644 index 0000000..994345f --- /dev/null +++ b/openapi/tp/analysis/getAnalysisUserTrend.go @@ -0,0 +1,98 @@ +package analysis + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetAnalysisUserTrendRequest 请求结构体 +type GetAnalysisUserTrendRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + StartIndex int64 // 数据偏移位置,接口默认返回 20 条数据,可使用该偏移量进行翻页查看 + StartDate string // 开始日期:20190410 + EndDate string // 结束日期:20190415 + Gran string // 数据粒度:day/hour/week/month +} + +// 响应结构体 + +type GetAnalysisUserTrendResponsedatasum struct { + AverageSessionTime interface{} `json:"average_session_time"` // 次均使用时长,平均每一次启动小程序的时间,等于总时长/总启动次数 + NewUserCount interface{} `json:"new_user_count"` // 新用户数,当日首次启动小程序的用户数 + NewUserRatio interface{} `json:"new_user_ratio"` // 新用户占比,新用户数占启动用户总数的比例 + OldUserCount interface{} `json:"old_user_count"` // 老用户数,当日启动用户中,以前也启动过小程序的用户 + OldUserRatio interface{} `json:"old_user_ratio"` // 老用户占比,当日老用户占总的启动用户的比例 + SessionCount interface{} `json:"session_count"` // 启动次数,启动小程序的总次数。"一次启动"是指用户打开小程序到主动退出(或超时退出)为止。 + SessionTimePerPerson interface{} `json:"session_time_per_person"` // 人均使用时长,平均每个用户使用应用程序的时间,等于总时长/总启动用户数 + UserCount interface{} `json:"user_count"` // 启动用户,启动过小程序的用户数(多次启动不重复计) +} + +type GetAnalysisUserTrendResponsedatadataListItem struct { + AverageSessionTime interface{} `json:"average_session_time"` // 次均使用时长,平均每一次启动小程序的时间,等于总时长/总启动次数 + Name interface{} `json:"name"` // + NewUserCount interface{} `json:"new_user_count"` // 新用户数,当日首次启动小程序的用户数 + NewUserRatio interface{} `json:"new_user_ratio"` // 新用户占比,新用户数占启动用户总数的比例 + OldUserCount interface{} `json:"old_user_count"` // 老用户数,当日启动用户中,以前也启动过小程序的用户 + OldUserRatio interface{} `json:"old_user_ratio"` // 老用户占比,当日老用户占总的启动用户的比例 + SessionCount interface{} `json:"session_count"` // 启动次数,启动小程序的总次数。"一次启动"是指用户打开小程序到主动退出(或超时退出)为止。 + SessionTimePerPerson interface{} `json:"session_time_per_person"` // 人均使用时长,平均每个用户使用应用程序的时间,等于总时长/总启动用户数 + UserCount interface{} `json:"user_count"` // 启动用户,启动过小程序的用户数(多次启动不重复计) +} + +type GetAnalysisUserTrendResponsedata struct { + DataList []GetAnalysisUserTrendResponsedatadataListItem `json:"data_list"` // 数据列表(指标内容) + Offset int64 `json:"offset"` // 数据偏移位置 + Sum GetAnalysisUserTrendResponsedatasum `json:"sum"` // 数据综合(指标内容) + TimeSpan string `json:"time_span"` // 时间范围 + Total int64 `json:"total"` // 数据量 +} + +type GetAnalysisUserTrendResponse struct { + Data GetAnalysisUserTrendResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetAnalysisUserTrend +func GetAnalysisUserTrend(params *GetAnalysisUserTrendRequest) (*GetAnalysisUserTrendResponsedata, error) { + var ( + err error + defaultRet *GetAnalysisUserTrendResponsedata + ) + respData := &GetAnalysisUserTrendResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/data/getanalysisusertrend") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("start_index", fmt.Sprintf("%v", params.StartIndex)) + client.AddPostParam("start_date", params.StartDate) + client.AddPostParam("end_date", params.EndDate) + client.AddPostParam("gran", params.Gran) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/analysis/getAnalysisVisitAttribute.go b/openapi/tp/analysis/getAnalysisVisitAttribute.go new file mode 100644 index 0000000..5300143 --- /dev/null +++ b/openapi/tp/analysis/getAnalysisVisitAttribute.go @@ -0,0 +1,89 @@ +package analysis + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetAnalysisVisitAttributeRequest 请求结构体 +type GetAnalysisVisitAttributeRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + StartDate string // 开始日期:20190410 + EndDate string // 结束日期:20190415 +} + +// 响应结构体 + +type GetAnalysisVisitAttributeResponsedatadataListItemageItem struct { + AttributeID interface{} `json:"attribute_id"` // + CountRatio interface{} `json:"count_ratio"` // + Name interface{} `json:"name"` // +} + +type GetAnalysisVisitAttributeResponsedatadataListItemsexItem struct { + AttributeID interface{} `json:"attribute_id"` // + CountRatio interface{} `json:"count_ratio"` // + Name interface{} `json:"name"` // +} + +type GetAnalysisVisitAttributeResponsedatadataListIteminterestItem struct { + AttributeID interface{} `json:"attribute_id"` // + CountRatio interface{} `json:"count_ratio"` // + Name interface{} `json:"name"` // +} + +type GetAnalysisVisitAttributeResponsedatadataListItem struct { + Age []GetAnalysisVisitAttributeResponsedatadataListItemageItem `json:"age"` // 年龄分布 + Interest []GetAnalysisVisitAttributeResponsedatadataListIteminterestItem `json:"interest"` // 兴趣分布 + Sex []GetAnalysisVisitAttributeResponsedatadataListItemsexItem `json:"sex"` // 年龄分布 +} + +type GetAnalysisVisitAttributeResponsedata struct { + DataList []GetAnalysisVisitAttributeResponsedatadataListItem `json:"data_list"` // +} + +type GetAnalysisVisitAttributeResponse struct { + Data GetAnalysisVisitAttributeResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetAnalysisVisitAttribute +func GetAnalysisVisitAttribute(params *GetAnalysisVisitAttributeRequest) (*GetAnalysisVisitAttributeResponsedata, error) { + var ( + err error + defaultRet *GetAnalysisVisitAttributeResponsedata + ) + respData := &GetAnalysisVisitAttributeResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/data/getanalysisvisitattribute") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("start_date", params.StartDate) + client.AddPostParam("end_date", params.EndDate) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/analysis/getAnalysisVisitCharacter.go b/openapi/tp/analysis/getAnalysisVisitCharacter.go new file mode 100644 index 0000000..8033b08 --- /dev/null +++ b/openapi/tp/analysis/getAnalysisVisitCharacter.go @@ -0,0 +1,82 @@ +package analysis + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetAnalysisVisitCharacterRequest 请求结构体 +type GetAnalysisVisitCharacterRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + CharacterType string // 习惯分类:depth/time/interval/frequency + StartIndex int64 // 数据偏移位置,接口默认返回 20 条数据,可使用该偏移量进行翻页查看 + StartDate string // 开始日期:20190410 + EndDate string // 结束日期:20190415 +} + +// 响应结构体 + +type GetAnalysisVisitCharacterResponsedatasum struct { + SessionCount interface{} `json:"session_count"` // 启动用户数,启动过小程序的用户(多次启动不重复计) + SessionCountRatio interface{} `json:"session_count_ratio"` // 启动用户数量比例,当前类型启动过小程序的用户在所有类型启动过小程序用户的比率。 + UserCount interface{} `json:"user_count"` // 启动用户数 (character_type为frequency返回的指标),启动过小程序的用户(多次启动不重复计) + UserCountRatio interface{} `json:"user_count_ratio"` // 启动用户分布(character_type为frequency返回的指标),当前类型启动过小程序的用户在所有类型启动过小程序用户的比率。 +} + +type GetAnalysisVisitCharacterResponsedata struct { + DataList []map[string]interface{} `json:"data_list"` // 数据列表(指标内容) + Offset int64 `json:"offset"` // 数据偏移位置 + Sum GetAnalysisVisitCharacterResponsedatasum `json:"sum"` // 数据综合(指标内容) + TimeSpan string `json:"time_span"` // 时间范围 + Total int64 `json:"total"` // 数据量 +} + +type GetAnalysisVisitCharacterResponse struct { + Data GetAnalysisVisitCharacterResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetAnalysisVisitCharacter +func GetAnalysisVisitCharacter(params *GetAnalysisVisitCharacterRequest) (*GetAnalysisVisitCharacterResponsedata, error) { + var ( + err error + defaultRet *GetAnalysisVisitCharacterResponsedata + ) + respData := &GetAnalysisVisitCharacterResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/data/getanalysisvisitcharacter") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("character_type", params.CharacterType) + client.AddPostParam("start_index", fmt.Sprintf("%v", params.StartIndex)) + client.AddPostParam("start_date", params.StartDate) + client.AddPostParam("end_date", params.EndDate) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/analysis/getAnalysisVisitPage.go b/openapi/tp/analysis/getAnalysisVisitPage.go new file mode 100644 index 0000000..190fc70 --- /dev/null +++ b/openapi/tp/analysis/getAnalysisVisitPage.go @@ -0,0 +1,98 @@ +package analysis + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetAnalysisVisitPageRequest 请求结构体 +type GetAnalysisVisitPageRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + StartIndex int64 // 数据偏移位置,接口默认返回 20 条数据,可使用该偏移量进行翻页查看 + StartDate string // 开始日期:20190410 + EndDate string // 结束日期:20190415 +} + +// 响应结构体 + +type GetAnalysisVisitPageResponsedatasum struct { + AverageStayTime interface{} `json:"average_stay_time"` // 次均访问时长,用户访问当前页面的次均访问时间 + BounceRatio interface{} `json:"bounce_ratio"` // 退出率,用户从当前页面离开小程序的比例 + EntryCount interface{} `json:"entry_count"` // 入口页次数,该页面作为启动小程序时第一个访问的页面的启动次数 + ExitCount interface{} `json:"exit_count"` // 退出页次数,该页面作为关闭小程序时最后一个访问的页面的启动次数 + PvCount interface{} `json:"pv_count"` // 页面访问次数,页面被访问的次数,多次跳转重复访问也会被计入 + PvRatio interface{} `json:"pv_ratio"` // 访问次数占比,当前页面访问次数占全部页面访问次数的比例 + PvUserCount interface{} `json:"pv_user_count"` // 访问用户数,访问当前页面的总用户数 + StayTimeRatio interface{} `json:"stay_time_ratio"` // 访问时长占比,用户访问当前页面的访问时长的总和占用户在全部页面的访问时长总和的比例 +} + +type GetAnalysisVisitPageResponsedatadataListItem struct { + AverageStayTime interface{} `json:"average_stay_time"` // 次均访问时长,用户访问当前页面的次均访问时间 + BounceRatio interface{} `json:"bounce_ratio"` // 退出率,用户从当前页面离开小程序的比例 + EntryCount interface{} `json:"entry_count"` // 入口页次数,该页面作为启动小程序时第一个访问的页面的启动次数 + ExitCount interface{} `json:"exit_count"` // 退出页次数,该页面作为关闭小程序时最后一个访问的页面的启动次数 + PageAlias interface{} `json:"pageAlias"` // + PageID interface{} `json:"pageId"` // + PageName interface{} `json:"pageName"` // + PvCount interface{} `json:"pv_count"` // 页面访问次数,页面被访问的次数,多次跳转重复访问也会被计入 + PvRatio interface{} `json:"pv_ratio"` // 访问次数占比,当前页面访问次数占全部页面访问次数的比例 + PvUserCount interface{} `json:"pv_user_count"` // 访问用户数,访问当前页面的总用户数 + StayTimeRatio interface{} `json:"stay_time_ratio"` // 访问时长占比,用户访问当前页面的访问时长的总和占用户在全部页面的访问时长总和的比例 +} + +type GetAnalysisVisitPageResponsedata struct { + DataList []GetAnalysisVisitPageResponsedatadataListItem `json:"data_list"` // 数据列表(指标内容) + Offset int64 `json:"offset"` // 数据偏移位置 + Sum GetAnalysisVisitPageResponsedatasum `json:"sum"` // 数据综合(指标内容) + TimeSpan string `json:"time_span"` // 时间范围 + Total int64 `json:"total"` // 数据量 +} + +type GetAnalysisVisitPageResponse struct { + Data GetAnalysisVisitPageResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetAnalysisVisitPage +func GetAnalysisVisitPage(params *GetAnalysisVisitPageRequest) (*GetAnalysisVisitPageResponsedata, error) { + var ( + err error + defaultRet *GetAnalysisVisitPageResponsedata + ) + respData := &GetAnalysisVisitPageResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/data/getanalysisvisitpage") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("start_index", fmt.Sprintf("%v", params.StartIndex)) + client.AddPostParam("start_date", params.StartDate) + client.AddPostParam("end_date", params.EndDate) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/analysis/getData.go b/openapi/tp/analysis/getData.go new file mode 100644 index 0000000..efd4148 --- /dev/null +++ b/openapi/tp/analysis/getData.go @@ -0,0 +1,97 @@ +package analysis + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetDataRequest 请求结构体 +type GetDataRequest struct { + AccessToken string // 第三方平台的接口调用凭据 + Scene interface{} // 小程序来源ID (场景值) 。不传则查询所有场景,场景值参数参考:百度APP 场景值 + Metrics string // 指标以逗号分隔 + StartDate string // 起始时间戳,格式如 20190321 + EndDate string // 结束时间戳,格式如 20190325 + StartIndex interface{} // 偏移量,默认为0(分页操作从第几条开始展示) + MaxResults interface{} // 页面大小,默认值20(分页操作查询条数) +} + +// 响应结构体 + +type GetDataResponsedataresultItem struct { + Date string `json:"date"` // 日期 + TpActivityDegree string `json:"tp_activity_degree "` // 小程序活跃度 + TpDayAppCount string `json:"tp_day_app_count "` // 当日小程序数量 + TpDayBackFlowCount string `json:"tp_day_back_flow_count"` // 回流次数 + TpDayNewUserCount string `json:"tp_day_new_user_count"` // 当日启动新用户数 + TpDayPageCount string `json:"tp_day_page_count"` // 当日页面访问次数 + TpDaySessionCount string `json:"tp_day_session_count"` // 当日启动次数 + TpDayShareCount string `json:"tp_day_share_count"` // 分享次数 + TpDayUserCount string `json:"tp_day_user_count "` // 当日启动用户数 + TpMonthAppCount string `json:"tp_month_app_count"` // 近30日小程序数量 + TpMonthNewUserCount string `json:"tp_month_new_user_count"` // 近30日启动新用户数 + TpMonthSessionCount string `json:"tp_month_session_count"` // 近30日启动次数 + TpMonthUserCount string `json:"tp_month_user_count "` // 近30日启动用户数 + TpSessionTimePerDay string `json:"tp_session_time_per_day"` // 当日次均使用时长 + TpSessionTimePerPerson string `json:"tp_session_time_per_person"` // 当日人均使用时长 + TpWeekAppCount string `json:"tp_week_app_count"` // 近7日小程序数量 + TpWeekNewUserCount string `json:"tp_week_new_user_count"` // 近7日启动新用户数 + TpWeekSessionCount string `json:"tp_week_session_count "` // 近7日启动次数 + TpWeekUserCount string `json:"tp_week_user_count "` // 近7日启动用户数 +} + +type GetDataResponsedata struct { + Offset int64 `json:"offset"` // 数据偏移位置 + Result []GetDataResponsedataresultItem `json:"result"` // + Total int64 `json:"total"` // 数据量 +} + +type GetDataResponse struct { + Data GetDataResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetData +func GetData(params *GetDataRequest) (*GetDataResponsedata, error) { + var ( + err error + defaultRet *GetDataResponsedata + ) + respData := &GetDataResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/data/gettpdata") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("scene", params.Scene) + client.AddGetParam("metrics", params.Metrics) + client.AddGetParam("start_date", params.StartDate) + client.AddGetParam("end_date", params.EndDate) + client.AddGetParam("start_index", params.StartIndex) + client.AddGetParam("max_results", params.MaxResults) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/app/checkAppNickName.go b/openapi/tp/app/checkAppNickName.go new file mode 100644 index 0000000..883288e --- /dev/null +++ b/openapi/tp/app/checkAppNickName.go @@ -0,0 +1,68 @@ +package app + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// CheckAppNickNameRequest 请求结构体 +type CheckAppNickNameRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + AppName string // 小程序名字 + QualMaterials interface{} // 如果小程序名称包含品牌词,需要上传品牌资质证明。 +} + +// 响应结构体 + +type CheckAppNickNameResponsedata struct { + CheckResult int64 `json:"checkResult"` // 检测结果码 + CheckWords []string `json:"checkWords"` // 命中关键词 + OptionalFields []int64 `json:"optionalFields"` // 当前名称可上传的资质字段(qual_materials参数) + RequiredFields []int64 `json:"requiredFields"` // 当前名称必须要上传的资质字段(qual_materials参数) +} + +type CheckAppNickNameResponse struct { + Data CheckAppNickNameResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// CheckAppNickName +func CheckAppNickName(params *CheckAppNickNameRequest) (*CheckAppNickNameResponsedata, error) { + var ( + err error + defaultRet *CheckAppNickNameResponsedata + ) + respData := &CheckAppNickNameResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/app/checknamewithqual") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("app_name", params.AppName) + client.AddGetParam("qual_materials", params.QualMaterials) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/app/controlAppFlow.go b/openapi/tp/app/controlAppFlow.go new file mode 100644 index 0000000..4c734c9 --- /dev/null +++ b/openapi/tp/app/controlAppFlow.go @@ -0,0 +1,66 @@ +package app + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// ControlAppFlowRequest 请求结构体 +type ControlAppFlowRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + Type int64 // 流量下线开关状态,1:开启流量,2:下线流量 +} + +// 响应结构体 + +type ControlAppFlowResponse struct { + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 + Data ControlAppFlowResponsedata +} + +type ControlAppFlowResponsedata struct { + Errno int64 `json:"errno"` // 状态码 + Msg string `json:"msg"` // 状态描述 +} + +// ControlAppFlow +func ControlAppFlow(params *ControlAppFlowRequest) (*ControlAppFlowResponsedata, error) { + var ( + err error + defaultRet *ControlAppFlowResponsedata + ) + respData := &ControlAppFlowResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/appflow/control") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("type", fmt.Sprintf("%v", params.Type)) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/app/getAppCategoryList.go b/openapi/tp/app/getAppCategoryList.go new file mode 100644 index 0000000..4176313 --- /dev/null +++ b/openapi/tp/app/getAppCategoryList.go @@ -0,0 +1,74 @@ +package app + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetAppCategoryListRequest 请求结构体 +type GetAppCategoryListRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + CategoryType string // 1.个人类型类目 2.企业类型类目 为2时可以查出全部类目 +} + +// 响应结构体 + +type GetAppCategoryListResponsedataItemsubItems struct { + CategoryName string `json:"category_name"` // 子类目名称 + CategoryQuali string `json:"category_quali"` // 类目 资质要求 + CategoryType int64 `json:"category_type"` // 子类目类型 规则同父类目类型 + ID int64 `json:"id"` // 子类目 Id + NeedQuali int64 `json:"need_quali"` // 类目是否需资质 1:需要 0:不需要 +} + +type GetAppCategoryListResponsedataItem struct { + CategoryName string `json:"category_name"` // 父类目名称 + CategoryType int64 `json:"category_type"` // 父类目类型 1.个人服务 2.企业服务 主体为企业类型所有类目均可设置,主体为个人类型时只能设置个人服务 + ID int64 `json:"id"` // 类目 Id + SubItems map[string]GetAppCategoryListResponsedataItemsubItems `json:"sub_items"` // 子类目 key为类目id value为类目详情 +} + +type GetAppCategoryListResponse struct { + Data []GetAppCategoryListResponsedataItem `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetAppCategoryList +func GetAppCategoryList(params *GetAppCategoryListRequest) ([]GetAppCategoryListResponsedataItem, error) { + var ( + err error + defaultRet []GetAppCategoryListResponsedataItem + ) + respData := &GetAppCategoryListResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/app/category/list") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("category_type", params.CategoryType) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/app/getAppQRCode.go b/openapi/tp/app/getAppQRCode.go new file mode 100644 index 0000000..b22139f --- /dev/null +++ b/openapi/tp/app/getAppQRCode.go @@ -0,0 +1,67 @@ +package app + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetAppQRCodeRequest 请求结构体 +type GetAppQRCodeRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + Path interface{} // 自定义打开路径 + PackageID interface{} // 可指定代码包id(只支持审核、开发、线上版本),不传默认线上版本 + Width interface{} // 默认 200px ,最大 1280px ,最小 200px +} + +// 响应结构体 + +type GetAppQRCodeResponse struct { + ContentType string + Data GetAppQRCodeResponsedata + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +type GetAppQRCodeResponsedata []byte + +// GetAppQRCode +func GetAppQRCode(params *GetAppQRCodeRequest) (*GetAppQRCodeResponse, error) { + var ( + err error + defaultRet *GetAppQRCodeResponse + ) + respData := &GetAppQRCodeResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypePNG). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/app/qrcode") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("path", params.Path) + client.AddGetParam("package_id", params.PackageID) + client.AddGetParam("width", params.Width) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(&respData.Data) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + respData.ContentType = utils.ConverterTypePNG + return respData, nil +} diff --git a/openapi/tp/app/getAppSupportVer.go b/openapi/tp/app/getAppSupportVer.go new file mode 100644 index 0000000..e3026b9 --- /dev/null +++ b/openapi/tp/app/getAppSupportVer.go @@ -0,0 +1,66 @@ +package app + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetAppSupportVerRequest 请求结构体 +type GetAppSupportVerRequest struct { + AccessToken string // 授权小程序的接口调用凭据 +} + +// 响应结构体 + +type GetAppSupportVerResponsedataitemsItem struct { + Version string `json:"version"` // +} + +type GetAppSupportVerResponsedata struct { + Items []GetAppSupportVerResponsedataitemsItem `json:"items"` // 版本号列表 + NowVersion string `json:"now_version"` // 当前版本 +} + +type GetAppSupportVerResponse struct { + Data GetAppSupportVerResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetAppSupportVer +func GetAppSupportVer(params *GetAppSupportVerRequest) (*GetAppSupportVerResponsedata, error) { + var ( + err error + defaultRet *GetAppSupportVerResponsedata + ) + respData := &GetAppSupportVerResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/app/getsupportversion") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/app/pauseApp.go b/openapi/tp/app/pauseApp.go new file mode 100644 index 0000000..cd6581a --- /dev/null +++ b/openapi/tp/app/pauseApp.go @@ -0,0 +1,62 @@ +package app + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// PauseAppRequest 请求结构体 +type PauseAppRequest struct { + AccessToken string // 授权小程序的接口调用凭据 +} + +// 响应结构体 + +type PauseAppResponse struct { + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 + Data PauseAppResponsedata +} + +type PauseAppResponsedata struct { + Errno int64 `json:"errno"` // 状态码 + Msg string `json:"msg"` // 状态描述 +} + +// PauseApp +func PauseApp(params *PauseAppRequest) (*PauseAppResponsedata, error) { + var ( + err error + defaultRet *PauseAppResponsedata + ) + respData := &PauseAppResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/app/pause") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/app/resumeApp.go b/openapi/tp/app/resumeApp.go new file mode 100644 index 0000000..1a666c0 --- /dev/null +++ b/openapi/tp/app/resumeApp.go @@ -0,0 +1,62 @@ +package app + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// ResumeAppRequest 请求结构体 +type ResumeAppRequest struct { + AccessToken string // 授权小程序的接口调用凭据 +} + +// 响应结构体 + +type ResumeAppResponse struct { + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 + Data ResumeAppResponsedata +} + +type ResumeAppResponsedata struct { + Errno int64 `json:"errno"` // 状态码 + Msg string `json:"msg"` // 状态描述 +} + +// ResumeApp +func ResumeApp(params *ResumeAppRequest) (*ResumeAppResponsedata, error) { + var ( + err error + defaultRet *ResumeAppResponsedata + ) + respData := &ResumeAppResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/app/resume") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/app/setAppCategory.go b/openapi/tp/app/setAppCategory.go new file mode 100644 index 0000000..bd72e2f --- /dev/null +++ b/openapi/tp/app/setAppCategory.go @@ -0,0 +1,63 @@ +package app + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// SetAppCategoryRequest 请求结构体 +type SetAppCategoryRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + Categorys string // 类目类别 +} + +// 响应结构体 + +type SetAppCategoryResponsedata struct { + ExamineID int64 `json:"examine_id"` // +} + +type SetAppCategoryResponse struct { + Data SetAppCategoryResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// SetAppCategory +func SetAppCategory(params *SetAppCategoryRequest) (*SetAppCategoryResponsedata, error) { + var ( + err error + defaultRet *SetAppCategoryResponsedata + ) + respData := &SetAppCategoryResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/app/category/update") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("categorys", params.Categorys) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/app/setAppDomain.go b/openapi/tp/app/setAppDomain.go new file mode 100644 index 0000000..214796e --- /dev/null +++ b/openapi/tp/app/setAppDomain.go @@ -0,0 +1,74 @@ +package app + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// SetAppDomainRequest 请求结构体 +type SetAppDomainRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + Action interface{} // add添加, delete删除, set覆盖, get获取。当参数是get时不需要填四个域名字段,如果没有action字段参数,则默认将开放平台第三方登记的小程序业务域名全部添加到授权的小程序中。 + DownloadDomain interface{} // download合法域名,多个时用,分割,当action参数是get时不需要此字段 + RequestDomain interface{} // request合法域名,多个时用,分割,当action参数是get时不需要此字段。 + SocketDomain interface{} // socket合法域名,多个时用,分割,当action参数是get时不需要此字段。 + UploadDomain interface{} // upload合法域名,多个时用,分割,当action参数是get时不需要此字段。 +} + +// 响应结构体 + +type SetAppDomainResponsedata struct { + DownloadDomain string `json:"download_domain"` // download合法域名 + RequestDomain string `json:"request_domain"` // request合法域名 + SocketDomain string `json:"socket_domain"` // socket合法域名 + UploadDomain string `json:"upload_domain"` // upload合法域名 +} + +type SetAppDomainResponse struct { + Data SetAppDomainResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// SetAppDomain +func SetAppDomain(params *SetAppDomainRequest) (*SetAppDomainResponsedata, error) { + var ( + err error + defaultRet *SetAppDomainResponsedata + ) + respData := &SetAppDomainResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/app/modifydomain") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("action", params.Action) + client.AddPostParam("download_domain", params.DownloadDomain) + client.AddPostParam("request_domain", params.RequestDomain) + client.AddPostParam("socket_domain", params.SocketDomain) + client.AddPostParam("upload_domain", params.UploadDomain) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/app/setAppImage.go b/openapi/tp/app/setAppImage.go new file mode 100644 index 0000000..6f1d0f4 --- /dev/null +++ b/openapi/tp/app/setAppImage.go @@ -0,0 +1,62 @@ +package app + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// SetAppImageRequest 请求结构体 +type SetAppImageRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + ImageURL string // 小程序icon地址,可以通过图片上传接口获取icon的url。 +} + +// 响应结构体 + +type SetAppImageResponsedata struct { +} + +type SetAppImageResponse struct { + Data SetAppImageResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// SetAppImage +func SetAppImage(params *SetAppImageRequest) (*SetAppImageResponsedata, error) { + var ( + err error + defaultRet *SetAppImageResponsedata + ) + respData := &SetAppImageResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/app/modifyheadimage") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("image_url", params.ImageURL) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/app/setAppNickName.go b/openapi/tp/app/setAppNickName.go new file mode 100644 index 0000000..eade568 --- /dev/null +++ b/openapi/tp/app/setAppNickName.go @@ -0,0 +1,65 @@ +package app + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// SetAppNickNameRequest 请求结构体 +type SetAppNickNameRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + NickName string // 小程序名字 + QualMaterials interface{} // 如果小程序名称包含品牌词,需要上传品牌资质证明。要求图片链接来自于图片上传接口返回的 url。 +} + +// 响应结构体 + +type SetAppNickNameResponsedataItem struct { + ExamineID int64 `json:"examine_id"` // +} + +type SetAppNickNameResponse struct { + Data []SetAppNickNameResponsedataItem `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// SetAppNickName +func SetAppNickName(params *SetAppNickNameRequest) ([]SetAppNickNameResponsedataItem, error) { + var ( + err error + defaultRet []SetAppNickNameResponsedataItem + ) + respData := &SetAppNickNameResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/app/setnicknamewithqual") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("nick_name", params.NickName) + client.AddPostParam("qual_materials", params.QualMaterials) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/app/setAppSignature.go b/openapi/tp/app/setAppSignature.go new file mode 100644 index 0000000..c9ff989 --- /dev/null +++ b/openapi/tp/app/setAppSignature.go @@ -0,0 +1,62 @@ +package app + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// SetAppSignatureRequest 请求结构体 +type SetAppSignatureRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + Signature string // 功能介绍(简介) 简介字数要求 10-56 个字符之间 (一个中文算两个字符) +} + +// 响应结构体 + +type SetAppSignatureResponsedata struct { +} + +type SetAppSignatureResponse struct { + Data SetAppSignatureResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// SetAppSignature +func SetAppSignature(params *SetAppSignatureRequest) (*SetAppSignatureResponsedata, error) { + var ( + err error + defaultRet *SetAppSignatureResponsedata + ) + respData := &SetAppSignatureResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/app/modifysignature") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("signature", params.Signature) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/app/setAppWebViewDomain.go b/openapi/tp/app/setAppWebViewDomain.go new file mode 100644 index 0000000..35aaf4e --- /dev/null +++ b/openapi/tp/app/setAppWebViewDomain.go @@ -0,0 +1,61 @@ +package app + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// SetAppWebViewDomainRequest 请求结构体 +type SetAppWebViewDomainRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + Action interface{} // add 添加, delete 删除, set 覆盖, get 获取。当参数是 get 时不需要填四个域名字段,如果没有 action 字段参数,则默认将开放平台第三方登记的业务域名全部添加到授权的小程序中。 + WebViewDomain interface{} // 小程序业务域名,多个时用,分割,当 action 参数是 get 时不需要此字段 +} + +// 响应结构体 + +type SetAppWebViewDomainResponse struct { + Data string `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// SetAppWebViewDomain +func SetAppWebViewDomain(params *SetAppWebViewDomainRequest) (string, error) { + var ( + err error + defaultRet string + ) + respData := &SetAppWebViewDomainResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/app/modifywebviewdomain") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("action", params.Action) + client.AddPostParam("web_view_domain", params.WebViewDomain) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/authcert/getFaceAuth.go b/openapi/tp/authcert/getFaceAuth.go new file mode 100644 index 0000000..b8e2653 --- /dev/null +++ b/openapi/tp/authcert/getFaceAuth.go @@ -0,0 +1,63 @@ +package authcert + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetFaceAuthRequest 请求结构体 +type GetFaceAuthRequest struct { + AccessToken string // 授权小程序的接口调用凭据 +} + +// 响应结构体 + +type GetFaceAuthResponsedata struct { + LegalFaceStatus string `json:"legal_face_status"` // 认证任务状态(1:初始化;2:通过;4:拒绝;6:进行中) + Qrcode string `json:"qrcode"` // 二维码(base64编码图片) + Timeout string `json:"timeout"` // 过期时间 +} + +type GetFaceAuthResponse struct { + Data GetFaceAuthResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetFaceAuth +func GetFaceAuth(params *GetFaceAuthRequest) (*GetFaceAuthResponsedata, error) { + var ( + err error + defaultRet *GetFaceAuthResponsedata + ) + respData := &GetFaceAuthResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/auth/faceauthen") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/authcert/getPaymentCert.go b/openapi/tp/authcert/getPaymentCert.go new file mode 100644 index 0000000..139b9c4 --- /dev/null +++ b/openapi/tp/authcert/getPaymentCert.go @@ -0,0 +1,61 @@ +package authcert + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetPaymentCertRequest 请求结构体 +type GetPaymentCertRequest struct { + AccessToken string // 授权小程序的接口调用凭据 +} + +// 响应结构体 + +type GetPaymentCertResponsedata struct { + URL string `json:"url"` // 认证页面调起 url +} + +type GetPaymentCertResponse struct { + Data GetPaymentCertResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetPaymentCert +func GetPaymentCert(params *GetPaymentCertRequest) (*GetPaymentCertResponsedata, error) { + var ( + err error + defaultRet *GetPaymentCertResponsedata + ) + respData := &GetPaymentCertResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/auth/paymentCertification") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/authprocess/getAppInfo.go b/openapi/tp/authprocess/getAppInfo.go new file mode 100644 index 0000000..193c622 --- /dev/null +++ b/openapi/tp/authprocess/getAppInfo.go @@ -0,0 +1,136 @@ +package authprocess + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetAppInfoRequest 请求结构体 +type GetAppInfoRequest struct { + AccessToken string // 授权小程序的接口调用凭据 +} + +// 响应结构体 + +type GetAppInfoResponsedataauditInfo struct { + AuditAppDesc string `json:"audit_app_desc"` // 小程序介绍内容审核值 + AuditAppDescReason string `json:"audit_app_desc_reason"` // 小程序介绍内容失败原因 + AuditAppDescStatus int64 `json:"audit_app_desc_status"` // 小程序介绍内容审核状态 + AuditAppName string `json:"audit_app_name"` // 小程序名称审核值 + AuditAppNameReason string `json:"audit_app_name_reason"` // 小程序名称审核失败原因 + AuditAppNameStatus int64 `json:"audit_app_name_status"` // 小程序名称审核状态 1:审核中 3:审核失败 + AuditPhotoAddr string `json:"audit_photo_addr"` // 小程序头像审核值 + AuditPhotoAddrReason string `json:"audit_photo_addr_reason"` // 小程序头像审核失败原因 + AuditPhotoAddrStatus int64 `json:"audit_photo_addr_status"` // 小程序头像审核状态 +} + +type GetAppInfoResponsedataqualification struct { + AdStatus int64 `json:"ad_status"` // 真实性认证状态 1:通过 3:失败 + AdType int64 `json:"ad_type"` // 真实性认证类型 -1:其他类型验证 0:未做真实性认证 1:对公验证 2:活体验证 23:法人人脸验证 + Name string `json:"name"` // 主体名称 + Satus int64 `json:"satus"` // 主体审核状态 1:通过 2:审核中 3:审核失败 + Type int64 `json:"type"` // 主体类型 1:个人 2:企业 3: 政府 4:媒体 5:其他 个人暂不开放 +} + +type GetAppInfoResponsedatamodifyCount struct { + CategoryModifyQuota int64 `json:"category_modify_quota"` // 小程序类目总共的可修改次数 + CategoryModifyUsed int64 `json:"category_modify_used"` // 小程序类目已修改次数 + ImageModifyQuota int64 `json:"image_modify_quota"` // 小程序头像总共的可修改次数 + ImageModifyUsed int64 `json:"image_modify_used"` // 小程序头像已修改总次数 + NameModifyQuota int64 `json:"name_modify_quota"` // 小程序名称总共的可修改次数 + NameModifyUsed int64 `json:"name_modify_used"` // 小程序名称已修改次数 + SignatureModifyQuota int64 `json:"signature_modify_quota"` // 小程序简介总共的可修改次数 + SignatureModifyUsed int64 `json:"signature_modify_used"` // 小程序简介已修改次数 +} + +type GetAppInfoResponsedataappOfflineInfoItem struct { + IllegalFields string `json:"illegal_fields"` // 强制下线原因 appName:名称 photoAddr:图片 appDesc:简介 当有多个时用逗号(,)连接, offlineReason为1或3时才有 + OfflineReason int64 `json:"offline_reason"` // 强制下线类型 1:基本信息强制下线 2:小程序代码包强制下线 3:基本信息和小程序代码包强制下线 +} + +type GetAppInfoResponsedataauthInfoItem struct { + ScopeName string `json:"scope_name"` // 权限名称 + Type int64 `json:"type"` // 权限类型 ( 0:小程序纬度权限 1:账号纬度权限 ) +} + +type GetAppInfoResponsedatacategoryItemparent struct { + CategoryDesc string `json:"category_desc"` // 父类目描述 + CategoryID int64 `json:"category_id"` // 父类目 id + CategoryName string `json:"category_name"` // 父类目名称 +} + +type GetAppInfoResponsedatacategoryItem struct { + AuditStatus int64 `json:"audit_status"` // 类目审核状态 1:审核中 2:审核成功 3:审核失败 + CategoryDesc string `json:"category_desc"` // 类目描述 + CategoryID int64 `json:"category_id"` // 类目 id + CategoryName string `json:"category_name"` // 类目名称 + Parent GetAppInfoResponsedatacategoryItemparent `json:"parent"` // 父类目 + Reason string `json:"reason"` // 审核失败原因 +} + +type GetAppInfoResponsedataannualReviewInfo struct { + AnnualReviewOverdueTime int64 `json:"annual_review_overdue_time"` // 年审过期时间 + AnnualReviewStatus int64 `json:"annual_review_status"` // 年审状态 1:正常 2:待年审 3: 年审过期 +} + +type GetAppInfoResponsedata struct { + AnnualReviewInfo GetAppInfoResponsedataannualReviewInfo `json:"annual_review_info"` // 小程序年审相关信息 + AppDesc string `json:"app_desc"` // 小程序的介绍内容 + AppID int64 `json:"app_id"` // 小程序的 appid + AppKey string `json:"app_key"` // 小程序的 appkey + AppName string `json:"app_name"` // 小程序的名称 + AppOfflineInfo []GetAppInfoResponsedataappOfflineInfoItem `json:"app_offline_info"` // 小程序强制下线相关信息 + AuditInfo GetAppInfoResponsedataauditInfo `json:"audit_info"` // 基本信息审核状态 包括名称,图标,介绍内容的审核状态 只有审核中和审核失败会展示 + AuthInfo []GetAppInfoResponsedataauthInfoItem `json:"auth_info"` // 小程序权限集合信息 + Category []GetAppInfoResponsedatacategoryItem `json:"category"` // 小程序类目信息 + MinSwanVersion string `json:"min_swan_version"` // 开发者工具最低版本 + ModifyCount GetAppInfoResponsedatamodifyCount `json:"modify_count"` // 小程序基本信息修改次数信息 + PhotoAddr string `json:"photo_addr"` // 小程序图标 + Qualification GetAppInfoResponsedataqualification `json:"qualification"` // 小程序账号对应的主体信息 + Status int64 `json:"status"` // 小程序的状态 -1:代表封禁 1:代表正常 2:代表审核中 4:代表暂停服务 5:强制下线 6:限时整改 7:流量下线 + WebStatus int64 `json:"web_status"` // 小程序的web化开关状态 0:未开启 1:开启 2:关闭 +} + +type GetAppInfoResponse struct { + Data GetAppInfoResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetAppInfo +func GetAppInfo(params *GetAppInfoRequest) (*GetAppInfoResponsedata, error) { + var ( + err error + defaultRet *GetAppInfoResponsedata + ) + respData := &GetAppInfoResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/app/info") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/authprocess/getOAuthToken.go b/openapi/tp/authprocess/getOAuthToken.go new file mode 100644 index 0000000..7d79d4d --- /dev/null +++ b/openapi/tp/authprocess/getOAuthToken.go @@ -0,0 +1,73 @@ +package authprocess + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetOAuthTokenRequest 请求结构体 +type GetOAuthTokenRequest struct { + AccessToken string // 第三方平台的接口调用凭据 + Code string // 授权码 + GrantType string // 固定字符串:app_to_tp_authorization_code +} + +// 响应结构体 + +type GetOAuthTokenResponse struct { + AccessToken string `json:"access_token"` // 授权小程序的接口调用凭据 + Error string `json:"error"` // 错误码;关于错误码的详细信息请参考 https://developer.baidu.com/wiki/index.php?title=docs/oauth/error + ErrorDescription string `json:"error_description"` // 错误描述信息,用来帮助理解和解决发生的错误 + ExpiresIn int64 `json:"expires_in"` // Access Token的有效期,单位:秒,默认1小时 + RefreshToken string `json:"refresh_token"` // 接口调用凭据刷新令牌,有效期10年,使用一次后失效 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 + Data GetOAuthTokenResponsedata +} + +type GetOAuthTokenResponsedata struct { + AccessToken string `json:"access_token"` // 授权小程序的接口调用凭据 + Error string `json:"error"` // 错误码;关于错误码的详细信息请参考 https://developer.baidu.com/wiki/index.php?title=docs/oauth/error + ErrorDescription string `json:"error_description"` // 错误描述信息,用来帮助理解和解决发生的错误 + ExpiresIn int64 `json:"expires_in"` // Access Token的有效期,单位:秒,默认1小时 + RefreshToken string `json:"refresh_token"` // 接口调用凭据刷新令牌,有效期10年,使用一次后失效 +} + +// GetOAuthToken +func GetOAuthToken(params *GetOAuthTokenRequest) (*GetOAuthTokenResponsedata, error) { + var ( + err error + defaultRet *GetOAuthTokenResponsedata + ) + respData := &GetOAuthTokenResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/oauth/token") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("code", params.Code) + client.AddGetParam("grant_type", params.GrantType) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + err = client.Convert(&respData.Data) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 || respData.Error != "" { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + return &respData.Data, nil +} diff --git a/openapi/tp/authprocess/getPreAuthCode.go b/openapi/tp/authprocess/getPreAuthCode.go new file mode 100644 index 0000000..1959cbb --- /dev/null +++ b/openapi/tp/authprocess/getPreAuthCode.go @@ -0,0 +1,66 @@ +package authprocess + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetPreAuthCodeRequest 请求结构体 +type GetPreAuthCodeRequest struct { + AccessToken string // 第三方平台的接口调用凭据 +} + +// 响应结构体 + +type GetPreAuthCodeResponsedata struct { + ExpiresIn int64 `json:"expires_in"` // 凭证有效时间,单位:秒,默认20分钟 + PreAuthCode string `json:"pre_auth_code"` // 预授权码 +} + +type GetPreAuthCodeResponse struct { + Data GetPreAuthCodeResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetPreAuthCode +func GetPreAuthCode(params *GetPreAuthCodeRequest) (*GetPreAuthCodeResponsedata, error) { + var ( + err error + defaultRet *GetPreAuthCodeResponsedata + ) + respData := &GetPreAuthCodeResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/tp/createpreauthcode") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + err = client.Convert(&respData.Data) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/authprocess/getTpToken.go b/openapi/tp/authprocess/getTpToken.go new file mode 100644 index 0000000..c12882d --- /dev/null +++ b/openapi/tp/authprocess/getTpToken.go @@ -0,0 +1,65 @@ +package authprocess + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetTpTokenRequest 请求结构体 +type GetTpTokenRequest struct { + ClientID string // 第三方平台Key + Ticket string // 第三方平台服务器推送的 ticket,此 ticket 会定时推送,具体请见“1、 推送ticket协议”。 +} + +// 响应结构体 + +type GetTpTokenResponsedata struct { + AccessToken string `json:"access_token"` // 第三方平台的接口调用凭据 + ExpiresIn int64 `json:"expires_in"` // 凭证有效时间(单位:秒) + Scope string `json:"scope"` // 拥有的权限说明 +} + +type GetTpTokenResponse struct { + Data GetTpTokenResponsedata `json:"data"` // + Errno int64 `json:"errno"` // 错误码;关于错误码的详细信息请参考 https://developer.baidu.com/wiki/index.php?title=docs/oauth/error 。 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetTpToken +func GetTpToken(params *GetTpTokenRequest) (*GetTpTokenResponsedata, error) { + var ( + err error + defaultRet *GetTpTokenResponsedata + ) + respData := &GetTpTokenResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/public/2.0/smartapp/auth/tp/token") + client.AddGetParam("client_id", params.ClientID) + client.AddGetParam("ticket", params.Ticket) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/authprocess/refreshOAuthToken.go b/openapi/tp/authprocess/refreshOAuthToken.go new file mode 100644 index 0000000..5c0a616 --- /dev/null +++ b/openapi/tp/authprocess/refreshOAuthToken.go @@ -0,0 +1,73 @@ +package authprocess + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// RefreshOAuthTokenRequest 请求结构体 +type RefreshOAuthTokenRequest struct { + AccessToken string // 第三方平台的接口调用凭据 + RefreshToken string // 接口调用凭据刷新令牌,有效期10年,使用后失效 + GrantType string // 固定字符串: app_to_tp_refresh_token +} + +// 响应结构体 + +type RefreshOAuthTokenResponse struct { + AccessToken string `json:"access_token"` // 授权小程序的接口调用凭据 + Error string `json:"error"` // 错误码;关于错误码的详细信息请参考 https://developer.baidu.com/wiki/index.php?title=docs/oauth/error + ErrorDescription string `json:"error_description"` // 错误描述信息,用来帮助理解和解决发生的错误 + ExpiresIn int64 `json:"expires_in"` // 小程序的Access Token的有效期,单位:秒,默认1小时 + RefreshToken string `json:"refresh_token"` // 接口调用凭据刷新令牌 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 + Data RefreshOAuthTokenResponsedata +} + +type RefreshOAuthTokenResponsedata struct { + AccessToken string `json:"access_token"` // 授权小程序的接口调用凭据 + Error string `json:"error"` // 错误码;关于错误码的详细信息请参考 https://developer.baidu.com/wiki/index.php?title=docs/oauth/error + ErrorDescription string `json:"error_description"` // 错误描述信息,用来帮助理解和解决发生的错误 + ExpiresIn int64 `json:"expires_in"` // 小程序的Access Token的有效期,单位:秒,默认1小时 + RefreshToken string `json:"refresh_token"` // 接口调用凭据刷新令牌 +} + +// RefreshOAuthToken +func RefreshOAuthToken(params *RefreshOAuthTokenRequest) (*RefreshOAuthTokenResponsedata, error) { + var ( + err error + defaultRet *RefreshOAuthTokenResponsedata + ) + respData := &RefreshOAuthTokenResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/oauth/token") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("refresh_token", params.RefreshToken) + client.AddGetParam("grant_type", params.GrantType) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + err = client.Convert(&respData.Data) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 || respData.Error != "" { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + return &respData.Data, nil +} diff --git a/openapi/tp/authprocess/retrieveAuthCode.go b/openapi/tp/authprocess/retrieveAuthCode.go new file mode 100644 index 0000000..ce87121 --- /dev/null +++ b/openapi/tp/authprocess/retrieveAuthCode.go @@ -0,0 +1,66 @@ +package authprocess + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// RetrieveAuthCodeRequest 请求结构体 +type RetrieveAuthCodeRequest struct { + AccessToken string // 第三方平台的接口调用凭据 + AppID int64 // 小程序 app_id +} + +// 响应结构体 + +type RetrieveAuthCodeResponsedata struct { + AuthorizationCode string `json:"authorization_code"` // 授权码 + ExpiresIn int64 `json:"expires_in"` // 授权码有效时间 +} + +type RetrieveAuthCodeResponse struct { + Data RetrieveAuthCodeResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// RetrieveAuthCode +func RetrieveAuthCode(params *RetrieveAuthCodeRequest) (*RetrieveAuthCodeResponsedata, error) { + var ( + err error + defaultRet *RetrieveAuthCodeResponsedata + ) + respData := &RetrieveAuthCodeResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/auth/retrieve/authorizationcode") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("app_id", fmt.Sprintf("%v", params.AppID)) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/customermsg/sendCustomerMessage.go b/openapi/tp/customermsg/sendCustomerMessage.go new file mode 100644 index 0000000..8cf4999 --- /dev/null +++ b/openapi/tp/customermsg/sendCustomerMessage.go @@ -0,0 +1,74 @@ +package customermsg + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// SendCustomerMessageRequest 请求结构体 +type SendCustomerMessageRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + UserType int64 // 1:游客登录 2:百度账号登录 + OpenID string // 用户的 OpenID + MsgType string // 消息类型 text:文本格式 image:图片链接 + Content string // 文本消息内容,msg_type ="text" 时必填 + PicURL string // 图片消息,msg_type ="image" 时必填 +} + +// 响应结构体 + +type SendCustomerMessageResponse struct { + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 + Data SendCustomerMessageResponsedata +} + +type SendCustomerMessageResponsedata struct { + Errno int64 `json:"errno"` // 状态码 + Msg string `json:"msg"` // 状态描述 +} + +// SendCustomerMessage +func SendCustomerMessage(params *SendCustomerMessageRequest) (*SendCustomerMessageResponsedata, error) { + var ( + err error + defaultRet *SendCustomerMessageResponsedata + ) + respData := &SendCustomerMessageResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/message/custom/sendbytp") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("user_type", fmt.Sprintf("%v", params.UserType)) + client.AddPostParam("open_id", params.OpenID) + client.AddPostParam("msg_type", params.MsgType) + client.AddPostParam("content", params.Content) + client.AddPostParam("pic_url", params.PicURL) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/domain/downloadDomainCheckFile.go b/openapi/tp/domain/downloadDomainCheckFile.go new file mode 100644 index 0000000..0d27701 --- /dev/null +++ b/openapi/tp/domain/downloadDomainCheckFile.go @@ -0,0 +1,56 @@ +package domain + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// DownloadDomainCheckFileRequest 请求结构体 +type DownloadDomainCheckFileRequest struct { + AccessToken string // 第三方平台的接口调用凭据 +} + +// 响应结构体 + +type DownloadDomainCheckFileResponse struct { + ContentType string + Data DownloadDomainCheckFileResponsedata + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +type DownloadDomainCheckFileResponsedata []byte + +// DownloadDomainCheckFile +func DownloadDomainCheckFile(params *DownloadDomainCheckFileRequest) (*DownloadDomainCheckFileResponse, error) { + var ( + err error + defaultRet *DownloadDomainCheckFileResponse + ) + respData := &DownloadDomainCheckFileResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeStream). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/tp/download/domaincer") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(&respData.Data) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + respData.ContentType = utils.ConverterTypeStream + return respData, nil +} diff --git a/openapi/tp/domain/modifyBusinessDomain.go b/openapi/tp/domain/modifyBusinessDomain.go new file mode 100644 index 0000000..bad9d4d --- /dev/null +++ b/openapi/tp/domain/modifyBusinessDomain.go @@ -0,0 +1,61 @@ +package domain + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// ModifyBusinessDomainRequest 请求结构体 +type ModifyBusinessDomainRequest struct { + AccessToken string // 第三方平台的接口调用凭据 + Action interface{} // add添加, delete删除, set覆盖, get获取。当参数是get时不需要填四个域名字段,如果没有action字段参数,则默认将开放平台第三方登记的小程序业务域名全部添加到授权的小程序中。 + WebViewDomain interface{} // 小程序业务域名,多个时用,分割,当action参数是get时不需要此字段 +} + +// 响应结构体 + +type ModifyBusinessDomainResponse struct { + Data []string `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// ModifyBusinessDomain +func ModifyBusinessDomain(params *ModifyBusinessDomainRequest) ([]string, error) { + var ( + err error + defaultRet []string + ) + respData := &ModifyBusinessDomainResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/tp/modifywebviewdomain") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("action", params.Action) + client.AddPostParam("web_view_domain", params.WebViewDomain) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/domain/modifyServerDomain.go b/openapi/tp/domain/modifyServerDomain.go new file mode 100644 index 0000000..c4bd577 --- /dev/null +++ b/openapi/tp/domain/modifyServerDomain.go @@ -0,0 +1,74 @@ +package domain + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// ModifyServerDomainRequest 请求结构体 +type ModifyServerDomainRequest struct { + AccessToken string // 第三方平台的接口调用凭据 + Action string // add添加, delete删除, set覆盖, get获取。当参数是get时不需要填四个域名字段,如果没有action字段参数,则默认将开放平台第三方登记的小程序业务域名全部添加到授权的小程序中。 + DownloadDomain interface{} // download合法域名,多个时用,分割,当action参数是get时不需要此字段 + RequestDomain interface{} // request合法域名,多个时用,分割,当action参数是get时不需要此字段。 + SocketDomain interface{} // socket合法域名,多个时用,分割,当action参数是get时不需要此字段。 + UploadDomain interface{} // upload合法域名,多个时用,分割,当action参数是get时不需要此字段。 +} + +// 响应结构体 + +type ModifyServerDomainResponsedata struct { + DownloadDomain []string `json:"download_domain"` // download合法域名 + RequestDomain []string `json:"request_domain"` // request合法域名 + SocketDomain []string `json:"socket_domain"` // socket合法域名 + UploadDomain []string `json:"upload_domain"` // upload合法域名 +} + +type ModifyServerDomainResponse struct { + Data ModifyServerDomainResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// ModifyServerDomain +func ModifyServerDomain(params *ModifyServerDomainRequest) (*ModifyServerDomainResponsedata, error) { + var ( + err error + defaultRet *ModifyServerDomainResponsedata + ) + respData := &ModifyServerDomainResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/tp/modifydomain") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("action", params.Action) + client.AddPostParam("download_domain", params.DownloadDomain) + client.AddPostParam("request_domain", params.RequestDomain) + client.AddPostParam("socket_domain", params.SocketDomain) + client.AddPostParam("upload_domain", params.UploadDomain) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/feed/accessResourceQuery.go b/openapi/tp/feed/accessResourceQuery.go new file mode 100644 index 0000000..7f2ca53 --- /dev/null +++ b/openapi/tp/feed/accessResourceQuery.go @@ -0,0 +1,88 @@ +package feed + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// AccessResourceQueryRequest 请求结构体 +type AccessResourceQueryRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + Begin interface{} // 开始时间 (默认值前一天0点) + End interface{} // 结束时间 (默认值今天0点) + ImageType interface{} // 图片类型(1:封面图片 2:问答用户头像 3:动态图片 4:feed物料图片) + PageNo interface{} // 页数(分页参数,第几页,默认值(1) + PageSize interface{} // 单页展示数据量(分页参数,默认值(10) + Status interface{} // 状态(0: 全部 1: 审核中 2: 审核失败 3: 投放中 4: 已删除),默认值为0 + Title interface{} // 标题 +} + +// 响应结构体 + +type AccessResourceQueryResponsedatalistItem struct { + AppID int64 `json:"app_id"` // 小程序id + AuditTime string `json:"audit_time"` // 审核时间 + CreateTime string `json:"create_time"` // 提交时间 + Rid string `json:"rid"` // 物料id + Source string `json:"source"` // 物料来源 + Status string `json:"status"` // 状态 + Title string `json:"title"` // 标题 +} + +type AccessResourceQueryResponsedata struct { + Count int64 `json:"count"` // 数据总量 + List []AccessResourceQueryResponsedatalistItem `json:"list"` // 数据内容 + Page int64 `json:"page"` // 页数 + PageSize int64 `json:"pageSize"` // 单页数量 +} + +type AccessResourceQueryResponse struct { + Data AccessResourceQueryResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// AccessResourceQuery +func AccessResourceQuery(params *AccessResourceQueryRequest) (*AccessResourceQueryResponsedata, error) { + var ( + err error + defaultRet *AccessResourceQueryResponsedata + ) + respData := &AccessResourceQueryResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/access/resource/query") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("begin", params.Begin) + client.AddGetParam("end", params.End) + client.AddGetParam("image_type", params.ImageType) + client.AddGetParam("page_no", params.PageNo) + client.AddGetParam("page_size", params.PageSize) + client.AddGetParam("status", params.Status) + client.AddGetParam("title", params.Title) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/feed/accessResourceSubmit.go b/openapi/tp/feed/accessResourceSubmit.go new file mode 100644 index 0000000..331a082 --- /dev/null +++ b/openapi/tp/feed/accessResourceSubmit.go @@ -0,0 +1,81 @@ +package feed + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// AccessResourceSubmitRequest 请求结构体 +type AccessResourceSubmitRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + AppID interface{} // 小程序 Id + Body string // 消息体,物料的介绍 + Ext interface{} // 扩展信息(JSON格式,参考附录三) + FeedSubType interface{} // feed二级分类(参考附录二) + FeedType string // feed一级分类(参考附录二) + Images interface{} // 封面图片链接(JSON格式)(最多3张,单图片最大2M) 建议尺寸:宽>=375 & 高>=250;建议比例 宽:高=1.5:1 + MappSubType int64 // 资源子类型(参考附录一) + MappType int64 // 资源类型(参考附录一) + Path string // 智能小程序落地页链接 + Tags interface{} // 资源标签,英文逗号分割,填写越准确详细可能带来更好的分发效果(最多10个,总长度最多100字) + Title string // 标题 +} + +// 响应结构体 + +type AccessResourceSubmitResponse struct { + Data string `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// AccessResourceSubmit +func AccessResourceSubmit(params *AccessResourceSubmitRequest) (string, error) { + var ( + err error + defaultRet string + ) + respData := &AccessResourceSubmitResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/access/resource/submit") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("app_id", params.AppID) + client.AddPostParam("body", params.Body) + client.AddPostParam("ext", params.Ext) + client.AddPostParam("feed_sub_type", params.FeedSubType) + client.AddPostParam("feed_type", params.FeedType) + client.AddPostParam("images", params.Images) + client.AddPostParam("mapp_sub_type", fmt.Sprintf("%v", params.MappSubType)) + client.AddPostParam("mapp_type", fmt.Sprintf("%v", params.MappType)) + client.AddPostParam("path", params.Path) + client.AddPostParam("tags", params.Tags) + client.AddPostParam("title", params.Title) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/feed/deleteResource.go b/openapi/tp/feed/deleteResource.go new file mode 100644 index 0000000..dcfd46b --- /dev/null +++ b/openapi/tp/feed/deleteResource.go @@ -0,0 +1,61 @@ +package feed + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// DeleteResourceRequest 请求结构体 +type DeleteResourceRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + AppID interface{} // 小程序 Id + Path string // 智能小程序内页链接 +} + +// 响应结构体 + +type DeleteResourceResponse struct { + Data bool `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// DeleteResource +func DeleteResource(params *DeleteResourceRequest) (bool, error) { + var ( + err error + defaultRet bool + ) + respData := &DeleteResourceResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/access/resource/delete") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("app_id", params.AppID) + client.AddPostParam("path", params.Path) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/feed/deleteSitemap.go b/openapi/tp/feed/deleteSitemap.go new file mode 100644 index 0000000..922b44b --- /dev/null +++ b/openapi/tp/feed/deleteSitemap.go @@ -0,0 +1,61 @@ +package feed + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// DeleteSitemapRequest 请求结构体 +type DeleteSitemapRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + AppID interface{} // 小程序 Id + URL string // sitemap链接 +} + +// 响应结构体 + +type DeleteSitemapResponse struct { + Data bool `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// DeleteSitemap +func DeleteSitemap(params *DeleteSitemapRequest) (bool, error) { + var ( + err error + defaultRet bool + ) + respData := &DeleteSitemapResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/access/sitemap/delete") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("app_id", params.AppID) + client.AddPostParam("url", params.URL) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/feed/submitSitemap.go b/openapi/tp/feed/submitSitemap.go new file mode 100644 index 0000000..cfb73bc --- /dev/null +++ b/openapi/tp/feed/submitSitemap.go @@ -0,0 +1,69 @@ +package feed + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// SubmitSitemapRequest 请求结构体 +type SubmitSitemapRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + AppID interface{} // 小程序 Id + Desc string // 描述信息 + Frequency int64 // 更新频率 3-每天 4-每周 + Type int64 // 类型 1-增量/更新; 0-下线/删除 + URL string // sitemap链接 +} + +// 响应结构体 + +type SubmitSitemapResponse struct { + Data bool `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// SubmitSitemap +func SubmitSitemap(params *SubmitSitemapRequest) (bool, error) { + var ( + err error + defaultRet bool + ) + respData := &SubmitSitemapResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/access/sitemap/submit") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("app_id", params.AppID) + client.AddPostParam("desc", params.Desc) + client.AddPostParam("frequency", fmt.Sprintf("%v", params.Frequency)) + client.AddPostParam("type", fmt.Sprintf("%v", params.Type)) + client.AddPostParam("url", params.URL) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/grade/appGrade.go b/openapi/tp/grade/appGrade.go new file mode 100644 index 0000000..33521b1 --- /dev/null +++ b/openapi/tp/grade/appGrade.go @@ -0,0 +1,75 @@ +package grade + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// AppGradeRequest 请求结构体 +type AppGradeRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + PageNo int64 // 分页页码(从 1 开始) +} + +// 响应结构体 + +type AppGradeResponsedatadataListItem struct { + AppID int64 `json:"app_id"` // 小程序 id + AppKey string `json:"app_key"` // 小程序唯一识别码 + Grade string `json:"grade"` // 小程序等级 · 未评级 · A 级 · B 级 · C 级 +} + +type AppGradeResponsedata struct { + DataList []AppGradeResponsedatadataListItem `json:"dataList"` // + PageNo int64 `json:"pageNo"` // 页码 + PageSize int64 `json:"pageSize"` // 每页展示数据 + Total int64 `json:"total"` // 总数据量 + TotalPage int64 `json:"totalPage"` // 总页数 +} + +type AppGradeResponse struct { + Data AppGradeResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// AppGrade +func AppGrade(params *AppGradeRequest) (*AppGradeResponsedata, error) { + var ( + err error + defaultRet *AppGradeResponsedata + ) + respData := &AppGradeResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/app/grade") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("page_no", fmt.Sprintf("%v", params.PageNo)) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/image/uploadImage.go b/openapi/tp/image/uploadImage.go new file mode 100644 index 0000000..e89ee77 --- /dev/null +++ b/openapi/tp/image/uploadImage.go @@ -0,0 +1,91 @@ +package image + +import ( + "bytes" + "fmt" + "io" + "mime/multipart" + "path/filepath" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// UploadImageRequest 请求结构体 +type UploadImageRequest struct { + AccessToken string // 第三方平台的接口调用凭据 + MultipartFile UploadImageRequestFile // 文件 + Type interface{} // 图片用途,1/null:小程序头像;2:服务类目资质图片;3:小程序名称审核资料 +} + +type UploadImageRequestFile struct { + Name string + Reader io.Reader +} + +// 响应结构体 + +type UploadImageResponse struct { + Data string `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// UploadImage +func UploadImage(params *UploadImageRequest) (string, error) { + var ( + err error + defaultRet string + ) + respData := &UploadImageResponse{} + + // Post MultiPart/form-data + payload := &bytes.Buffer{} + writer := multipart.NewWriter(payload) + + part1, err := writer.CreateFormFile(params.MultipartFile.Name, filepath.Base(params.MultipartFile.Name)) + if err != nil { + return defaultRet, err + } + + _, err = io.Copy(part1, params.MultipartFile.Reader) + if err != nil { + return defaultRet, err + } + _ = writer.WriteField("type", fmt.Sprint(params.Type)) + + err = writer.Close() + if err != nil { + return defaultRet, err + } + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeMultiPart + "; boundary=" + writer.Boundary()). + SetBody(payload). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/file/2.0/smartapp/upload/image") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/login/getSessionKey.go b/openapi/tp/login/getSessionKey.go new file mode 100644 index 0000000..3abfa44 --- /dev/null +++ b/openapi/tp/login/getSessionKey.go @@ -0,0 +1,65 @@ +package login + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetSessionKeyRequest 请求结构体 +type GetSessionKeyRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + Code string // 调用 swan.login 后获取的 code + GrantType string // 授权类型,固定字符串:“authorization_code” +} + +// 响应结构体 + +type GetSessionKeyResponse struct { + Errno int64 `json:"errno"` // 错误码 + ErrorDescription string `json:"error_description"` // 错误描述信息,用来帮助理解和解决发生的错误 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 + Data GetSessionKeyResponsedata +} + +type GetSessionKeyResponsedata struct { + Errno int64 `json:"errno"` // 错误码 + ErrorDescription string `json:"error_description"` // 错误描述信息,用来帮助理解和解决发生的错误 + Msg string `json:"msg"` // 错误描述 +} + +// GetSessionKey +func GetSessionKey(params *GetSessionKeyRequest) (*GetSessionKeyResponsedata, error) { + var ( + err error + defaultRet *GetSessionKeyResponsedata + ) + respData := &GetSessionKeyResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/oauth/getsessionkeybycode") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("code", params.Code) + client.AddGetParam("grant_type", params.GrantType) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + return &respData.Data, nil +} diff --git a/openapi/tp/login/getUnionId.go b/openapi/tp/login/getUnionId.go new file mode 100644 index 0000000..0a9bfbf --- /dev/null +++ b/openapi/tp/login/getUnionId.go @@ -0,0 +1,63 @@ +package login + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetUnionIDRequest 请求结构体 +type GetUnionIDRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + OpenID string // 用户 openid ,需要经过用户登录授权 +} + +// 响应结构体 + +type GetUnionIDResponsedata struct { + UnionID string `json:"union_id"` // 对应的 union id +} + +type GetUnionIDResponse struct { + Data GetUnionIDResponsedata `json:"data"` // 详细数据,errno 为 0 的情况下才有意义 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetUnionID +func GetUnionID(params *GetUnionIDRequest) (*GetUnionIDResponsedata, error) { + var ( + err error + defaultRet *GetUnionIDResponsedata + ) + respData := &GetUnionIDResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/unionId/get") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("open_id", params.OpenID) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/mobileauth/applyMobileAuth.go b/openapi/tp/mobileauth/applyMobileAuth.go new file mode 100644 index 0000000..3c759eb --- /dev/null +++ b/openapi/tp/mobileauth/applyMobileAuth.go @@ -0,0 +1,70 @@ +package mobileauth + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// ApplyMobileAuthRequest 请求结构体 +type ApplyMobileAuthRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + Reason int64 // 申请原因( 0:"用于登录";1 :"收货联系方式";2 :"其他") + UsedScene int64 // 使用场景( 0:"网络购物"1 :"账号下信息内容同步";2 :"票务预订";3 :"业务办理";4 :"信息查询(如社保、公积金查询";5 :预约") + SceneDesc string // 使用场景描述 + SceneDemo string // 使用场景 demo (场景实例图片) +} + +// 响应结构体 + +type ApplyMobileAuthResponsedata struct { +} + +type ApplyMobileAuthResponse struct { + Data ApplyMobileAuthResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// ApplyMobileAuth +func ApplyMobileAuth(params *ApplyMobileAuthRequest) (*ApplyMobileAuthResponsedata, error) { + var ( + err error + defaultRet *ApplyMobileAuthResponsedata + ) + respData := &ApplyMobileAuthResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/app/apply/mobileauth") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("reason", fmt.Sprintf("%v", params.Reason)) + client.AddPostParam("used_scene", fmt.Sprintf("%v", params.UsedScene)) + client.AddPostParam("scene_desc", params.SceneDesc) + client.AddPostParam("scene_demo", params.SceneDemo) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/mobileauth/cancelMobileAuth.go b/openapi/tp/mobileauth/cancelMobileAuth.go new file mode 100644 index 0000000..862159a --- /dev/null +++ b/openapi/tp/mobileauth/cancelMobileAuth.go @@ -0,0 +1,60 @@ +package mobileauth + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// CancelMobileAuthRequest 请求结构体 +type CancelMobileAuthRequest struct { + AccessToken string // 授权小程序的接口调用凭据 +} + +// 响应结构体 + +type CancelMobileAuthResponsedata struct { +} + +type CancelMobileAuthResponse struct { + Data CancelMobileAuthResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// CancelMobileAuth +func CancelMobileAuth(params *CancelMobileAuthRequest) (*CancelMobileAuthResponsedata, error) { + var ( + err error + defaultRet *CancelMobileAuthResponsedata + ) + respData := &CancelMobileAuthResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/app/cancel/mobileauth") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/mobileauth/getMobileAuthStatus.go b/openapi/tp/mobileauth/getMobileAuthStatus.go new file mode 100644 index 0000000..d1f1cd5 --- /dev/null +++ b/openapi/tp/mobileauth/getMobileAuthStatus.go @@ -0,0 +1,62 @@ +package mobileauth + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetMobileAuthStatusRequest 请求结构体 +type GetMobileAuthStatusRequest struct { + AccessToken string // 授权小程序的接口调用凭据 +} + +// 响应结构体 + +type GetMobileAuthStatusResponsedata struct { + Reason string `json:"reason"` // 失败原因(仅在被拒绝时存在) + Status int64 `json:"status"` // 状态(0:取消 1:待审核 2:拒绝 3:通过) +} + +type GetMobileAuthStatusResponse struct { + Data GetMobileAuthStatusResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetMobileAuthStatus +func GetMobileAuthStatus(params *GetMobileAuthStatusRequest) (*GetMobileAuthStatusResponsedata, error) { + var ( + err error + defaultRet *GetMobileAuthStatusResponsedata + ) + respData := &GetMobileAuthStatusResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/app/get/mobileauthstatus") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/msg/getMsg.go b/openapi/tp/msg/getMsg.go new file mode 100644 index 0000000..648872e --- /dev/null +++ b/openapi/tp/msg/getMsg.go @@ -0,0 +1,82 @@ +package msg + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetMsgRequest 请求结构体 +type GetMsgRequest struct { + AccessToken string // 第三方平台的接口调用凭据 + Start interface{} // 起始时间,默认值时间范围为近一天,起始时间不可超过一个月 + End interface{} // 截止时间,默认值时间范围为为近一天,最大时间范围不可超过一周 + PushType interface{} // 找回的推送类型 1:所有推送 2:失败推送 + Offset interface{} // 分页参数(起始条数),默认值为0 + Count interface{} // 分页参数(显示条数),默认值为100,最大值为100 + IDList interface{} // 推送id,多个用逗号(,)拼接,若传入该字段,以上参数字段不影响结果 +} + +// 响应结构体 + +type GetMsgResponsedatalistItem struct { + Content string `json:"content"` // 推送内容,加密后的结果 + ID int64 `json:"id"` // 推送id + Status int64 `json:"status"` // 推送状态 0:待推送 1:推送成功 2:推送失败 +} + +type GetMsgResponsedata struct { + Count int64 `json:"count"` // 总条数 + List []GetMsgResponsedatalistItem `json:"list"` // 响应数据结构 + Page int64 `json:"page"` // 当前页数 + PageSize int64 `json:"pageSize"` // 单页条数 +} + +type GetMsgResponse struct { + Data GetMsgResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetMsg +func GetMsg(params *GetMsgRequest) (*GetMsgResponsedata, error) { + var ( + err error + defaultRet *GetMsgResponsedata + ) + respData := &GetMsgResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pushmsg/getmsg") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("start", params.Start) + client.AddGetParam("end", params.End) + client.AddGetParam("push_type", params.PushType) + client.AddGetParam("offset", params.Offset) + client.AddGetParam("count", params.Count) + client.AddGetParam("id_list", params.IDList) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/msgtemplate/addMsgTemplate.go b/openapi/tp/msgtemplate/addMsgTemplate.go new file mode 100644 index 0000000..e6f01cd --- /dev/null +++ b/openapi/tp/msgtemplate/addMsgTemplate.go @@ -0,0 +1,65 @@ +package msgtemplate + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// AddMsgTemplateRequest 请求结构体 +type AddMsgTemplateRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + ID string // 模板标题 id + KeywordIDList string // 模板关键词 id 列表,如[1,2,3]; +} + +// 响应结构体 + +type AddMsgTemplateResponsedata struct { + TemplateID string `json:"template_id"` // 添加至帐号下的模板id,发送小程序模板消息时所需 +} + +type AddMsgTemplateResponse struct { + Data AddMsgTemplateResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// AddMsgTemplate +func AddMsgTemplate(params *AddMsgTemplateRequest) (*AddMsgTemplateResponsedata, error) { + var ( + err error + defaultRet *AddMsgTemplateResponsedata + ) + respData := &AddMsgTemplateResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/template/add") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("id", params.ID) + client.AddPostParam("keyword_id_list", params.KeywordIDList) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/msgtemplate/delMsgTemplate.go b/openapi/tp/msgtemplate/delMsgTemplate.go new file mode 100644 index 0000000..7cfbcbd --- /dev/null +++ b/openapi/tp/msgtemplate/delMsgTemplate.go @@ -0,0 +1,64 @@ +package msgtemplate + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// DelMsgTemplateRequest 请求结构体 +type DelMsgTemplateRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + TemplateID string // 模板 id ,发送小程序模板消息时所需 +} + +// 响应结构体 + +type DelMsgTemplateResponse struct { + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 + Data DelMsgTemplateResponsedata +} + +type DelMsgTemplateResponsedata struct { + Errno int64 `json:"errno"` // 状态码 + Msg string `json:"msg"` // 状态描述 +} + +// DelMsgTemplate +func DelMsgTemplate(params *DelMsgTemplateRequest) (*DelMsgTemplateResponsedata, error) { + var ( + err error + defaultRet *DelMsgTemplateResponsedata + ) + respData := &DelMsgTemplateResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/template/del") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("template_id", params.TemplateID) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/msgtemplate/getMsgTemplateLibraryKeyWord.go b/openapi/tp/msgtemplate/getMsgTemplateLibraryKeyWord.go new file mode 100644 index 0000000..b08fb83 --- /dev/null +++ b/openapi/tp/msgtemplate/getMsgTemplateLibraryKeyWord.go @@ -0,0 +1,72 @@ +package msgtemplate + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetMsgTemplateLibraryKeyWordRequest 请求结构体 +type GetMsgTemplateLibraryKeyWordRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + ID string // 模板标题id,可通过接口获取,也可登录小程序后台查看获取 +} + +// 响应结构体 + +type GetMsgTemplateLibraryKeyWordResponsedatakeywordListItem struct { + Example string `json:"example"` // 关键词内容对应的示例 + KeywordID int64 `json:"keyword_id"` // 关键词 id,添加模板时需要 + Name string `json:"name"` // 关键词内容 +} + +type GetMsgTemplateLibraryKeyWordResponsedata struct { + ID string `json:"id"` // 模板标题 id + KeywordCount int64 `json:"keyword_count"` // 关键字条数 + KeywordList []GetMsgTemplateLibraryKeyWordResponsedatakeywordListItem `json:"keyword_list"` // + Title string `json:"title"` // 模板标题 +} + +type GetMsgTemplateLibraryKeyWordResponse struct { + Data GetMsgTemplateLibraryKeyWordResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetMsgTemplateLibraryKeyWord +func GetMsgTemplateLibraryKeyWord(params *GetMsgTemplateLibraryKeyWordRequest) (*GetMsgTemplateLibraryKeyWordResponsedata, error) { + var ( + err error + defaultRet *GetMsgTemplateLibraryKeyWordResponsedata + ) + respData := &GetMsgTemplateLibraryKeyWordResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/template/library/get") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("id", params.ID) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/msgtemplate/getMsgTemplateLibraryList.go b/openapi/tp/msgtemplate/getMsgTemplateLibraryList.go new file mode 100644 index 0000000..03165b0 --- /dev/null +++ b/openapi/tp/msgtemplate/getMsgTemplateLibraryList.go @@ -0,0 +1,73 @@ +package msgtemplate + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetMsgTemplateLibraryListRequest 请求结构体 +type GetMsgTemplateLibraryListRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + Offset int64 // 用于分页,表示从offset开始,默认值为0 + Count int64 // 用于分页,表示拉取count条记录,默认值为0,最大为20 +} + +// 响应结构体 + +type GetMsgTemplateLibraryListResponsedatalistItem struct { + ID string `json:"id"` // 模板标题id(获取模板标题下的关键词库时需要) + Title string `json:"title"` // 模板标题内容 +} + +type GetMsgTemplateLibraryListResponsedata struct { + List []GetMsgTemplateLibraryListResponsedatalistItem `json:"list"` // + TotalCount int64 `json:"total_count"` // 模板库标题总数 +} + +type GetMsgTemplateLibraryListResponse struct { + Data GetMsgTemplateLibraryListResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetMsgTemplateLibraryList +func GetMsgTemplateLibraryList(params *GetMsgTemplateLibraryListRequest) (*GetMsgTemplateLibraryListResponsedata, error) { + var ( + err error + defaultRet *GetMsgTemplateLibraryListResponsedata + ) + respData := &GetMsgTemplateLibraryListResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/template/library/list") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("offset", fmt.Sprintf("%v", params.Offset)) + client.AddGetParam("count", fmt.Sprintf("%v", params.Count)) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/msgtemplate/getMsgTemplateList.go b/openapi/tp/msgtemplate/getMsgTemplateList.go new file mode 100644 index 0000000..254df67 --- /dev/null +++ b/openapi/tp/msgtemplate/getMsgTemplateList.go @@ -0,0 +1,75 @@ +package msgtemplate + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetMsgTemplateListRequest 请求结构体 +type GetMsgTemplateListRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + Offset int64 // 用于分页,表示从offset开始,默认值为0 + Count int64 // 用于分页,表示拉取count条记录,默认值为0,最大为20 +} + +// 响应结构体 + +type GetMsgTemplateListResponsedatalistItem struct { + Content string `json:"content"` // 模板内容 + Example string `json:"example"` // 模板内容示例 + TemplateID string `json:"template_id"` // 模板 id ,发送小程序模板消息时所需 + Title string `json:"title"` // 模板标题 +} + +type GetMsgTemplateListResponsedata struct { + List []GetMsgTemplateListResponsedatalistItem `json:"list"` // 模板对象数组,对象中包含模板 id 、模板标题 title 、模板内容 content 、模板内容示例 example + TotalCount int64 `json:"total_count"` // 模板库标题总数 +} + +type GetMsgTemplateListResponse struct { + Data GetMsgTemplateListResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetMsgTemplateList +func GetMsgTemplateList(params *GetMsgTemplateListRequest) (*GetMsgTemplateListResponsedata, error) { + var ( + err error + defaultRet *GetMsgTemplateListResponsedata + ) + respData := &GetMsgTemplateListResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/template/list") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("offset", fmt.Sprintf("%v", params.Offset)) + client.AddGetParam("count", fmt.Sprintf("%v", params.Count)) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/msgtemplate/sendMsg.go b/openapi/tp/msgtemplate/sendMsg.go new file mode 100644 index 0000000..8ab2375 --- /dev/null +++ b/openapi/tp/msgtemplate/sendMsg.go @@ -0,0 +1,79 @@ +package msgtemplate + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// SendMsgRequest 请求结构体 +type SendMsgRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + TemplateID string // 模板 id ,发送小程序模板消息时所需 + TouserOpenID string // 接收者 open_id + Data string // {"keyword1": {"value": "2018-09-06"},"keyword2": {"value": "kfc"}} + Page interface{} // 点击模板卡片后的跳转页面,仅限本小程序内的页面。支持带参数,(示例index?foo=bar),该字段不填则模板无跳转。 + SceneID string // 场景 id,例如表单 id 和订单 id + SceneType int64 // 场景type,1:表单;2:百度收银台订单;3:直连订单 + Title string // 标题 + Ext interface{} // {"xzh_id":111,"category_id":15} +} + +// 响应结构体 + +type SendMsgResponsedata struct { + MsgKey int64 `json:"msg_key"` // 消息 id +} + +type SendMsgResponse struct { + Data SendMsgResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// SendMsg +func SendMsg(params *SendMsgRequest) (*SendMsgResponsedata, error) { + var ( + err error + defaultRet *SendMsgResponsedata + ) + respData := &SendMsgResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/template/sendmessage") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("template_id", params.TemplateID) + client.AddPostParam("touser_openId", params.TouserOpenID) + client.AddPostParam("data", params.Data) + client.AddPostParam("page", params.Page) + client.AddPostParam("scene_id", params.SceneID) + client.AddPostParam("scene_type", fmt.Sprintf("%v", params.SceneType)) + client.AddPostParam("title", params.Title) + client.AddPostParam("ext", params.Ext) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/offline/getAppViolationDetail.go b/openapi/tp/offline/getAppViolationDetail.go new file mode 100644 index 0000000..d5864bf --- /dev/null +++ b/openapi/tp/offline/getAppViolationDetail.go @@ -0,0 +1,72 @@ +package offline + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetAppViolationDetailRequest 请求结构体 +type GetAppViolationDetailRequest struct { + AccessToken string // 授权小程序的接口调用凭据 +} + +// 响应结构体 + +type GetAppViolationDetailResponsedataproblemDetailsItem struct { + AuditReason string `json:"auditReason"` // 审核原因 + AuditShot string `json:"auditShot"` // 审核截图 + ProblemDesc string `json:"problemDesc"` // 问题描述 + ProblemPath string `json:"problemPath"` // 问题 path + ScreenShot string `json:"screenShot"` // 问题截图 + Status int64 `json:"status"` // 问题状态 + TaskID int64 `json:"taskId"` // 任务 ID +} + +type GetAppViolationDetailResponsedata struct { + AppID int64 `json:"appId"` // 小程序 ID + ProblemDetails []GetAppViolationDetailResponsedataproblemDetailsItem `json:"problemDetails"` // +} + +type GetAppViolationDetailResponse struct { + Data GetAppViolationDetailResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetAppViolationDetail +func GetAppViolationDetail(params *GetAppViolationDetailRequest) (*GetAppViolationDetailResponsedata, error) { + var ( + err error + defaultRet *GetAppViolationDetailResponsedata + ) + respData := &GetAppViolationDetailResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/app/violation") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/offline/setAppOffline.go b/openapi/tp/offline/setAppOffline.go new file mode 100644 index 0000000..3189a49 --- /dev/null +++ b/openapi/tp/offline/setAppOffline.go @@ -0,0 +1,69 @@ +package offline + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// SetAppOfflineRequest 请求结构体 +type SetAppOfflineRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + AppName interface{} // 小程序名称 + AppDesc interface{} // 小程序描述 + PhotoAddr interface{} // 小程序图片 + AppNameMaterial interface{} // 名称相关物料 +} + +// 响应结构体 + +type SetAppOfflineResponsedata struct { + ExamineID int64 `json:"examine_id"` // 审核ID +} + +type SetAppOfflineResponse struct { + Data SetAppOfflineResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// SetAppOffline +func SetAppOffline(params *SetAppOfflineRequest) (*SetAppOfflineResponsedata, error) { + var ( + err error + defaultRet *SetAppOfflineResponsedata + ) + respData := &SetAppOfflineResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/app/offline/update") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("app_name", params.AppName) + client.AddPostParam("app_desc", params.AppDesc) + client.AddPostParam("photo_addr", params.PhotoAddr) + client.AddPostParam("app_name_material", params.AppNameMaterial) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/optimization/getPrelink.go b/openapi/tp/optimization/getPrelink.go new file mode 100644 index 0000000..47ffc30 --- /dev/null +++ b/openapi/tp/optimization/getPrelink.go @@ -0,0 +1,57 @@ +package optimization + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetPrelinkRequest 请求结构体 +type GetPrelinkRequest struct { + AccessToken string // 授权小程序的接口调用凭据 +} + +// 响应结构体 + +type GetPrelinkResponse struct { + Data []string `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetPrelink +func GetPrelink(params *GetPrelinkRequest) ([]string, error) { + var ( + err error + defaultRet []string + ) + respData := &GetPrelinkResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/prelink/get") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/optimization/setPrelink.go b/openapi/tp/optimization/setPrelink.go new file mode 100644 index 0000000..939e3d2 --- /dev/null +++ b/openapi/tp/optimization/setPrelink.go @@ -0,0 +1,85 @@ +package optimization + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// SetPrelinkRequest 请求结构体 +type SetPrelinkRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + PrelinkURL string // prelink 链接 +} + +// 响应结构体 + +type SetPrelinkResponsedatacheckResulthttpsBaikeBaiduCom struct { + FailReason []string `json:"failReason"` // 失败原因 + Status int64 `json:"status"` // 状态 1-失败 0-成功 +} + +type SetPrelinkResponsedatacheckResulthttpsWwwBaiduCom struct { + FailReason []string `json:"failReason"` // 失败原因 + Status int64 `json:"status"` // 状态 1-失败 0-成功 +} + +type SetPrelinkResponsedatacheckResultflexKey struct { + FailReason []string `json:"failReason"` // + Status string `json:"status"` // +} + +type SetPrelinkResponsedatacheckResult struct { + FlexKey SetPrelinkResponsedatacheckResultflexKey `json:"flexKey"` // + HTTPSBaikeBaiduCom SetPrelinkResponsedatacheckResulthttpsBaikeBaiduCom `json:"https://baike.baidu.com"` // + HTTPSWwwBaiduCom SetPrelinkResponsedatacheckResulthttpsWwwBaiduCom `json:"https://www.baidu.com"` // +} + +type SetPrelinkResponsedata struct { + CheckResult SetPrelinkResponsedatacheckResult `json:"checkResult"` // 域名检查返回 + Status int64 `json:"status"` // 状态 1-失败 0-成功 +} + +type SetPrelinkResponse struct { + Data SetPrelinkResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// SetPrelink +func SetPrelink(params *SetPrelinkRequest) (*SetPrelinkResponsedata, error) { + var ( + err error + defaultRet *SetPrelinkResponsedata + ) + respData := &SetPrelinkResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/prelink/set") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("prelink_url", params.PrelinkURL) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/order/addMainInfo.go b/openapi/tp/order/addMainInfo.go new file mode 100644 index 0000000..ec2323d --- /dev/null +++ b/openapi/tp/order/addMainInfo.go @@ -0,0 +1,174 @@ +package order + +import ( + "encoding/json" + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// AddMainInfoRequest 请求结构体 +type AddMainInfoRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + OpenID string // 用户 openId + SceneID string // 百度收银台分配的平台订单 ID ,通知支付状态接口返回的 orderId + SceneType int64 // 支付场景类型,开发者请默认传 2 + Data []AddMainInfoRequestDataItem // +} + +type AddMainInfoRequestDataItemEXTMainOrderProductsItemSkuAttrItem struct { + Name string `json:"Name"` // + Value string `json:"Value"` // +} +type AddMainInfoRequestDataItemEXTMainOrderProductsItem struct { + Desc string `json:"Desc"` // 商品详情 + ID string `json:"ID"` // 商品ID + ImgList []string `json:"ImgList"` // 商品图片地址 + Name string `json:"Name"` // 商品名称 + PayPrice int64 `json:"PayPrice"` // 实付价格,单位分。 + Price int64 `json:"Price"` // 商品原价,单位分。 + Quantity int64 `json:"Quantity"` // 商品数量 + SkuAttr []AddMainInfoRequestDataItemEXTMainOrderProductsItemSkuAttrItem `json:"SkuAttr"` // 商品SKU属性 +} +type AddMainInfoRequestDataItemEXTMainOrderPaymentPreferentialInfoItem struct { + Name string `json:"Name"` // 名称 + Quantity int64 `json:"Quantity"` // 数量 + Value int64 `json:"Value"` // 优惠金额,单位分 +} +type AddMainInfoRequestDataItemEXTMainOrderPaymentPaymentInfoItem struct { + Name string `json:"Name"` // 展示名称 + Quantity int64 `json:"Quantity"` // 数量 + Value int64 `json:"Value"` // 付款金额,单位分 +} +type AddMainInfoRequestDataItemEXTMainOrderPayment struct { + Amount int64 `json:"Amount"` // 合计金额,单位分 + IsPayment bool `json:"IsPayment"` // 是否支付 + Method int64 `json:"Method"` // 支付方式 + PaymentInfo []AddMainInfoRequestDataItemEXTMainOrderPaymentPaymentInfoItem `json:"PaymentInfo"` // 付款信息 + PreferentialInfo []AddMainInfoRequestDataItemEXTMainOrderPaymentPreferentialInfoItem `json:"PreferentialInfo"` // 优惠信息 + Time int64 `json:"Time"` // 付款时间,时间戳 +} +type AddMainInfoRequestDataItemEXTMainOrderAppraise struct { + Name string `json:"Name"` // + Status int64 `json:"Status"` // 订单评价跳转 + SwanSchema string `json:"SwanSchema"` // +} +type AddMainInfoRequestDataItemEXTMainOrderOrderDetail struct { + Name string `json:"Name"` // + Status int64 `json:"Status"` // + SwanSchema string `json:"SwanSchema"` // +} +type AddMainInfoRequestDataItemEXTMainOrder struct { + Appraise AddMainInfoRequestDataItemEXTMainOrderAppraise `json:"Appraise"` // + OrderDetail AddMainInfoRequestDataItemEXTMainOrderOrderDetail `json:"OrderDetail"` // 订单详情跳转 + Payment AddMainInfoRequestDataItemEXTMainOrderPayment `json:"Payment"` // 支付信息 + Products []AddMainInfoRequestDataItemEXTMainOrderProductsItem `json:"Products"` // 商品信息 +} +type AddMainInfoRequestDataItemEXTSubsOrderItemsItemRefundProductItem struct { + Amount int64 `json:"Amount"` // 应退金额,单位分 + ID string `json:"ID"` // 商品ID + Quantity int64 `json:"Quantity"` // 商品退款/商品退货 数量 +} +type AddMainInfoRequestDataItemEXTSubsOrderItemsItemRefund struct { + Amount int64 `json:"Amount"` // 退款总金额 + Product []AddMainInfoRequestDataItemEXTSubsOrderItemsItemRefundProductItem `json:"Product"` // 退款/退货商品 +} +type AddMainInfoRequestDataItemEXTSubsOrderItemsItemOrderDetail struct { + AndroidSchema string `json:"AndroidSchema"` // + IPhoneSchema string `json:"IPhoneSchema"` // + Name string `json:"Name"` // + Status int64 `json:"Status"` // + SwanSchema string `json:"SwanSchema"` // +} +type AddMainInfoRequestDataItemEXTSubsOrderItemsItem struct { + CTime int64 `json:"CTime"` // 售后订单创建时间,时间戳 + MTime int64 `json:"MTime"` // 售后订单修改时间,时间戳 + OrderDetail AddMainInfoRequestDataItemEXTSubsOrderItemsItemOrderDetail `json:"OrderDetail"` // 退款退货订单详情跳转 + OrderType int64 `json:"OrderType"` // 退款订单类型 + Refund AddMainInfoRequestDataItemEXTSubsOrderItemsItemRefund `json:"Refund"` // 商品 退款/退货 信息 + SubOrderID string `json:"SubOrderID"` // 售后订单ID + SubStatus int64 `json:"SubStatus"` // 自订单状态,枚举参照 【退换货枚举值】 +} +type AddMainInfoRequestDataItemEXTSubsOrder struct { + Items []AddMainInfoRequestDataItemEXTSubsOrderItemsItem `json:"Items"` // + Status int64 `json:"Status"` // +} +type AddMainInfoRequestDataItemEXT struct { + MainOrder AddMainInfoRequestDataItemEXTMainOrder `json:"MainOrder"` // 订单信息 + SubsOrder AddMainInfoRequestDataItemEXTSubsOrder `json:"SubsOrder"` // 售后订单信息,若该订单发生退款/售后,需新增同步其售后订单的售后信息状态 +} +type AddMainInfoRequestDataItem struct { + BizAPPID string `json:"BizAPPID"` // 小程序AppKey + CateID int64 `json:"CateID"` // 1:订单种类-实物商品 + Ctime int64 `json:"Ctime"` // 订单创建时间 + EXT AddMainInfoRequestDataItemEXT `json:"EXT"` // 拓展字段 + Mtime int64 `json:"Mtime"` // 订单最后修改时间 + ResourceID string `json:"ResourceID"` // 开发者接入的唯一订单ID + Status int64 `json:"Status"` // 200:订单状态-已完成交易 + Title string `json:"Title"` // 订单名称 +} + +// 响应结构体 + +type AddMainInfoResponsedataItem struct { + BizAppID string `json:"biz_app_id"` // POST请求参数中BizAPPID + CateID string `json:"cate_id"` // POST请求参数中CateID + ResourceID string `json:"resource_id"` // POST请求参数中ResourceID + RowsAffected string `json:"rows_affected"` // 请求受影响行数(即请求是否成功 0为失败 非0为成功) +} + +type AddMainInfoResponse struct { + Data []AddMainInfoResponsedataItem `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// AddMainInfo +func AddMainInfo(params *AddMainInfoRequest) ([]AddMainInfoResponsedataItem, error) { + var ( + err error + defaultRet []AddMainInfoResponsedataItem + ) + respData := &AddMainInfoResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeJSON). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/ordercenter/add/main/info") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("open_id", params.OpenID) + client.AddGetParam("scene_id", params.SceneID) + client.AddGetParam("scene_type", fmt.Sprintf("%v", params.SceneType)) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + postData := map[string]interface{}{ + "Data": params.Data, + } + bts, err := json.Marshal(postData) + if err != nil { + return defaultRet, err + } + client.SetBody(bts) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/order/appendSubInfo.go b/openapi/tp/order/appendSubInfo.go new file mode 100644 index 0000000..775046b --- /dev/null +++ b/openapi/tp/order/appendSubInfo.go @@ -0,0 +1,118 @@ +package order + +import ( + "encoding/json" + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// AppendSubInfoRequest 请求结构体 +type AppendSubInfoRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + OpenID string // 用户openId + SceneID string // 百度收银台分配的平台订单ID,通知支付状态接口返回的orderId + SceneType int64 // 支付场景类型,开发者请默认传2 + Data []AppendSubInfoRequestDataItem // +} + +type AppendSubInfoRequestDataItemEXTSubsOrderItemsItemOrderDetail struct { + Name string `json:"Name"` // + Status int64 `json:"Status"` // + SwanSchema string `json:"SwanSchema"` // +} +type AppendSubInfoRequestDataItemEXTSubsOrderItemsItemRefundProductItem struct { + Amount int64 `json:"Amount"` // 应退金额,单位分 + ID string `json:"ID"` // 商品ID + Quantity int64 `json:"Quantity"` // 商品退款/商品退货 数量 +} +type AppendSubInfoRequestDataItemEXTSubsOrderItemsItemRefund struct { + Amount int64 `json:"Amount"` // 退款总金额 + Product []AppendSubInfoRequestDataItemEXTSubsOrderItemsItemRefundProductItem `json:"Product"` // 退款/退货商品 +} +type AppendSubInfoRequestDataItemEXTSubsOrderItemsItem struct { + CTime int64 `json:"CTime"` // 售后订单创建时间,时间戳 + MTime int64 `json:"MTime"` // 售后订单修改时间,时间戳 + OrderDetail AppendSubInfoRequestDataItemEXTSubsOrderItemsItemOrderDetail `json:"OrderDetail"` // 退款退货订单详情跳转 + OrderType int64 `json:"OrderType"` // 退款订单类型 + Refund AppendSubInfoRequestDataItemEXTSubsOrderItemsItemRefund `json:"Refund"` // 商品 退款/退货 信息 + SubOrderID string `json:"SubOrderID"` // 售后订单ID + SubStatus int64 `json:"SubStatus"` // 自订单状态,枚举参照 【退换货枚举值】 +} +type AppendSubInfoRequestDataItemEXTSubsOrder struct { + Items []AppendSubInfoRequestDataItemEXTSubsOrderItemsItem `json:"Items"` // +} +type AppendSubInfoRequestDataItemEXT struct { + SubsOrder AppendSubInfoRequestDataItemEXTSubsOrder `json:"SubsOrder"` // 售后订单信息 +} +type AppendSubInfoRequestDataItem struct { + BizAPPID string `json:"BizAPPID"` // 小程序的appKey + CateID int64 `json:"CateID"` // 2:订单种类-虚拟物品 + EXT AppendSubInfoRequestDataItemEXT `json:"EXT"` // 拓展字段 根据资产的不同其结构也不固定 此处以订单为例 + ResourceID string `json:"ResourceID"` // 开发者接入的唯一订单ID +} + +// 响应结构体 + +type AppendSubInfoResponsedataItem struct { + BizAppID string `json:"biz_app_id"` // POST请求参数中BizAPPID + CateID string `json:"cate_id"` // POST请求参数中CateID + ResourceID string `json:"resource_id"` // POST请求参数中ResourceID + RowsAffected string `json:"rows_affected"` // 请求受影响行数(即请求是否成功 0为失败 非0为成功) +} + +type AppendSubInfoResponse struct { + Data []AppendSubInfoResponsedataItem `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// AppendSubInfo +func AppendSubInfo(params *AppendSubInfoRequest) ([]AppendSubInfoResponsedataItem, error) { + var ( + err error + defaultRet []AppendSubInfoResponsedataItem + ) + respData := &AppendSubInfoResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeJSON). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/ordercenter/append/sub/info") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("open_id", params.OpenID) + client.AddGetParam("scene_id", params.SceneID) + client.AddGetParam("scene_type", fmt.Sprintf("%v", params.SceneType)) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + postData := map[string]interface{}{ + "Data": params.Data, + } + bts, err := json.Marshal(postData) + if err != nil { + return defaultRet, err + } + client.SetBody(bts) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/order/updateMainInfo.go b/openapi/tp/order/updateMainInfo.go new file mode 100644 index 0000000..5ea43b8 --- /dev/null +++ b/openapi/tp/order/updateMainInfo.go @@ -0,0 +1,141 @@ +package order + +import ( + "encoding/json" + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// UpdateMainInfoRequest 请求结构体 +type UpdateMainInfoRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + OpenID string // 用户 openId + SceneID string // 百度收银台分配的平台订单 ID ,通知支付状态接口返回的 orderId + SceneType int64 // 支付场景类型,开发者请默认传 2 + Data []UpdateMainInfoRequestDataItem // +} + +type UpdateMainInfoRequestDataItemEXTMainOrderOrderDetail struct { + Name string `json:"Name"` // + Status int64 `json:"Status"` // + SwanSchema string `json:"SwanSchema"` // +} +type UpdateMainInfoRequestDataItemEXTMainOrderProductsItemSkuAttrItem struct { + Name string `json:"Name"` // + Value string `json:"Value"` // +} +type UpdateMainInfoRequestDataItemEXTMainOrderProductsItem struct { + Desc string `json:"Desc"` // 商品详情 + ID string `json:"ID"` // 商品ID + ImgList []string `json:"ImgList"` // 商品图片地址 + Name string `json:"Name"` // 商品名称 + PayPrice int64 `json:"PayPrice"` // 实付价格,单位分。 + Price int64 `json:"Price"` // 商品原价,单位分。 + Quantity int64 `json:"Quantity"` // 商品数量 + SkuAttr []UpdateMainInfoRequestDataItemEXTMainOrderProductsItemSkuAttrItem `json:"SkuAttr"` // 商品SKU属性 +} +type UpdateMainInfoRequestDataItemEXTMainOrderPaymentPreferentialInfoItem struct { + Name string `json:"Name"` // 名称 + Quantity int64 `json:"Quantity"` // 数量 + Value int64 `json:"Value"` // 优惠金额,单位分 +} +type UpdateMainInfoRequestDataItemEXTMainOrderPaymentPaymentInfoItem struct { + Name string `json:"Name"` // 展示名称 + Quantity int64 `json:"Quantity"` // 数量 + Value int64 `json:"Value"` // 付款金额,单位分 +} +type UpdateMainInfoRequestDataItemEXTMainOrderPayment struct { + Amount int64 `json:"Amount"` // 合计金额,单位分 + IsPayment bool `json:"IsPayment"` // 是否支付 + Method int64 `json:"Method"` // 支付方式 + PaymentInfo []UpdateMainInfoRequestDataItemEXTMainOrderPaymentPaymentInfoItem `json:"PaymentInfo"` // 付款信息 + PreferentialInfo []UpdateMainInfoRequestDataItemEXTMainOrderPaymentPreferentialInfoItem `json:"PreferentialInfo"` // 优惠信息 + Time int64 `json:"Time"` // 付款时间,时间戳 +} +type UpdateMainInfoRequestDataItemEXTMainOrderAppraise struct { + Name string `json:"Name"` // + Status int64 `json:"Status"` // + SwanSchema string `json:"SwanSchema"` // +} +type UpdateMainInfoRequestDataItemEXTMainOrder struct { + Appraise UpdateMainInfoRequestDataItemEXTMainOrderAppraise `json:"Appraise"` // 订单评价跳转 + OrderDetail UpdateMainInfoRequestDataItemEXTMainOrderOrderDetail `json:"OrderDetail"` // 订单详情跳转 + Payment UpdateMainInfoRequestDataItemEXTMainOrderPayment `json:"Payment"` // 支付信息 + Products []UpdateMainInfoRequestDataItemEXTMainOrderProductsItem `json:"Products"` // 商品信息 +} +type UpdateMainInfoRequestDataItemEXT struct { + MainOrder UpdateMainInfoRequestDataItemEXTMainOrder `json:"MainOrder"` // 订单信息 +} +type UpdateMainInfoRequestDataItem struct { + BizAPPID string `json:"BizAPPID"` // 小程序的key + CateID int64 `json:"CateID"` // 2:订单种类-虚拟物品 + EXT UpdateMainInfoRequestDataItemEXT `json:"EXT"` // 拓展字段 此处以订单为例 + ResourceID string `json:"ResourceID"` // 开发者接入的唯一订单ID + Status int64 `json:"Status"` // 200:订单状态-已完成交易 +} + +// 响应结构体 + +type UpdateMainInfoResponsedataItem struct { + BizAppID string `json:"biz_app_id"` // POST请求参数中BizAPPID + CateID string `json:"cate_id"` // POST请求参数中CateID + ResourceID string `json:"resource_id"` // POST请求参数中ResourceID + RowsAffected string `json:"rows_affected"` // 请求受影响行数(即请求是否成功 0为失败 非0为成功) +} + +type UpdateMainInfoResponse struct { + Data []UpdateMainInfoResponsedataItem `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// UpdateMainInfo +func UpdateMainInfo(params *UpdateMainInfoRequest) ([]UpdateMainInfoResponsedataItem, error) { + var ( + err error + defaultRet []UpdateMainInfoResponsedataItem + ) + respData := &UpdateMainInfoResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeJSON). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/ordercenter/update/main/info") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("open_id", params.OpenID) + client.AddGetParam("scene_id", params.SceneID) + client.AddGetParam("scene_type", fmt.Sprintf("%v", params.SceneType)) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + postData := map[string]interface{}{ + "Data": params.Data, + } + bts, err := json.Marshal(postData) + if err != nil { + return defaultRet, err + } + client.SetBody(bts) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/order/updateMainStatus.go b/openapi/tp/order/updateMainStatus.go new file mode 100644 index 0000000..5b997c0 --- /dev/null +++ b/openapi/tp/order/updateMainStatus.go @@ -0,0 +1,89 @@ +package order + +import ( + "encoding/json" + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// UpdateMainStatusRequest 请求结构体 +type UpdateMainStatusRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + OpenID string // 用户 openId + SceneID string // 百度收银台分配的平台订单 ID ,通知支付状态接口返回的 orderId + SceneType int64 // 支付场景类型,开发者请默认传 2 + Data []UpdateMainStatusRequestDataItem // +} + +type UpdateMainStatusRequestDataItem struct { + BizAPPID string `json:"BizAPPID"` // 应用小程序Key + CateID int64 `json:"CateID"` // 2:订单种类-虚拟物品 + ResourceID string `json:"ResourceID"` // 开发者接入的唯一订单ID + Status int64 `json:"Status"` // 200:订单状态-已完成交易 +} + +// 响应结构体 + +type UpdateMainStatusResponsedataItem struct { + BizAppID string `json:"biz_app_id"` // POST请求参数中BizAPPID + CateID string `json:"cate_id"` // POST请求参数中CateID + ResourceID string `json:"resource_id"` // POST请求参数中ResourceID + RowsAffected string `json:"rows_affected"` // 请求受影响行数(即请求是否成功 0为失败 非0为成功) +} + +type UpdateMainStatusResponse struct { + Data []UpdateMainStatusResponsedataItem `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// UpdateMainStatus +func UpdateMainStatus(params *UpdateMainStatusRequest) ([]UpdateMainStatusResponsedataItem, error) { + var ( + err error + defaultRet []UpdateMainStatusResponsedataItem + ) + respData := &UpdateMainStatusResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeJSON). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/ordercenter/update/main/status") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("open_id", params.OpenID) + client.AddGetParam("scene_id", params.SceneID) + client.AddGetParam("scene_type", fmt.Sprintf("%v", params.SceneType)) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + postData := map[string]interface{}{ + "Data": params.Data, + } + bts, err := json.Marshal(postData) + if err != nil { + return defaultRet, err + } + client.SetBody(bts) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/order/updateSubInfo.go b/openapi/tp/order/updateSubInfo.go new file mode 100644 index 0000000..7a395f7 --- /dev/null +++ b/openapi/tp/order/updateSubInfo.go @@ -0,0 +1,122 @@ +package order + +import ( + "encoding/json" + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// UpdateSubInfoRequest 请求结构体 +type UpdateSubInfoRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + OpenID string // 用户openId + SceneID string // 百度收银台分配的平台订单ID,通知支付状态接口返回的orderId + SceneType int64 // 支付场景类型,开发者请默认传2 + Data []UpdateSubInfoRequestDataItem // +} + +type UpdateSubInfoRequestDataItemEXTSubsOrderItemsItemOrderDetail struct { + AndroidSchema string `json:"AndroidSchema"` // + H5Schema string `json:"H5Schema"` // + IPhoneSchema string `json:"IPhoneSchema"` // + Name string `json:"Name"` // + Status int64 `json:"Status"` // + SwanSchema string `json:"SwanSchema"` // +} +type UpdateSubInfoRequestDataItemEXTSubsOrderItemsItemRefundProductItem struct { + Amount int64 `json:"Amount"` // + ID string `json:"ID"` // + Quantity int64 `json:"Quantity"` // +} +type UpdateSubInfoRequestDataItemEXTSubsOrderItemsItemRefund struct { + Amount int64 `json:"Amount"` // + Product []UpdateSubInfoRequestDataItemEXTSubsOrderItemsItemRefundProductItem `json:"Product"` // +} +type UpdateSubInfoRequestDataItemEXTSubsOrderItemsItem struct { + CTime int64 `json:"CTime"` // + MTime int64 `json:"MTime"` // + OrderDetail UpdateSubInfoRequestDataItemEXTSubsOrderItemsItemOrderDetail `json:"OrderDetail"` // + OrderType int64 `json:"OrderType"` // + Refund UpdateSubInfoRequestDataItemEXTSubsOrderItemsItemRefund `json:"Refund"` // + SubOrderID string `json:"SubOrderID"` // + SubStatus int64 `json:"SubStatus"` // +} +type UpdateSubInfoRequestDataItemEXTSubsOrder struct { + Items []UpdateSubInfoRequestDataItemEXTSubsOrderItemsItem `json:"Items"` // + Status int64 `json:"Status"` // +} +type UpdateSubInfoRequestDataItemEXT struct { + SubsOrder UpdateSubInfoRequestDataItemEXTSubsOrder `json:"SubsOrder"` // +} +type UpdateSubInfoRequestDataItem struct { + BizAPPID string `json:"BizAPPID"` // + CateID int64 `json:"CateID"` // + EXT UpdateSubInfoRequestDataItemEXT `json:"EXT"` // + ResourceID string `json:"ResourceID"` // +} + +// 响应结构体 + +type UpdateSubInfoResponsedataItem struct { + BizAppID string `json:"biz_app_id"` // POST请求参数中BizAPPID + CateID string `json:"cate_id"` // POST请求参数中CateID + ResourceID string `json:"resource_id"` // POST请求参数中ResourceID + RowsAffected string `json:"rows_affected"` // 请求受影响行数(即请求是否成功 0为失败 非0为成功) +} + +type UpdateSubInfoResponse struct { + Data []UpdateSubInfoResponsedataItem `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// UpdateSubInfo +func UpdateSubInfo(params *UpdateSubInfoRequest) ([]UpdateSubInfoResponsedataItem, error) { + var ( + err error + defaultRet []UpdateSubInfoResponsedataItem + ) + respData := &UpdateSubInfoResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeJSON). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/ordercenter/update/sub/info") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("open_id", params.OpenID) + client.AddGetParam("scene_id", params.SceneID) + client.AddGetParam("scene_type", fmt.Sprintf("%v", params.SceneType)) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + postData := map[string]interface{}{ + "Data": params.Data, + } + bts, err := json.Marshal(postData) + if err != nil { + return defaultRet, err + } + client.SetBody(bts) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/order/updateSubStatus.go b/openapi/tp/order/updateSubStatus.go new file mode 100644 index 0000000..e4ee520 --- /dev/null +++ b/openapi/tp/order/updateSubStatus.go @@ -0,0 +1,100 @@ +package order + +import ( + "encoding/json" + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// UpdateSubStatusRequest 请求结构体 +type UpdateSubStatusRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + OpenID string // 用户openId + SceneID string // 百度收银台分配的平台订单ID,通知支付状态接口返回的orderId + SceneType int64 // 支付场景类型,开发者请默认传2 + Data []UpdateSubStatusRequestDataItem // +} + +type UpdateSubStatusRequestDataItemEXTSubsOrderItemsItem struct { + SubOrderID string `json:"SubOrderID"` // 售后订单ID + SubStatus int64 `json:"SubStatus"` // 自订单状态,枚举参照 【退换货枚举值】 +} +type UpdateSubStatusRequestDataItemEXTSubsOrder struct { + Items []UpdateSubStatusRequestDataItemEXTSubsOrderItemsItem `json:"Items"` // + Status int64 `json:"Status"` // +} +type UpdateSubStatusRequestDataItemEXT struct { + SubsOrder UpdateSubStatusRequestDataItemEXTSubsOrder `json:"SubsOrder"` // 售后订单信息 +} +type UpdateSubStatusRequestDataItem struct { + BizAPPID string `json:"BizAPPID"` // 小程序的appKey + CateID int64 `json:"CateID"` // 2:订单种类-虚拟物品 + EXT UpdateSubStatusRequestDataItemEXT `json:"EXT"` // 拓展字段 根据资产的不同其结构也不固定 此处以订单为例 + ResourceID string `json:"ResourceID"` // 开发者接入的唯一订单ID +} + +// 响应结构体 + +type UpdateSubStatusResponsedataItem struct { + BizAppID string `json:"biz_app_id"` // POST请求参数中BizAPPID + CateID string `json:"cate_id"` // POST请求参数中CateID + ResourceID string `json:"resource_id"` // POST请求参数中ResourceID + RowsAffected string `json:"rows_affected"` // 请求受影响行数(即请求是否成功 0为失败 非0为成功) +} + +type UpdateSubStatusResponse struct { + Data []UpdateSubStatusResponsedataItem `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// UpdateSubStatus +func UpdateSubStatus(params *UpdateSubStatusRequest) ([]UpdateSubStatusResponsedataItem, error) { + var ( + err error + defaultRet []UpdateSubStatusResponsedataItem + ) + respData := &UpdateSubStatusResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeJSON). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/ordercenter/update/sub/status") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("open_id", params.OpenID) + client.AddGetParam("scene_id", params.SceneID) + client.AddGetParam("scene_type", fmt.Sprintf("%v", params.SceneType)) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + postData := map[string]interface{}{ + "Data": params.Data, + } + bts, err := json.Marshal(postData) + if err != nil { + return defaultRet, err + } + client.SetBody(bts) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/pay/applyOrderRefund.go b/openapi/tp/pay/applyOrderRefund.go new file mode 100644 index 0000000..5453a8c --- /dev/null +++ b/openapi/tp/pay/applyOrderRefund.go @@ -0,0 +1,84 @@ +package pay + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// ApplyOrderRefundRequest 请求结构体 +type ApplyOrderRefundRequest struct { + AccessToken string // 第三方平台的接口调用凭据 + ApplyRefundMoney interface{} // 退款金额(单位:分),该字段最大不能超过支付回调中的总金额(totalMoney)1.如不填金额时,默认整单发起退款2.含有百度平台营销的订单,目前只支持整单发起退款,不支持部分多次退款 + BizRefundBatchID string // 开发者退款批次 + IsSkipAudit int64 // 是否跳过审核,不需要百度请求开发者退款审核请传 1,默认为0; 0:不跳过开发者业务方审核;1:跳过开发者业务方审核。若不跳过审核,请对接请求业务方退款审核接口 + OrderID int64 // 百度收银台订单 ID + RefundReason string // 退款原因 + RefundType int64 // 退款类型 1:用户发起退款;2:开发者业务方客服退款;3:开发者服务异常退款。 + TpOrderID string // 开发者订单 ID + UserID int64 // 百度收银台用户 ID + RefundNotifyURL interface{} // 退款通知 url ,不传时默认为在开发者后台配置的 url + PmAppKey string // 调起百度收银台的支付服务 appKey +} + +// 响应结构体 + +type ApplyOrderRefundResponsedata struct { + RefundBatchID string `json:"refundBatchId"` // 平台退款批次号 + RefundPayMoney int64 `json:"refundPayMoney"` // 平台可退退款金额【分为单位】 +} + +type ApplyOrderRefundResponse struct { + Data ApplyOrderRefundResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// ApplyOrderRefund +func ApplyOrderRefund(params *ApplyOrderRefundRequest) (*ApplyOrderRefundResponsedata, error) { + var ( + err error + defaultRet *ApplyOrderRefundResponsedata + ) + respData := &ApplyOrderRefundResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pay/paymentservice/tp/applyOrderRefund") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("applyRefundMoney", params.ApplyRefundMoney) + client.AddPostParam("bizRefundBatchId", params.BizRefundBatchID) + client.AddPostParam("isSkipAudit", fmt.Sprintf("%v", params.IsSkipAudit)) + client.AddPostParam("orderId", fmt.Sprintf("%v", params.OrderID)) + client.AddPostParam("refundReason", params.RefundReason) + client.AddPostParam("refundType", fmt.Sprintf("%v", params.RefundType)) + client.AddPostParam("tpOrderId", params.TpOrderID) + client.AddPostParam("userId", fmt.Sprintf("%v", params.UserID)) + client.AddPostParam("refundNotifyUrl", params.RefundNotifyURL) + client.AddPostParam("pmAppKey", params.PmAppKey) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pay/closeOrder.go b/openapi/tp/pay/closeOrder.go new file mode 100644 index 0000000..cff7c13 --- /dev/null +++ b/openapi/tp/pay/closeOrder.go @@ -0,0 +1,61 @@ +package pay + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// CloseOrderRequest 请求结构体 +type CloseOrderRequest struct { + AccessToken string // 第三方平台的接口调用凭据 + OrderID string // 百度订单 ID + PmAppKey string // 调起百度收银台的支付服务 appKey +} + +// 响应结构体 + +type CloseOrderResponse struct { + Data bool `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// CloseOrder +func CloseOrder(params *CloseOrderRequest) (bool, error) { + var ( + err error + defaultRet bool + ) + respData := &CloseOrderResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pay/paymentservice/tp/cancelOrder") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("orderId", params.OrderID) + client.AddGetParam("pmAppKey", params.PmAppKey) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/pay/createPayAccount.go b/openapi/tp/pay/createPayAccount.go new file mode 100644 index 0000000..c41c375 --- /dev/null +++ b/openapi/tp/pay/createPayAccount.go @@ -0,0 +1,124 @@ +package pay + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// CreatePayAccountRequest 请求结构体 +type CreatePayAccountRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + BusinessScope string // 经营范围。营业执照上经营范围,长度 2-2000 个字符 + BusinessProvince string // 经营范围所在省。 + BusinessCity string // 经营范围所在市。 + BusinessDetailAddress string // 经营地址详情。 + LegalPerson string // 法人姓名,即身份证姓名(汉字,限制在 1 - 25 位)。 + LegalID string // 身份证号(长度限定为18位)。 + IDCardFrontURL string // 身份证正面地址(必须是我们服务上传生成的图片URL,参见图片上传) + IDCardBackURL string // 身份证反面地址(必须是我们服务上传生成的图片URL,参见图片上传) + LegalCardStartTime string // 法人身份证开始时间 例:2020-12-31 + LegalCardEndTime string // 法人身份证结束时间 例:2020-12-31,长期有效传 9999-12-31 + LicenseStartTime string // 营业执照证开始时间 例:2020-12-31,长期有效传营业执照核准日期 + LicenseEndTime string // 营业执照结束时间 例:2020-12-31,长期有效传 9999-12-31 + IndustryID int64 // 行业id 见查询行业id列表接口 + ManagePermitURL string // 若行业id需要资质,资质图片地址 + AuthCapital string // 注册资本 + ManagerSame int64 // 经营控股人是否与法人一致,0 - 不一致;1 - 一致。如果不一致则相关信息必传否则不传 + Manager interface{} // 最大股东姓名 + ManagerCard interface{} // 最大股东身份证 + ManagerCardType interface{} // 最大股东身份证类型 + ManagerCardFrontURL interface{} // 最大股东身份证正面地址 + ManagerCardBackURL interface{} // 最大股东身份证反面地址 + ManagerCardStartTime interface{} // 最大股东证件开始时间 + ManagerCardEndTime interface{} // 最大股东证件结束时间 + BenefitSame int64 // 受益人是否与法人一致,0 - 不一致;1 - 一致。如果不一致则相关信息必传否则不传 + Benefit interface{} // 受益人姓名 + BenefitCard interface{} // 受益人身份证 + BenefitCardType interface{} // 受益人身份证类型 + BenefitCardFrontURL interface{} // 受益人身份证正面地址 + BenefitCardBackURL interface{} // 受益人身份证反面地址 + BenefitStartTime interface{} // 受益人证件开始时间 + BenefitEndTime interface{} // 受益人证件结束时间 +} + +// 响应结构体 + +type CreatePayAccountResponsedata struct { +} + +type CreatePayAccountResponse struct { + Data CreatePayAccountResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// CreatePayAccount +func CreatePayAccount(params *CreatePayAccountRequest) (*CreatePayAccountResponsedata, error) { + var ( + err error + defaultRet *CreatePayAccountResponsedata + ) + respData := &CreatePayAccountResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pay/account/create") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("business_scope", params.BusinessScope) + client.AddPostParam("business_province", params.BusinessProvince) + client.AddPostParam("business_city", params.BusinessCity) + client.AddPostParam("business_detail_address", params.BusinessDetailAddress) + client.AddPostParam("legal_person", params.LegalPerson) + client.AddPostParam("legal_id", params.LegalID) + client.AddPostParam("id_card_front_url", params.IDCardFrontURL) + client.AddPostParam("id_card_back_url", params.IDCardBackURL) + client.AddPostParam("legal_card_start_time", params.LegalCardStartTime) + client.AddPostParam("legal_card_end_time", params.LegalCardEndTime) + client.AddPostParam("license_start_time", params.LicenseStartTime) + client.AddPostParam("license_end_time", params.LicenseEndTime) + client.AddPostParam("industry_id", fmt.Sprintf("%v", params.IndustryID)) + client.AddPostParam("manage_permit_url", params.ManagePermitURL) + client.AddPostParam("auth_capital", params.AuthCapital) + client.AddPostParam("manager_same", fmt.Sprintf("%v", params.ManagerSame)) + client.AddPostParam("manager", params.Manager) + client.AddPostParam("manager_card", params.ManagerCard) + client.AddPostParam("manager_card_type", params.ManagerCardType) + client.AddPostParam("manager_card_front_url", params.ManagerCardFrontURL) + client.AddPostParam("manager_card_back_url", params.ManagerCardBackURL) + client.AddPostParam("manager_card_start_time", params.ManagerCardStartTime) + client.AddPostParam("manager_card_end_time", params.ManagerCardEndTime) + client.AddPostParam("benefit_same", fmt.Sprintf("%v", params.BenefitSame)) + client.AddPostParam("benefit", params.Benefit) + client.AddPostParam("benefit_card", params.BenefitCard) + client.AddPostParam("benefit_card_type", params.BenefitCardType) + client.AddPostParam("benefit_card_front_url", params.BenefitCardFrontURL) + client.AddPostParam("benefit_card_back_url", params.BenefitCardBackURL) + client.AddPostParam("benefit_start_time", params.BenefitStartTime) + client.AddPostParam("benefit_end_time", params.BenefitEndTime) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pay/createPaymentService.go b/openapi/tp/pay/createPaymentService.go new file mode 100644 index 0000000..d77df94 --- /dev/null +++ b/openapi/tp/pay/createPaymentService.go @@ -0,0 +1,88 @@ +package pay + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// CreatePaymentServiceRequest 请求结构体 +type CreatePaymentServiceRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + AppName string // 服务名称。支付服务的名称 + ServicePhone string // 服务电话。 + BankAccount string // 银行账户。银行卡开户名 + BankCard string // 银行卡号。 + BankName string // 所属银行。由数据字典接口取 + BankBranch string // 支行信息。自由输入,例如:招商银行北京上地支行 + OpenProvince string // 开户省份。由数据字典接口取 + OpenCity string // 开户城市。由数据字典接口取 + PaymentDays int64 // 结算周期。由数据字典接口取 + CommissionRate int64 // 佣金比例。固定传 6,小程序固定为千分之六(6) + PoolCashPledge int64 // 打款预留(元)。提现后的保留金额 + DayMaxFrozenAmount int64 // 每日退款上限(元)。每天最大退款限额10000元 + BankPhoneNumber string // 银行卡预留手机号 +} + +// 响应结构体 + +type CreatePaymentServiceResponsedata struct { +} + +type CreatePaymentServiceResponse struct { + Data CreatePaymentServiceResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// CreatePaymentService +func CreatePaymentService(params *CreatePaymentServiceRequest) (*CreatePaymentServiceResponsedata, error) { + var ( + err error + defaultRet *CreatePaymentServiceResponsedata + ) + respData := &CreatePaymentServiceResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pay/paymentservice/create") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("app_name", params.AppName) + client.AddPostParam("service_phone", params.ServicePhone) + client.AddPostParam("bank_account", params.BankAccount) + client.AddPostParam("bank_card", params.BankCard) + client.AddPostParam("bank_name", params.BankName) + client.AddPostParam("bank_branch", params.BankBranch) + client.AddPostParam("open_province", params.OpenProvince) + client.AddPostParam("open_city", params.OpenCity) + client.AddPostParam("payment_days", fmt.Sprintf("%v", params.PaymentDays)) + client.AddPostParam("commission_rate", fmt.Sprintf("%v", params.CommissionRate)) + client.AddPostParam("pool_cash_pledge", fmt.Sprintf("%v", params.PoolCashPledge)) + client.AddPostParam("day_max_frozen_amount", fmt.Sprintf("%v", params.DayMaxFrozenAmount)) + client.AddPostParam("bank_phone_number", params.BankPhoneNumber) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pay/downloadCapitalBill.go b/openapi/tp/pay/downloadCapitalBill.go new file mode 100644 index 0000000..e66164b --- /dev/null +++ b/openapi/tp/pay/downloadCapitalBill.go @@ -0,0 +1,73 @@ +package pay + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// DownloadCapitalBillRequest 请求结构体 +type DownloadCapitalBillRequest struct { + AccessToken string // 第三方平台的接口调用凭据 + BillTime string // 对账单日期格式 yyyy-MM-dd + PmAppKey string // 调起百度收银台的支付服务 appKey +} + +// 响应结构体 + +type DownloadCapitalBillResponsedatadataItem struct { + CreateTime string `json:"createTime"` // 创建时间 + DownloadName string `json:"downloadName"` // 账单名称 + ExportStatus int64 `json:"exportStatus"` // 导出进度 + URL string `json:"url"` // 下载地址 +} + +type DownloadCapitalBillResponsedata struct { + Data []DownloadCapitalBillResponsedatadataItem `json:"data"` // + TotalCount int64 `json:"totalCount"` // +} + +type DownloadCapitalBillResponse struct { + Data DownloadCapitalBillResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// DownloadCapitalBill +func DownloadCapitalBill(params *DownloadCapitalBillRequest) (*DownloadCapitalBillResponsedata, error) { + var ( + err error + defaultRet *DownloadCapitalBillResponsedata + ) + respData := &DownloadCapitalBillResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pay/paymentservice/tp/capitaBill") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("billTime", params.BillTime) + client.AddGetParam("pmAppKey", params.PmAppKey) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pay/downloadOrderBill.go b/openapi/tp/pay/downloadOrderBill.go new file mode 100644 index 0000000..968e846 --- /dev/null +++ b/openapi/tp/pay/downloadOrderBill.go @@ -0,0 +1,73 @@ +package pay + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// DownloadOrderBillRequest 请求结构体 +type DownloadOrderBillRequest struct { + AccessToken string // 第三方平台的接口调用凭据 + BillTime string // 对账单日期格式 yyyy-MM-dd + PmAppKey string // 调起百度收银台的支付服务 appKey +} + +// 响应结构体 + +type DownloadOrderBillResponsedatadataItem struct { + CreateTime string `json:"createTime"` // 创建时间 + DownloadName string `json:"downloadName"` // 账单名称 + ExportStatus float64 `json:"exportStatus"` // 导出进度 + URL string `json:"url"` // 下载地址 +} + +type DownloadOrderBillResponsedata struct { + Data []DownloadOrderBillResponsedatadataItem `json:"data"` // + TotalCount int64 `json:"totalCount"` // +} + +type DownloadOrderBillResponse struct { + Data DownloadOrderBillResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// DownloadOrderBill +func DownloadOrderBill(params *DownloadOrderBillRequest) (*DownloadOrderBillResponsedata, error) { + var ( + err error + defaultRet *DownloadOrderBillResponsedata + ) + respData := &DownloadOrderBillResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pay/paymentservice/tp/orderBill") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("billTime", params.BillTime) + client.AddGetParam("pmAppKey", params.PmAppKey) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pay/getBindPaymentService.go b/openapi/tp/pay/getBindPaymentService.go new file mode 100644 index 0000000..3e548f6 --- /dev/null +++ b/openapi/tp/pay/getBindPaymentService.go @@ -0,0 +1,78 @@ +package pay + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetBindPaymentServiceRequest 请求结构体 +type GetBindPaymentServiceRequest struct { + AccessToken string // 授权小程序的接口调用凭据 +} + +// 响应结构体 + +type GetBindPaymentServiceResponsedata struct { + AppName string `json:"app_name"` // 服务名称。支付服务的名称 + BankAccount string `json:"bank_account"` // 银行账户。银行卡开户名 + BankBranch string `json:"bank_branch"` // 支行信息。自由输入,例如:招商银行北京上地支行 + BankCard string `json:"bank_card"` // 银行卡号。 + BankName string `json:"bank_name"` // 所属银行。由数据字典接口取 + CommissionRate int64 `json:"commission_rate"` // 佣金比例。固定传 6,小程序固定为千分之六(6) + DayMaxFrozenAmount int64 `json:"day_max_frozen_amount"` // 每日退款上限(元)。每天最大退款限额10000元 + DealID string `json:"deal_id"` // 百度收银台的财务结算凭证。详见电商技术平台术语 + FailReason string `json:"fail_reason"` // 驳回回执。 + OpenCity string `json:"open_city"` // 开户城市。由数据字典接口取 + OpenProvince string `json:"open_province"` // 开户省份。由数据字典接口取 + OpenStatus int64 `json:"open_status"` // 开通状态. 0:新建 1:审核中 2:审核通过 3:驳回 + PaymentDays int64 `json:"payment_days"` // 结算周期。由数据字典接口取 + PlatformPublicKey string `json:"platform_public_key"` // 平台公钥。详见电商技术平台术语 + PmAppID int64 `json:"pm_app_id"` // 服务id。支付服务内部标示 id + PmAppKey string `json:"pm_app_key"` // 服务Key。支付服务内部标示key + PoolCashPledge int64 `json:"pool_cash_pledge"` // 打款预留(元)。提现后的保留金额 + ServicePhone string `json:"service_phone"` // 服务电话。 +} + +type GetBindPaymentServiceResponse struct { + Data GetBindPaymentServiceResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetBindPaymentService +func GetBindPaymentService(params *GetBindPaymentServiceRequest) (*GetBindPaymentServiceResponsedata, error) { + var ( + err error + defaultRet *GetBindPaymentServiceResponsedata + ) + respData := &GetBindPaymentServiceResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pay/paymentservice/getbindservice") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pay/getByTpOrderId.go b/openapi/tp/pay/getByTpOrderId.go new file mode 100644 index 0000000..f322d12 --- /dev/null +++ b/openapi/tp/pay/getByTpOrderId.go @@ -0,0 +1,85 @@ +package pay + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetByTpOrderIDRequest 请求结构体 +type GetByTpOrderIDRequest struct { + AccessToken string // 第三方平台的接口调用凭据 + TpOrderID string // 开发者订单 ID + PmAppKey string // 调起百度收银台的支付服务 appKey +} + +// 响应结构体 + +type GetByTpOrderIDResponsedata struct { + AppID int64 `json:"appId"` // 小程序appid + AppKey int64 `json:"appKey"` // 小程序appkey + BizInfo string `json:"bizInfo"` // 业务扩展字段 + Count int64 `json:"count"` // 数量 + CreateTime int64 `json:"createTime"` // 创建时间 + DealID int64 `json:"dealId"` // 跳转百度收银台支付必带参数之一 + OpenID int64 `json:"openId"` // 小程序用户id + OrderID int64 `json:"orderId"` // 百度订单ID + OriPrice int64 `json:"oriPrice"` // 原价 + ParentOrderID int64 `json:"parentOrderId"` // 购物车订单父订单ID + ParentType int64 `json:"parentType"` // 订单类型 + PayMoney int64 `json:"payMoney"` // 支付金额 + SettlePrice int64 `json:"settlePrice"` // 结算金额 + Status int64 `json:"status"` // 订单状态 -1订单已取消/订单已异常退款 1订单支付中 2订单已支付 + SubStatus int64 `json:"subStatus"` // 订单子状态 + TotalMoney int64 `json:"totalMoney"` // 总金额 + TpID int64 `json:"tpId"` // tpId + TpOrderID string `json:"tpOrderId"` // 开发者订单ID + TradeNo string `json:"tradeNo"` // 支付单号 + Type int64 `json:"type"` // ordertype + UserID int64 `json:"userId"` // 用户 id 与支付状态通知中的保持一致 +} + +type GetByTpOrderIDResponse struct { + Data GetByTpOrderIDResponsedata `json:"data"` // + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetByTpOrderID +func GetByTpOrderID(params *GetByTpOrderIDRequest) (*GetByTpOrderIDResponsedata, error) { + var ( + err error + defaultRet *GetByTpOrderIDResponsedata + ) + respData := &GetByTpOrderIDResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pay/paymentservice/tp/findByTpOrderId") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("tpOrderId", params.TpOrderID) + client.AddGetParam("pmAppKey", params.PmAppKey) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pay/getExpenseDetail.go b/openapi/tp/pay/getExpenseDetail.go new file mode 100644 index 0000000..64e670e --- /dev/null +++ b/openapi/tp/pay/getExpenseDetail.go @@ -0,0 +1,73 @@ +package pay + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetExpenseDetailRequest 请求结构体 +type GetExpenseDetailRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + TaskID int64 // 支付凭证 id。 +} + +// 响应结构体 + +type GetExpenseDetailResponsedatadataItem struct { + PaidAccount string `json:"paid_account"` // 收款账号。收款的银行卡号 + PaidMoney string `json:"paid_money"` // 交易收款金额(元) + PaymentStatus string `json:"payment_status"` // 收款状态。状态包含:待出纳支付、打款中、成功、失败 + ReceiveUser string `json:"receive_user"` // 收款人姓名 + Remark string `json:"remark"` // 备注信息。交易支出备注信息 +} + +type GetExpenseDetailResponsedata struct { + Data []GetExpenseDetailResponsedatadataItem `json:"data"` // 数据详情 +} + +type GetExpenseDetailResponse struct { + Data GetExpenseDetailResponsedata `json:"data"` // + Errno int64 `json:"errno"` // + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetExpenseDetail +func GetExpenseDetail(params *GetExpenseDetailRequest) (*GetExpenseDetailResponsedata, error) { + var ( + err error + defaultRet *GetExpenseDetailResponsedata + ) + respData := &GetExpenseDetailResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pay/paymentservice/financeexpense/paydetail") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("task_id", fmt.Sprintf("%v", params.TaskID)) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pay/getExpenseList.go b/openapi/tp/pay/getExpenseList.go new file mode 100644 index 0000000..a45905e --- /dev/null +++ b/openapi/tp/pay/getExpenseList.go @@ -0,0 +1,84 @@ +package pay + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetExpenseListRequest 请求结构体 +type GetExpenseListRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + CurrentPage int64 // 当前页数。起始为 1 + PageSize int64 // 分页。每页数量 + StartTime string // 开始日期(格式如: 2019-01-02 ) + EndTime string // 结束日期(格式如: 2019-01-02 ) +} + +// 响应结构体 + +type GetExpenseListResponsedatadataItem struct { + EndTime string `json:"end_time"` // 账期结束时间。格式为 yyyy-MM-dd HH:mm:ss,如:2019-06-07 00:00:00 + Money string `json:"money"` // 金额(元)。当前交易的金额 + OperateTime string `json:"operate_time"` // 日期。格式为 yyyy-MM-dd HH:mm:ss,如:2019-06-07 00:00:00 + PayStatus string `json:"pay_status"` // 支出打款状态。状态包含:待出纳支付、打款中、成功、失败 + StartTime string `json:"start_time"` // 账期开始时间。格式为 yyyy-MM-dd HH:mm:ss,如:2019-06-07 00:00:00 + TaskID int64 `json:"task_id"` // 支付凭证 id。用于查询支出打款详情 + TypeID string `json:"type_id"` // 类型。如:收入货款、调整款、自动打款等 +} + +type GetExpenseListResponsedata struct { + Data []GetExpenseListResponsedatadataItem `json:"data"` // 支出列表详情 + ExpenseCount int64 `json:"expense_count"` // 支出次数总和 + ExpenseMoney string `json:"expense_money"` // 支出金额(元)。所有支出次数金额的汇总 + TotalCount int64 `json:"total_count"` // 数据总条数 +} + +type GetExpenseListResponse struct { + Data GetExpenseListResponsedata `json:"data"` // + Errno int64 `json:"errno"` // + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetExpenseList +func GetExpenseList(params *GetExpenseListRequest) (*GetExpenseListResponsedata, error) { + var ( + err error + defaultRet *GetExpenseListResponsedata + ) + respData := &GetExpenseListResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pay/paymentservice/financeexpense") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("current_page", fmt.Sprintf("%v", params.CurrentPage)) + client.AddGetParam("page_size", fmt.Sprintf("%v", params.PageSize)) + client.AddGetParam("start_time", params.StartTime) + client.AddGetParam("end_time", params.EndTime) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pay/getFinanceBalance.go b/openapi/tp/pay/getFinanceBalance.go new file mode 100644 index 0000000..8f1df8f --- /dev/null +++ b/openapi/tp/pay/getFinanceBalance.go @@ -0,0 +1,88 @@ +package pay + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetFinanceBalanceRequest 请求结构体 +type GetFinanceBalanceRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + StartTime string // 开始日期。格式如:2019-01-02。 + EndTime string // 结束日期。格式如: 2019-01-02。 + CurrentPage int64 // 当前页数。起始为 1 + PageSize int64 // 分页。每页数量 +} + +// 响应结构体 + +type GetFinanceBalanceResponsedatadataItem struct { + AdjustAmount string `json:"adjust_amount"` // 调整款(元)。如:商家作弊,交易会扣钱,会以调整款的形式。 + Income string `json:"income"` // 货款金额(元) + OperateTime string `json:"operate_time"` // 日期。格式为 yyyy-MM-dd,如:2019-06-07 + Others string `json:"others"` // 其他款项。佣金、返点与营销费用等金额 +} + +type GetFinanceBalanceResponsedata struct { + Adjustment string `json:"adjustment"` // 调整款(元)。如:商家作弊,交易会扣钱,会以调整款的形式。 + CurrentPage int64 `json:"current_page"` // 当前页码 + + Data []GetFinanceBalanceResponsedatadataItem `json:"data"` // 收入列表详情数据。 + FreeBalance string `json:"free_balance"` // 账户余额(元)。 + Income string `json:"income"` // 货款总金额(元)。 + Others string `json:"others"` // 其它款项(元)。一般为佣金、返点与营销费用等 + PageSize int64 `json:"page_size"` // 分页每页数量 + PaymentDue string `json:"payment_due"` // 支付时间。格式为 yyyy-MM-dd HH:mm:ss,如:2019-05-21 23:59:59 + Period int64 `json:"period"` // 当前付款周期(天)。 + TotalCount int64 `json:"total_count"` // 总页码数 +} + +type GetFinanceBalanceResponse struct { + Data GetFinanceBalanceResponsedata `json:"data"` // + Errno int64 `json:"errno"` // + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetFinanceBalance +func GetFinanceBalance(params *GetFinanceBalanceRequest) (*GetFinanceBalanceResponsedata, error) { + var ( + err error + defaultRet *GetFinanceBalanceResponsedata + ) + respData := &GetFinanceBalanceResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pay/paymentservice/financebalance") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("start_time", params.StartTime) + client.AddGetParam("end_time", params.EndTime) + client.AddGetParam("current_page", fmt.Sprintf("%v", params.CurrentPage)) + client.AddGetParam("page_size", fmt.Sprintf("%v", params.PageSize)) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pay/getIncomeDetail.go b/openapi/tp/pay/getIncomeDetail.go new file mode 100644 index 0000000..4d071de --- /dev/null +++ b/openapi/tp/pay/getIncomeDetail.go @@ -0,0 +1,86 @@ +package pay + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetIncomeDetailRequest 请求结构体 +type GetIncomeDetailRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + StartTime string // 开始日期。格式如:2019-01-02。 + CurrentPage int64 // 当前页数。起始为 1 + PageSize int64 // 分页。每页数量 +} + +// 响应结构体 + +type GetIncomeDetailResponsedatadataItem struct { + Money string `json:"money"` // 金额(元) + OperateTime string `json:"operate_time"` // 操作时间。格式为 yyyy-MM-dd,如:2019-06-07 + OptType string `json:"opt_type"` // 操作类型。包括:成交、使用、取消使用、退款 + OrderID int64 `json:"order_id"` // 平台订单号。百度平台订单ID + ThirdOrderID string `json:"third_order_id"` // 第三方订单号 +} + +type GetIncomeDetailResponsedata struct { + CurrentPage int64 `json:"current_page"` // 当前页数 + + Data []GetIncomeDetailResponsedatadataItem `json:"data"` // 列表详情数据 + Income string `json:"income"` // 货款(元) + IncomeAmount string `json:"income_amount"` // 验证(成交)总额(元) + OperateTime string `json:"operate_time"` // 操作日期。格式为 yyyy-MM-dd HH:mm:ss,如:2019-05-21 23:59:59 + PageSize int64 `json:"page_size"` // 分页每页数量 + Quantity int64 `json:"quantity"` // 验证(成交)数量 + RefundAmount string `json:"refund_amount"` // 退款总额(元) + TotalCount int64 `json:"total_count"` // 总数据数量 +} + +type GetIncomeDetailResponse struct { + Data GetIncomeDetailResponsedata `json:"data"` // + Errno int64 `json:"errno"` // + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetIncomeDetail +func GetIncomeDetail(params *GetIncomeDetailRequest) (*GetIncomeDetailResponsedata, error) { + var ( + err error + defaultRet *GetIncomeDetailResponsedata + ) + respData := &GetIncomeDetailResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pay/paymentservice/financebalance/incomedetail") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("start_time", params.StartTime) + client.AddGetParam("current_page", fmt.Sprintf("%v", params.CurrentPage)) + client.AddGetParam("page_size", fmt.Sprintf("%v", params.PageSize)) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pay/getOrderList.go b/openapi/tp/pay/getOrderList.go new file mode 100644 index 0000000..bfb3fa0 --- /dev/null +++ b/openapi/tp/pay/getOrderList.go @@ -0,0 +1,95 @@ +package pay + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetOrderListRequest 请求结构体 +type GetOrderListRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + Status string // 订单状态。 all:全部 、 1:待付款 、 2:已付款 、 3:已消费 、 4:退款中 、 5:已退款 、 6:退款失败 、7:已取消 + StartTime int64 // 起始时间戳,10位时间戳 + EndTime int64 // 起始时间戳,10位时间戳 + CurrentPage int64 // 当前页数。起始为 1 + PageSize int64 // 分页。每页数量 +} + +// 响应结构体 + +type GetOrderListResponsedatadataItem struct { + Channel string `json:"channel"` // 支付渠道。如:网银支付、微信支付 + CreateTime string `json:"create_time"` // 订单创建时间。格式为 yyyy-MM-dd HH:mm:ss,如:2019-06-07 00:00:00 + DealID string `json:"deal_id"` // 百度收银台的财务结算凭证。详见电商技术平台术语 + DealTitle string `json:"deal_title"` // 商品名。订单的名称 + ID string `json:"id"` // 百度平台订单ID。 + OrderID string `json:"order_id"` // 平台订单号。百度平台订单ID + PayMoney string `json:"pay_money"` // 支付金额(分)。扣除各种优惠后用户还需要支付的金额 + Phone string `json:"phone"` // 用户手机号。 + SegmentRefundedMoney string `json:"segment_refunded_money"` // 退款金额(分)。 + SubStatus string `json:"sub_status"` // 订单状态 1:待付款 2:已付款 3:已消费 4:退款中 5:已退款 6:退款失败 7:已取消 + TotalMoney string `json:"total_money"` // 订单金额(分)。订单的实际金额 + TpOrderID string `json:"tp_order_id"` // 第三方订单号。业务方唯一订单号 + UpdateTime string `json:"update_time"` // 订单完成时间。格式为 yyyy-MM-dd HH:mm:ss,如:2019-06-07 00:00:00 +} + +type GetOrderListResponsedata struct { + CurrentPage int64 `json:"current_page"` // 当前页码 + + Data []GetOrderListResponsedatadataItem `json:"data"` // 数据详情 + PageSize int64 `json:"page_size"` // 每页数量 + TotalCount int64 `json:"total_count"` // 数据总数 + TotalMoney string `json:"total_money"` // 订单金额(分)。订单的实际金额 + TotalPage int64 `json:"total_page"` // 总页码数 +} + +type GetOrderListResponse struct { + Data GetOrderListResponsedata `json:"data"` // + Errno int64 `json:"errno"` // + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetOrderList +func GetOrderList(params *GetOrderListRequest) (*GetOrderListResponsedata, error) { + var ( + err error + defaultRet *GetOrderListResponsedata + ) + respData := &GetOrderListResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pay/paymentservice/orderlist") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("status", params.Status) + client.AddGetParam("start_time", fmt.Sprintf("%v", params.StartTime)) + client.AddGetParam("end_time", fmt.Sprintf("%v", params.EndTime)) + client.AddGetParam("current_page", fmt.Sprintf("%v", params.CurrentPage)) + client.AddGetParam("page_size", fmt.Sprintf("%v", params.PageSize)) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pay/getOrderRefund.go b/openapi/tp/pay/getOrderRefund.go new file mode 100644 index 0000000..96da626 --- /dev/null +++ b/openapi/tp/pay/getOrderRefund.go @@ -0,0 +1,73 @@ +package pay + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetOrderRefundRequest 请求结构体 +type GetOrderRefundRequest struct { + AccessToken string // 第三方平台的接口调用凭据 + TpOrderID string // 开发者订单 ID + UserID int64 // 百度收银台用户 ID + PmAppKey string // 调起百度收银台的支付服务 appKey +} + +// 响应结构体 + +type GetOrderRefundResponsedataItem struct { + BizRefundBatchID string `json:"bizRefundBatchId"` // 开发者退款批次id + OrderID int64 `json:"orderId"` // 退款订单号 + RefundBatchID int64 `json:"refundBatchId"` // 退款批次id + RefundStatus int64 `json:"refundStatus"` // 退款状态 1 退款中 2 退款成功 3 退款失败 + UserID int64 `json:"userId"` // 退款用户id +} + +type GetOrderRefundResponse struct { + Data []GetOrderRefundResponsedataItem `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetOrderRefund +func GetOrderRefund(params *GetOrderRefundRequest) ([]GetOrderRefundResponsedataItem, error) { + var ( + err error + defaultRet []GetOrderRefundResponsedataItem + ) + respData := &GetOrderRefundResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pay/paymentservice/tp/findOrderRefund") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("tpOrderId", params.TpOrderID) + client.AddGetParam("userId", fmt.Sprintf("%v", params.UserID)) + client.AddGetParam("pmAppKey", params.PmAppKey) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/pay/getOtherDetail.go b/openapi/tp/pay/getOtherDetail.go new file mode 100644 index 0000000..b57739b --- /dev/null +++ b/openapi/tp/pay/getOtherDetail.go @@ -0,0 +1,84 @@ +package pay + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetOtherDetailRequest 请求结构体 +type GetOtherDetailRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + CurrentPage int64 // 当前页数。起始为 1 + PageSize int64 // 分页。每页数量 + StartTime string // 开始日期(格式如: 2019-01-02 ) + EndTime string // 结束日期(格式如: 2019-01-02 ) +} + +// 响应结构体 + +type GetOtherDetailResponsedatadataItem struct { + OperateTime string `json:"operate_time"` // 操作时间(格式为 yyyy-MM-dd HH:mm:ss ,如: 2019-05-21 23:59:59 ) + OptType string `json:"opt_type"` // 操作类型(包括:成交、使用、取消使用、退款 ) + OrderID int64 `json:"order_id"` // 平台订单号(百度平台订单ID ) + RefMoney string `json:"ref_money"` // 金额(元) + ThirdOrderID string `json:"third_order_id"` // 第三方订单号 +} + +type GetOtherDetailResponsedata struct { + Data []GetOtherDetailResponsedatadataItem `json:"data"` // 收入列表详情数据 + OrderAmount string `json:"order_amount"` // 货款总额(元) + RuleType string `json:"rule_type"` // 规则类型。收费规则,目前只有佣金模式 + SettlementEndTime string `json:"settlement_end_time"` // 账单周期结束时间(格式为 yyyy-MM-dd HH:mm:ss ,如: 2019-05-21 23:59:59 ) + SettlementStartTime string `json:"settlement_start_time"` // 账单周期开始时间(格式为 yyyy-MM-dd HH:mm:ss ,如: 2019-05-21 23:59:59 ) + TotalAmount string `json:"total_amount"` // 入账金额(元) +} + +type GetOtherDetailResponse struct { + Data GetOtherDetailResponsedata `json:"data"` // + Errno int64 `json:"errno"` // + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetOtherDetail +func GetOtherDetail(params *GetOtherDetailRequest) (*GetOtherDetailResponsedata, error) { + var ( + err error + defaultRet *GetOtherDetailResponsedata + ) + respData := &GetOtherDetailResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pay/paymentservice/financebalance/otherdetail") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("current_page", fmt.Sprintf("%v", params.CurrentPage)) + client.AddGetParam("page_size", fmt.Sprintf("%v", params.PageSize)) + client.AddGetParam("start_time", params.StartTime) + client.AddGetParam("end_time", params.EndTime) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pay/getPayAccountAuditStatus.go b/openapi/tp/pay/getPayAccountAuditStatus.go new file mode 100644 index 0000000..7e53086 --- /dev/null +++ b/openapi/tp/pay/getPayAccountAuditStatus.go @@ -0,0 +1,62 @@ +package pay + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetPayAccountAuditStatusRequest 请求结构体 +type GetPayAccountAuditStatusRequest struct { + AccessToken string // 授权小程序的接口调用凭据 +} + +// 响应结构体 + +type GetPayAccountAuditStatusResponsedata struct { + Status int64 `json:"status"` // 用户提交的审核信息:0:初始状态;1:编辑中 2:提审 3:未通过 4:审核通过 5:回填过协议id + VerifyMessage string `json:"verify_message"` // 失败原因。 +} + +type GetPayAccountAuditStatusResponse struct { + Data GetPayAccountAuditStatusResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetPayAccountAuditStatus +func GetPayAccountAuditStatus(params *GetPayAccountAuditStatusRequest) (*GetPayAccountAuditStatusResponsedata, error) { + var ( + err error + defaultRet *GetPayAccountAuditStatusResponsedata + ) + respData := &GetPayAccountAuditStatusResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pay/account/auditstatus") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pay/getPayServiceAuditStatus.go b/openapi/tp/pay/getPayServiceAuditStatus.go new file mode 100644 index 0000000..556e3b9 --- /dev/null +++ b/openapi/tp/pay/getPayServiceAuditStatus.go @@ -0,0 +1,62 @@ +package pay + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetPayServiceAuditStatusRequest 请求结构体 +type GetPayServiceAuditStatusRequest struct { + AccessToken string // 授权小程序的接口调用凭据 +} + +// 响应结构体 + +type GetPayServiceAuditStatusResponsedata struct { + FailReason string `json:"fail_reason"` // 失败原因。 + Status int64 `json:"status"` // 开通状态 0:新建 1:审核中 2:审核通过 3:驳回 +} + +type GetPayServiceAuditStatusResponse struct { + Data GetPayServiceAuditStatusResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetPayServiceAuditStatus +func GetPayServiceAuditStatus(params *GetPayServiceAuditStatusRequest) (*GetPayServiceAuditStatusResponsedata, error) { + var ( + err error + defaultRet *GetPayServiceAuditStatusResponsedata + ) + respData := &GetPayServiceAuditStatusResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pay/paymentservice/auditstatus") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pay/getPaymentServiceDict.go b/openapi/tp/pay/getPaymentServiceDict.go new file mode 100644 index 0000000..84a2031 --- /dev/null +++ b/openapi/tp/pay/getPaymentServiceDict.go @@ -0,0 +1,85 @@ +package pay + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetPaymentServiceDictRequest 请求结构体 +type GetPaymentServiceDictRequest struct { + AccessToken string // 授权小程序的接口调用凭据 +} + +// 响应结构体 + +type GetPaymentServiceDictResponseprovinceListItemcitiesItem struct { + CityID int64 `json:"cityId"` // + CityName string `json:"cityName"` // +} + +type GetPaymentServiceDictResponseprovinceListItem struct { + Cities []GetPaymentServiceDictResponseprovinceListItemcitiesItem `json:"cities"` // + ProvinceID int64 `json:"provinceId"` // + ProvinceName string `json:"provinceName"` // +} + +type GetPaymentServiceDictResponsebankListItembanksItem struct { + BankID int64 `json:"bankId"` // + BankName string `json:"bankName"` // + LogoURL string `json:"logoUrl"` // +} + +type GetPaymentServiceDictResponsebankListItem struct { + Banks []GetPaymentServiceDictResponsebankListItembanksItem `json:"banks"` // + Character string `json:"character"` // +} + +type GetPaymentServiceDictResponse struct { + BankList []GetPaymentServiceDictResponsebankListItem `json:"bank_list"` // 开户银行 (支付服务 bank_name) + CommissionRate map[string]string `json:"commissionRate"` // 佣金比例,小程序固定为千分之六(支付服务 commission_rate) + PaymentDays map[string]string `json:"paymentDays"` // 结算周期(支付服务 payment_days) + ProvinceList []GetPaymentServiceDictResponseprovinceListItem `json:"province_list"` // 开户省市(支付服务 open_province,open_city ) + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 + Data GetPaymentServiceDictResponsedata +} + +type GetPaymentServiceDictResponsedata struct { + BankList []GetPaymentServiceDictResponsebankListItem `json:"bank_list"` // 开户银行 (支付服务 bank_name) + CommissionRate map[string]string `json:"commissionRate"` // 佣金比例,小程序固定为千分之六(支付服务 commission_rate) + PaymentDays map[string]string `json:"paymentDays"` // 结算周期(支付服务 payment_days) + ProvinceList []GetPaymentServiceDictResponseprovinceListItem `json:"province_list"` // 开户省市(支付服务 open_province,open_city ) +} + +// GetPaymentServiceDict +func GetPaymentServiceDict(params *GetPaymentServiceDictRequest) (*GetPaymentServiceDictResponsedata, error) { + var ( + err error + defaultRet *GetPaymentServiceDictResponsedata + ) + respData := &GetPaymentServiceDictResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pay/paymentservice/dict") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + return &respData.Data, nil +} diff --git a/openapi/tp/pay/getTradeIndustryList.go b/openapi/tp/pay/getTradeIndustryList.go new file mode 100644 index 0000000..6a172c1 --- /dev/null +++ b/openapi/tp/pay/getTradeIndustryList.go @@ -0,0 +1,83 @@ +package pay + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetTradeIndustryListRequest 请求结构体 +type GetTradeIndustryListRequest struct { + AccessToken string // 第三方平台的接口调用凭据 +} + +// 响应结构体 + +type GetTradeIndustryListResponsedataItemindustryListItemindustryListItem struct { + IndustryID int64 `json:"industryId"` // + IndustryName string `json:"industryName"` // + NeedPermit int64 `json:"needPermit"` // + ParentIndustryID int64 `json:"parentIndustryId"` // + PermitDesc string `json:"permitDesc"` // +} + +type GetTradeIndustryListResponsedataItemindustryListItem struct { + IndustryID int64 `json:"industryId"` // + IndustryList []GetTradeIndustryListResponsedataItemindustryListItemindustryListItem `json:"industryList"` // + IndustryName string `json:"industryName"` // + NeedPermit int64 `json:"needPermit"` // + ParentIndustryID int64 `json:"parentIndustryId"` // + PermitDesc string `json:"permitDesc"` // +} + +type GetTradeIndustryListResponsedataItem struct { + IndustryID int64 `json:"industryId"` // + IndustryList []GetTradeIndustryListResponsedataItemindustryListItem `json:"industryList"` // + IndustryName string `json:"industryName"` // + NeedPermit int64 `json:"needPermit"` // + ParentIndustryID int64 `json:"parentIndustryId"` // + PermitDesc string `json:"permitDesc"` // +} + +type GetTradeIndustryListResponse struct { + Data []GetTradeIndustryListResponsedataItem `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetTradeIndustryList +func GetTradeIndustryList(params *GetTradeIndustryListRequest) ([]GetTradeIndustryListResponsedataItem, error) { + var ( + err error + defaultRet []GetTradeIndustryListResponsedataItem + ) + respData := &GetTradeIndustryListResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pay/tp/getTradeIndustryList") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/pay/submitDevelopConfig.go b/openapi/tp/pay/submitDevelopConfig.go new file mode 100644 index 0000000..566d3d4 --- /dev/null +++ b/openapi/tp/pay/submitDevelopConfig.go @@ -0,0 +1,68 @@ +package pay + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// SubmitDevelopConfigRequest 请求结构体 +type SubmitDevelopConfigRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + TpPublicKey string // 开发者公钥。参见RSA公私钥生成 + PayNotifyURL string // 支付回调地址。 + RefundAuditURL string // 退款审核地址。 + RefundSuccURL string // 退款回调地址。 +} + +// 响应结构体 + +type SubmitDevelopConfigResponsedata struct { +} + +type SubmitDevelopConfigResponse struct { + Data SubmitDevelopConfigResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// SubmitDevelopConfig +func SubmitDevelopConfig(params *SubmitDevelopConfigRequest) (*SubmitDevelopConfigResponsedata, error) { + var ( + err error + defaultRet *SubmitDevelopConfigResponsedata + ) + respData := &SubmitDevelopConfigResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pay/developconfig/submit") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("tp_public_key", params.TpPublicKey) + client.AddPostParam("pay_notify_url", params.PayNotifyURL) + client.AddPostParam("refund_audit_url", params.RefundAuditURL) + client.AddPostParam("refund_succ_url", params.RefundSuccURL) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pay/updateBindPaymentService.go b/openapi/tp/pay/updateBindPaymentService.go new file mode 100644 index 0000000..3d5e2ef --- /dev/null +++ b/openapi/tp/pay/updateBindPaymentService.go @@ -0,0 +1,88 @@ +package pay + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// UpdateBindPaymentServiceRequest 请求结构体 +type UpdateBindPaymentServiceRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + AppName string // 服务名称。支付服务的名称 + ServicePhone string // 服务电话。 + BankAccount string // 银行账户。银行卡开户名 + BankCard string // 银行卡号。 + BankName string // 所属银行。由数据字典接口取 + BankBranch string // 支行信息。自由输入,例如:招商银行北京上地支行 + OpenProvince string // 开户省份。由数据字典接口取 + OpenCity string // 开户城市。由数据字典接口取 + PaymentDays int64 // 结算周期。由数据字典接口取 + CommissionRate int64 // 佣金比例。固定传 6,小程序固定为千分之六(6) + PoolCashPledge int64 // 打款预留(元)。提现后的保留金额 + DayMaxFrozenAmount int64 // 每日退款上限(元)。每天最大退款限额10000元 + BankPhoneNumber string // 银行卡预留手机号 +} + +// 响应结构体 + +type UpdateBindPaymentServiceResponsedata struct { +} + +type UpdateBindPaymentServiceResponse struct { + Data UpdateBindPaymentServiceResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// UpdateBindPaymentService +func UpdateBindPaymentService(params *UpdateBindPaymentServiceRequest) (*UpdateBindPaymentServiceResponsedata, error) { + var ( + err error + defaultRet *UpdateBindPaymentServiceResponsedata + ) + respData := &UpdateBindPaymentServiceResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pay/paymentservice/updatebindservice") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("app_name", params.AppName) + client.AddPostParam("service_phone", params.ServicePhone) + client.AddPostParam("bank_account", params.BankAccount) + client.AddPostParam("bank_card", params.BankCard) + client.AddPostParam("bank_name", params.BankName) + client.AddPostParam("bank_branch", params.BankBranch) + client.AddPostParam("open_province", params.OpenProvince) + client.AddPostParam("open_city", params.OpenCity) + client.AddPostParam("payment_days", fmt.Sprintf("%v", params.PaymentDays)) + client.AddPostParam("commission_rate", fmt.Sprintf("%v", params.CommissionRate)) + client.AddPostParam("pool_cash_pledge", fmt.Sprintf("%v", params.PoolCashPledge)) + client.AddPostParam("day_max_frozen_amount", fmt.Sprintf("%v", params.DayMaxFrozenAmount)) + client.AddPostParam("bank_phone_number", params.BankPhoneNumber) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pay/updatePaymentService.go b/openapi/tp/pay/updatePaymentService.go new file mode 100644 index 0000000..2dbd19f --- /dev/null +++ b/openapi/tp/pay/updatePaymentService.go @@ -0,0 +1,68 @@ +package pay + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// UpdatePaymentServiceRequest 请求结构体 +type UpdatePaymentServiceRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + AppName string // 服务名称。 + ServicePhone string // 服务电话。 + PoolCashPledge int64 // 打款预留。提现后的保留金额 +} + +// 响应结构体 + +type UpdatePaymentServiceResponsedata struct { +} + +type UpdatePaymentServiceResponse struct { + Data UpdatePaymentServiceResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// UpdatePaymentService +func UpdatePaymentService(params *UpdatePaymentServiceRequest) (*UpdatePaymentServiceResponsedata, error) { + var ( + err error + defaultRet *UpdatePaymentServiceResponsedata + ) + respData := &UpdatePaymentServiceResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/pay/paymentservice/update") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("app_name", params.AppName) + client.AddPostParam("service_phone", params.ServicePhone) + client.AddPostParam("pool_cash_pledge", fmt.Sprintf("%v", params.PoolCashPledge)) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pkg/getPackage.go b/openapi/tp/pkg/getPackage.go new file mode 100644 index 0000000..1cf30ce --- /dev/null +++ b/openapi/tp/pkg/getPackage.go @@ -0,0 +1,73 @@ +package pkg + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetPackageRequest 请求结构体 +type GetPackageRequest struct { + AccessToken string // 授权小程序的接口调用凭据 +} + +// 响应结构体 + +type GetPackageResponsedataItem struct { + CommitTime string `json:"commit_time"` // 提交时间 + Committer string `json:"committer"` // 提交人 + Msg string `json:"msg"` // 审核信息 + PackageID int64 `json:"package_id"` // 代码包 id + Remark string `json:"remark"` // 备注 + RollbackVersion string `json:"rollback_version"` // 上一个线上版本的版本号 + Status int64 `json:"status"` // 状态 + UploadErrCode int64 `json:"upload_err_code"` // 上传状态为失败时,失败的错误码 + UploadErrMsg string `json:"upload_err_msg"` // 上传状态为失败时,失败的原因描述 + UploadStatus int64 `json:"upload_status"` // 上传状态 + UploadStatusDesc string `json:"upload_status_desc"` // 上传状态描述 + Version string `json:"version"` // 版本号 + VersionDesc string `json:"version_desc"` // 版本描述 +} + +type GetPackageResponse struct { + Data []GetPackageResponsedataItem `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetPackage +func GetPackage(params *GetPackageRequest) ([]GetPackageResponsedataItem, error) { + var ( + err error + defaultRet []GetPackageResponsedataItem + ) + respData := &GetPackageResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/package/get") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/pkg/getPackageDetail.go b/openapi/tp/pkg/getPackageDetail.go new file mode 100644 index 0000000..a15a59a --- /dev/null +++ b/openapi/tp/pkg/getPackageDetail.go @@ -0,0 +1,72 @@ +package pkg + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetPackageDetailRequest 请求结构体 +type GetPackageDetailRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + Type interface{} // 小程序状态,不指定 package_id 的情况下默认是线上版本 + PackageID interface{} // 代码包 id +} + +// 响应结构体 + +type GetPackageDetailResponsedata struct { + CommitTime string `json:"commit_time"` // 提交时间 + Committer string `json:"committer"` // 提交人 + Msg string `json:"msg"` // 审核信息 + PackageID int64 `json:"package_id"` // 代码包 id + Remark string `json:"remark"` // 备注 + Status int64 `json:"status"` // 状态 + Version string `json:"version"` // 版本号 + VersionDesc string `json:"version_desc"` // 版本描述 +} + +type GetPackageDetailResponse struct { + Data GetPackageDetailResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetPackageDetail +func GetPackageDetail(params *GetPackageDetailRequest) (*GetPackageDetailResponsedata, error) { + var ( + err error + defaultRet *GetPackageDetailResponsedata + ) + respData := &GetPackageDetailResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/package/getdetail") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("type", params.Type) + client.AddGetParam("package_id", params.PackageID) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pkg/getPackageSubmitAuditQuota.go b/openapi/tp/pkg/getPackageSubmitAuditQuota.go new file mode 100644 index 0000000..339d384 --- /dev/null +++ b/openapi/tp/pkg/getPackageSubmitAuditQuota.go @@ -0,0 +1,63 @@ +package pkg + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetPackageSubmitAuditQuotaRequest 请求结构体 +type GetPackageSubmitAuditQuotaRequest struct { + AccessToken string // 授权小程序的接口调用凭据 +} + +// 响应结构体 + +type GetPackageSubmitAuditQuotaResponsedata struct { + QuotaTimes int64 `json:"quota_times"` // 单个周期内额度上限,-1:无限制 + QuotaType int64 `json:"quota_type"` // 额度限制,周期类型:2:周 + RemainTimes int64 `json:"remain_times"` // 当前周期内剩余额度,-1:无限制 +} + +type GetPackageSubmitAuditQuotaResponse struct { + Data GetPackageSubmitAuditQuotaResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetPackageSubmitAuditQuota +func GetPackageSubmitAuditQuota(params *GetPackageSubmitAuditQuotaRequest) (*GetPackageSubmitAuditQuotaResponsedata, error) { + var ( + err error + defaultRet *GetPackageSubmitAuditQuotaResponsedata + ) + respData := &GetPackageSubmitAuditQuotaResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/package/auditquota") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pkg/releasePackage.go b/openapi/tp/pkg/releasePackage.go new file mode 100644 index 0000000..fff87f4 --- /dev/null +++ b/openapi/tp/pkg/releasePackage.go @@ -0,0 +1,62 @@ +package pkg + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// ReleasePackageRequest 请求结构体 +type ReleasePackageRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + PackageID string // 包 id +} + +// 响应结构体 + +type ReleasePackageResponsedata struct { +} + +type ReleasePackageResponse struct { + Data ReleasePackageResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// ReleasePackage +func ReleasePackage(params *ReleasePackageRequest) (*ReleasePackageResponsedata, error) { + var ( + err error + defaultRet *ReleasePackageResponsedata + ) + respData := &ReleasePackageResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/package/release") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("package_id", params.PackageID) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pkg/rollbackPackage.go b/openapi/tp/pkg/rollbackPackage.go new file mode 100644 index 0000000..f4162d6 --- /dev/null +++ b/openapi/tp/pkg/rollbackPackage.go @@ -0,0 +1,62 @@ +package pkg + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// RollbackPackageRequest 请求结构体 +type RollbackPackageRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + PackageID string // 包 id +} + +// 响应结构体 + +type RollbackPackageResponsedata struct { +} + +type RollbackPackageResponse struct { + Data RollbackPackageResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// RollbackPackage +func RollbackPackage(params *RollbackPackageRequest) (*RollbackPackageResponsedata, error) { + var ( + err error + defaultRet *RollbackPackageResponsedata + ) + respData := &RollbackPackageResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/package/rollback") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("package_id", params.PackageID) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pkg/submitPackageAudit.go b/openapi/tp/pkg/submitPackageAudit.go new file mode 100644 index 0000000..3d5067f --- /dev/null +++ b/openapi/tp/pkg/submitPackageAudit.go @@ -0,0 +1,70 @@ +package pkg + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// SubmitPackageAuditRequest 请求结构体 +type SubmitPackageAuditRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + Content string // 送审描述 + PackageID string // 包 id ,获取方式请参考获取小程序包列表 + Remark string // 备注 + TestAccount interface{} // 可以向审核人员提供的测试帐号 + TestPassword interface{} // 测试帐号对应的密码 +} + +// 响应结构体 + +type SubmitPackageAuditResponsedata struct { +} + +type SubmitPackageAuditResponse struct { + Data SubmitPackageAuditResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// SubmitPackageAudit +func SubmitPackageAudit(params *SubmitPackageAuditRequest) (*SubmitPackageAuditResponsedata, error) { + var ( + err error + defaultRet *SubmitPackageAuditResponsedata + ) + respData := &SubmitPackageAuditResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/package/submitaudit") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("content", params.Content) + client.AddPostParam("package_id", params.PackageID) + client.AddPostParam("remark", params.Remark) + client.AddPostParam("test_account", params.TestAccount) + client.AddPostParam("test_password", params.TestPassword) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pkg/uploadPackage.go b/openapi/tp/pkg/uploadPackage.go new file mode 100644 index 0000000..fdf914b --- /dev/null +++ b/openapi/tp/pkg/uploadPackage.go @@ -0,0 +1,72 @@ +package pkg + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// UploadPackageRequest 请求结构体 +type UploadPackageRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + TemplateID string // 代码库中的代码模板 id ,可以在第三方平台-模板管理-模板库 查看到模板 id + ExtJSON string // 第三方自定义的配置 + UserDesc string // 代码描述,开发者可自定义。 + UserVersion string // 代码版本号,开发者可自定义。 + TestAccount interface{} // 设置直接送审( ext_json 中的 directCommit 字段为 true 时),可以向审核人员提供的测试帐号。 + TestPassword interface{} // 测试帐号对应的密码。 +} + +// 响应结构体 + +type UploadPackageResponsedata struct { +} + +type UploadPackageResponse struct { + Data UploadPackageResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// UploadPackage +func UploadPackage(params *UploadPackageRequest) (*UploadPackageResponsedata, error) { + var ( + err error + defaultRet *UploadPackageResponsedata + ) + respData := &UploadPackageResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/package/upload") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("template_id", params.TemplateID) + client.AddPostParam("ext_json", params.ExtJSON) + client.AddPostParam("user_desc", params.UserDesc) + client.AddPostParam("user_version", params.UserVersion) + client.AddPostParam("test_account", params.TestAccount) + client.AddPostParam("test_password", params.TestPassword) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/pkg/withdrawPackageAudit.go b/openapi/tp/pkg/withdrawPackageAudit.go new file mode 100644 index 0000000..a53626a --- /dev/null +++ b/openapi/tp/pkg/withdrawPackageAudit.go @@ -0,0 +1,62 @@ +package pkg + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// WithdrawPackageAuditRequest 请求结构体 +type WithdrawPackageAuditRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + PackageID string // 待撤回审核的代码包 id +} + +// 响应结构体 + +type WithdrawPackageAuditResponsedata struct { +} + +type WithdrawPackageAuditResponse struct { + Data WithdrawPackageAuditResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// WithdrawPackageAudit +func WithdrawPackageAudit(params *WithdrawPackageAuditRequest) (*WithdrawPackageAuditResponsedata, error) { + var ( + err error + defaultRet *WithdrawPackageAuditResponsedata + ) + respData := &WithdrawPackageAuditResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/package/withdraw") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("package_id", params.PackageID) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/search/addSubChain.go b/openapi/tp/search/addSubChain.go new file mode 100644 index 0000000..22c06c5 --- /dev/null +++ b/openapi/tp/search/addSubChain.go @@ -0,0 +1,65 @@ +package search + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// AddSubChainRequest 请求结构体 +type AddSubChainRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + ChainName string // 4-10个字符,说明子链的功能 + ChainDesc string // 8-16个字符,辅助描述子链的功能 + ChainPath interface{} // 以“/”开头的子链对应的path路径 + Telephone interface{} // SA类型的客服电话子链 +} + +// 响应结构体 + +type AddSubChainResponse struct { + Data int64 `json:"data"` // 生成的子链Id + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// AddSubChain +func AddSubChain(params *AddSubChainRequest) (int64, error) { + var ( + err error + defaultRet int64 + ) + respData := &AddSubChainResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/subchain/add") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("chain_name", params.ChainName) + client.AddPostParam("chain_desc", params.ChainDesc) + client.AddPostParam("chain_path", params.ChainPath) + client.AddPostParam("telephone", params.Telephone) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/search/bindSite.go b/openapi/tp/search/bindSite.go new file mode 100644 index 0000000..88e4425 --- /dev/null +++ b/openapi/tp/search/bindSite.go @@ -0,0 +1,59 @@ +package search + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// BindSiteRequest 请求结构体 +type BindSiteRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + Sites string // 站点,多个用逗号分开 +} + +// 响应结构体 + +type BindSiteResponse struct { + Data bool `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// BindSite +func BindSite(params *BindSiteRequest) (bool, error) { + var ( + err error + defaultRet bool + ) + respData := &BindSiteResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/flow/bindsite") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("sites", params.Sites) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/search/delUrlMapping.go b/openapi/tp/search/delUrlMapping.go new file mode 100644 index 0000000..ba65f39 --- /dev/null +++ b/openapi/tp/search/delUrlMapping.go @@ -0,0 +1,61 @@ +package search + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// DelURLMappingRequest 请求结构体 +type DelURLMappingRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + DelRuleID int64 // 规则ID +} + +// 响应结构体 + +type DelURLMappingResponse struct { + Data bool `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// DelURLMapping +func DelURLMapping(params *DelURLMappingRequest) (bool, error) { + var ( + err error + defaultRet bool + ) + respData := &DelURLMappingResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/flow/delurlmapping") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("del_rule_id", fmt.Sprintf("%v", params.DelRuleID)) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/search/deleteSubChain.go b/openapi/tp/search/deleteSubChain.go new file mode 100644 index 0000000..9a97993 --- /dev/null +++ b/openapi/tp/search/deleteSubChain.go @@ -0,0 +1,59 @@ +package search + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// DeleteSubChainRequest 请求结构体 +type DeleteSubChainRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + SubchainID string // 子链 Id +} + +// 响应结构体 + +type DeleteSubChainResponse struct { + Data bool `json:"data"` // 是否成功删除 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// DeleteSubChain +func DeleteSubChain(params *DeleteSubChainRequest) (bool, error) { + var ( + err error + defaultRet bool + ) + respData := &DeleteSubChainResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/subchain/delete") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("subchain_id", params.SubchainID) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/search/getAllSubChain.go b/openapi/tp/search/getAllSubChain.go new file mode 100644 index 0000000..ff414c9 --- /dev/null +++ b/openapi/tp/search/getAllSubChain.go @@ -0,0 +1,83 @@ +package search + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetAllSubChainRequest 请求结构体 +type GetAllSubChainRequest struct { + AccessToken string // 授权小程序的接口调用凭据 +} + +// 响应结构体 + +type GetAllSubChainResponsedatasubChainInfoListItem struct { + AppID int64 `json:"app_id"` // 小程序Id + AppName string `json:"app_name"` // 小程序名称 + AuditDesc string `json:"audit_desc"` // 审核描述信息 + AuditTime int64 `json:"audit_time"` // 审核时间 + ChainDesc string `json:"chain_desc"` // 子链的描述信息 + ChainName string `json:"chain_name"` // 子链的名称 + ChainPath string `json:"chain_path"` // 子链的访问路径 + ChainRank int64 `json:"chain_rank"` // 展示顺序,当子链的状态为审核通过,值越小,越优先展示,展示数量由sub_chain_prior_number 控制,超过的子链为备选子链。新添加的子链该值为99,停用的子链该值为100。 + CreateTime int64 `json:"create_time"` // 创建时间 + CustomerID int64 `json:"customer_id"` // 主体id + CustomerName string `json:"customer_name"` // 主体名称 + ID int64 `json:"id"` // 子链id + PathMd5 string `json:"path_md5"` // + ShowStatus int64 `json:"showStatus"` // 展示类型。1: 优选 2: 备选。为null代表还未通过审核 + Status int64 `json:"status"` // 子链的状态。0:未知 1:审核中 2:审核通过 3:审核拒绝 4:撤回 5:删除 6:停用 + SubchainType int64 `json:"subchain_type"` // 子链类型。1: path类型子链 2:客服电话子链(要求小程序等级为 4 ) + UpdateTime int64 `json:"update_time"` // 更新时间 +} + +type GetAllSubChainResponsedata struct { + AppLevel int64 `json:"app_level"` // 小程序等级,等级为 3、4的小程序能展示六个单卡子链。 + SubChainInfoList []GetAllSubChainResponsedatasubChainInfoListItem `json:"sub_chain_info_list"` // + SubChainPriorNumber int64 `json:"sub_chain_prior_number"` // 展示的单卡子链个数。 +} + +type GetAllSubChainResponse struct { + Data GetAllSubChainResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetAllSubChain +func GetAllSubChain(params *GetAllSubChainRequest) (*GetAllSubChainResponsedata, error) { + var ( + err error + defaultRet *GetAllSubChainResponsedata + ) + respData := &GetAllSubChainResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/subchain/getall") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/search/getBindSite.go b/openapi/tp/search/getBindSite.go new file mode 100644 index 0000000..43c8dc9 --- /dev/null +++ b/openapi/tp/search/getBindSite.go @@ -0,0 +1,63 @@ +package search + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetBindSiteRequest 请求结构体 +type GetBindSiteRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + PageNum int64 // 分页页码。从1开始 + PageSize int64 // 分页大小。最大值为 100 +} + +// 响应结构体 + +type GetBindSiteResponse struct { + Data []string `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetBindSite +func GetBindSite(params *GetBindSiteRequest) ([]string, error) { + var ( + err error + defaultRet []string + ) + respData := &GetBindSiteResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/flow/getbindsite") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("page_num", fmt.Sprintf("%v", params.PageNum)) + client.AddPostParam("page_size", fmt.Sprintf("%v", params.PageSize)) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/search/getQueryKeyword.go b/openapi/tp/search/getQueryKeyword.go new file mode 100644 index 0000000..c68d71a --- /dev/null +++ b/openapi/tp/search/getQueryKeyword.go @@ -0,0 +1,79 @@ +package search + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetQueryKeywordRequest 请求结构体 +type GetQueryKeywordRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + WebURL string // 页面地址。来自于 /promotion/topquery/info 接口返回的数据 + TimeSpan int64 // 时间区间。可取值1、7、30,分别代表 1 天、7 天、30 天 + PageNum int64 // 分页页数。 + PageSize int64 // 分页大小。最大值为100 +} + +// 响应结构体 + +type GetQueryKeywordResponsedatadetailItem struct { + ClickCount int64 `json:"click_count"` // 点击量。 + DisplayCount int64 `json:"display_count"` // 展现量。 + Query string `json:"query"` // 查询的单词名称。 + Rate string `json:"rate"` // 点展比(%), 保留两位小数。 +} + +type GetQueryKeywordResponsedata struct { + Detail []GetQueryKeywordResponsedatadetailItem `json:"detail"` // 该url下面查询词的点击与展现信息列表 + TotalNum int64 `json:"total_num"` // +} + +type GetQueryKeywordResponse struct { + Data GetQueryKeywordResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetQueryKeyword +func GetQueryKeyword(params *GetQueryKeywordRequest) (*GetQueryKeywordResponsedata, error) { + var ( + err error + defaultRet *GetQueryKeywordResponsedata + ) + respData := &GetQueryKeywordResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/promotion/topquery/keyword") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("web_url", params.WebURL) + client.AddGetParam("time_span", fmt.Sprintf("%v", params.TimeSpan)) + client.AddGetParam("page_num", fmt.Sprintf("%v", params.PageNum)) + client.AddGetParam("page_size", fmt.Sprintf("%v", params.PageSize)) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/search/getSitemapMeta.go b/openapi/tp/search/getSitemapMeta.go new file mode 100644 index 0000000..2f53304 --- /dev/null +++ b/openapi/tp/search/getSitemapMeta.go @@ -0,0 +1,75 @@ +package search + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetSitemapMetaRequest 请求结构体 +type GetSitemapMetaRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + TimeSpan int64 // 时间区间。可取值1、7、30,分别代表 1 天、7 天、30 天 +} + +// 响应结构体 + +type GetSitemapMetaResponsedatatrafficDataItem struct { + ClickCount int64 `json:"click_count"` // 点击量。 + ClickViewRatio string `json:"click_view_ratio"` // 点展比(%), 保留两位小数。 + Date string `json:"date"` // 日期。 + DisplayCount int64 `json:"display_count"` // 展现量。 +} + +type GetSitemapMetaResponsedata struct { + ClickDisplayRatio string `json:"click_display_ratio"` // 点展比。 + TotalClickCount int64 `json:"total_click_count"` // 累计点击量。 + TotalDisplayCount int64 `json:"total_display_count"` // 累计展现量。 + TrafficData []GetSitemapMetaResponsedatatrafficDataItem `json:"traffic_data"` // 日期纬度的点击与展示列表详情。 +} + +type GetSitemapMetaResponse struct { + Data GetSitemapMetaResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetSitemapMeta +func GetSitemapMeta(params *GetSitemapMetaRequest) (*GetSitemapMetaResponsedata, error) { + var ( + err error + defaultRet *GetSitemapMetaResponsedata + ) + respData := &GetSitemapMetaResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/promotion/sitemap/getanalysisctr") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("time_span", fmt.Sprintf("%v", params.TimeSpan)) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/search/getTopQueryUrlInfo.go b/openapi/tp/search/getTopQueryUrlInfo.go new file mode 100644 index 0000000..fa6b943 --- /dev/null +++ b/openapi/tp/search/getTopQueryUrlInfo.go @@ -0,0 +1,81 @@ +package search + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetTopQueryURLInfoRequest 请求结构体 +type GetTopQueryURLInfoRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + TimeSpan int64 // 时间区间。可取值1、7、30,分别代表 1 天、7 天、30 天 + PageNum int64 // 分页页数。 + PageSize int64 // 分页大小。最大值为100 +} + +// 响应结构体 + +type GetTopQueryURLInfoResponsedatadetailItem struct { + ClickCount int64 `json:"click_count"` // 点击量。 + DisplayCount int64 `json:"display_count"` // 展现量。 + Path string `json:"path"` // path路径。 + Rate string `json:"rate"` // 点展比(%), 保留两位小数。 + WebURL string `json:"web_url"` // web化url地址。 +} + +type GetTopQueryURLInfoResponsedata struct { + Detail []GetTopQueryURLInfoResponsedatadetailItem `json:"detail"` // 日期纬度的点击与展示列表详情。 + Rate string `json:"rate"` // 点展比(%), 保留两位小数。 + TotalClickCount int64 `json:"total_click_count"` // 累计点击量。 + TotalDisplayCount int64 `json:"total_display_count"` // 累计展现量。 + TotalNum int64 `json:"total_num"` // +} + +type GetTopQueryURLInfoResponse struct { + Data GetTopQueryURLInfoResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetTopQueryURLInfo +func GetTopQueryURLInfo(params *GetTopQueryURLInfoRequest) (*GetTopQueryURLInfoResponsedata, error) { + var ( + err error + defaultRet *GetTopQueryURLInfoResponsedata + ) + respData := &GetTopQueryURLInfoResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/promotion/topquery/info") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("time_span", fmt.Sprintf("%v", params.TimeSpan)) + client.AddGetParam("page_num", fmt.Sprintf("%v", params.PageNum)) + client.AddGetParam("page_size", fmt.Sprintf("%v", params.PageSize)) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/search/getUrlMappingDetail.go b/openapi/tp/search/getUrlMappingDetail.go new file mode 100644 index 0000000..fa5a9dc --- /dev/null +++ b/openapi/tp/search/getUrlMappingDetail.go @@ -0,0 +1,77 @@ +package search + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetURLMappingDetailRequest 请求结构体 +type GetURLMappingDetailRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + RuleID int64 // 规则ID +} + +// 响应结构体 + +type GetURLMappingDetailResponsedataItem struct { + AdapterNum int64 `json:"adapterNum"` // 适配topurl的数量 + AdapterStatus int64 `json:"adapterStatus"` // 规则状态 + AppPattern string `json:"appPattern"` // 小程序Path表达式 + CoverNum int64 `json:"coverNum"` // 累计替换 URL 量,即累计截止 t-1已完成替换的的 url 数量 + CreateMethod int64 `json:"createMethod"` // + H5Pattern string `json:"h5Pattern"` // 移动url表达式 + IsFetch bool `json:"isFetch"` // 是否匹配topurl生成path + MatchNum int64 `json:"matchNum"` // 匹配topurl的数量 + Msg string `json:"msg"` // + RuleID int64 `json:"ruleId"` // 规则id + Status int64 `json:"status"` // + SubmitTime string `json:"submitTime"` // + URLRate int64 `json:"urlRate"` // top 流量 URL 替换占比=累计截止 t-1已完成替换的top url 数量/总 top url 数量 +} + +type GetURLMappingDetailResponse struct { + Data []GetURLMappingDetailResponsedataItem `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetURLMappingDetail +func GetURLMappingDetail(params *GetURLMappingDetailRequest) ([]GetURLMappingDetailResponsedataItem, error) { + var ( + err error + defaultRet []GetURLMappingDetailResponsedataItem + ) + respData := &GetURLMappingDetailResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/flow/geturlmappingdetail") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("rule_id", fmt.Sprintf("%v", params.RuleID)) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/search/modifyWebStatus.go b/openapi/tp/search/modifyWebStatus.go new file mode 100644 index 0000000..6a7004e --- /dev/null +++ b/openapi/tp/search/modifyWebStatus.go @@ -0,0 +1,66 @@ +package search + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// ModifyWebStatusRequest 请求结构体 +type ModifyWebStatusRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + WebStatus int64 // 1:开启 2:关闭 +} + +// 响应结构体 + +type ModifyWebStatusResponse struct { + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 + Data ModifyWebStatusResponsedata +} + +type ModifyWebStatusResponsedata struct { + Errno int64 `json:"errno"` // 状态码 + Msg string `json:"msg"` // 状态描述 +} + +// ModifyWebStatus +func ModifyWebStatus(params *ModifyWebStatusRequest) (*ModifyWebStatusResponsedata, error) { + var ( + err error + defaultRet *ModifyWebStatusResponsedata + ) + respData := &ModifyWebStatusResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/app/modifywebstatus") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("web_status", fmt.Sprintf("%v", params.WebStatus)) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/search/queryUrlMapping.go b/openapi/tp/search/queryUrlMapping.go new file mode 100644 index 0000000..3932c94 --- /dev/null +++ b/openapi/tp/search/queryUrlMapping.go @@ -0,0 +1,80 @@ +package search + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// QueryURLMappingRequest 请求结构体 +type QueryURLMappingRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + PageNum int64 // 分页页码。从1开始 + PageSize int64 // 分页大小。最大值为 100 +} + +// 响应结构体 + +type QueryURLMappingResponsedataruleDetailListItem struct { + AppRule string `json:"appRule"` // 小程序rule + CreateMethod int64 `json:"createMethod"` // 创建方式 + H5Rule string `json:"h5Rule"` // h5规则 + Msg string `json:"msg"` // 规则状态说明 + RuleID int64 `json:"ruleId"` // 规则ID + Status int64 `json:"status"` // 规则状态 + SubmitTime string `json:"submitTime"` // 规则提交时间 +} + +type QueryURLMappingResponsedata struct { + RuleDetailList []QueryURLMappingResponsedataruleDetailListItem `json:"ruleDetailList"` // 规则列表 + RuleRemainingNum int64 `json:"ruleRemainingNum"` // 规则剩余可用数量 + RuleTotalNum int64 `json:"ruleTotalNum"` // 规则总数 + TotalAdapterNum int64 `json:"totalAdapterNum"` // 适配资源生效量 +} + +type QueryURLMappingResponse struct { + Data QueryURLMappingResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// QueryURLMapping +func QueryURLMapping(params *QueryURLMappingRequest) (*QueryURLMappingResponsedata, error) { + var ( + err error + defaultRet *QueryURLMappingResponsedata + ) + respData := &QueryURLMappingResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/flow/queryurlmapping") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("page_num", fmt.Sprintf("%v", params.PageNum)) + client.AddPostParam("page_size", fmt.Sprintf("%v", params.PageSize)) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/search/rankSubChain.go b/openapi/tp/search/rankSubChain.go new file mode 100644 index 0000000..e02457d --- /dev/null +++ b/openapi/tp/search/rankSubChain.go @@ -0,0 +1,59 @@ +package search + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// RankSubChainRequest 请求结构体 +type RankSubChainRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + SubchainRanklist string // 子链 Id 字符串,顺序代表了排序位置,使用逗号分割 +} + +// 响应结构体 + +type RankSubChainResponse struct { + Data bool `json:"data"` // 是否成功 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// RankSubChain +func RankSubChain(params *RankSubChainRequest) (bool, error) { + var ( + err error + defaultRet bool + ) + respData := &RankSubChainResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/subchain/rank") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("subchain_ranklist", params.SubchainRanklist) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/search/saveUrlMapping.go b/openapi/tp/search/saveUrlMapping.go new file mode 100644 index 0000000..bb889c8 --- /dev/null +++ b/openapi/tp/search/saveUrlMapping.go @@ -0,0 +1,61 @@ +package search + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// SaveURLMappingRequest 请求结构体 +type SaveURLMappingRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + Content string // json字符串 + CreateMethod string // 每页数量,最大100 +} + +// 响应结构体 + +type SaveURLMappingResponse struct { + Data bool `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// SaveURLMapping +func SaveURLMapping(params *SaveURLMappingRequest) (bool, error) { + var ( + err error + defaultRet bool + ) + respData := &SaveURLMappingResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/flow/saveurlmapping") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("content", params.Content) + client.AddPostParam("create_method", params.CreateMethod) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/search/startSubChain.go b/openapi/tp/search/startSubChain.go new file mode 100644 index 0000000..8c8769c --- /dev/null +++ b/openapi/tp/search/startSubChain.go @@ -0,0 +1,59 @@ +package search + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// StartSubChainRequest 请求结构体 +type StartSubChainRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + SubchainID string // 子链 Id +} + +// 响应结构体 + +type StartSubChainResponse struct { + Data bool `json:"data"` // 是否成功 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// StartSubChain +func StartSubChain(params *StartSubChainRequest) (bool, error) { + var ( + err error + defaultRet bool + ) + respData := &StartSubChainResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/subchain/restart") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("subchain_id", params.SubchainID) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/search/stopSubChain.go b/openapi/tp/search/stopSubChain.go new file mode 100644 index 0000000..9866e08 --- /dev/null +++ b/openapi/tp/search/stopSubChain.go @@ -0,0 +1,59 @@ +package search + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// StopSubChainRequest 请求结构体 +type StopSubChainRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + SubchainID string // 子链 Id +} + +// 响应结构体 + +type StopSubChainResponse struct { + Data bool `json:"data"` // 是否成功 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// StopSubChain +func StopSubChain(params *StopSubChainRequest) (bool, error) { + var ( + err error + defaultRet bool + ) + respData := &StopSubChainResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/subchain/stop") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("subchain_id", params.SubchainID) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/search/submitSitemapByApi.go b/openapi/tp/search/submitSitemapByApi.go new file mode 100644 index 0000000..fbedf47 --- /dev/null +++ b/openapi/tp/search/submitSitemapByApi.go @@ -0,0 +1,66 @@ +package search + +import ( + "fmt" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// SubmitSitemapByAPIRequest 请求结构体 +type SubmitSitemapByAPIRequest struct { + AccessToken string // 第三方平台的接口调用凭据 + Type int64 // 上传级别 0:周级别,一周左右生效;1:天级别,2~3天生效 + URLList string // url集合;上传级别上限,0:每天3000条,1:每天5000条 多个,分割 +} + +// 响应结构体 + +type SubmitSitemapByAPIResponsedata struct { +} + +type SubmitSitemapByAPIResponse struct { + Data SubmitSitemapByAPIResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// SubmitSitemapByAPI +func SubmitSitemapByAPI(params *SubmitSitemapByAPIRequest) (*SubmitSitemapByAPIResponsedata, error) { + var ( + err error + defaultRet *SubmitSitemapByAPIResponsedata + ) + respData := &SubmitSitemapByAPIResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/access/submit/sitemap") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("type", fmt.Sprintf("%v", params.Type)) + client.AddPostParam("url_list", params.URLList) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/search/updateSubChain.go b/openapi/tp/search/updateSubChain.go new file mode 100644 index 0000000..d118bf9 --- /dev/null +++ b/openapi/tp/search/updateSubChain.go @@ -0,0 +1,67 @@ +package search + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// UpdateSubChainRequest 请求结构体 +type UpdateSubChainRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + SubchainID string // 子链 Id + ChainName string // 4-10个字符,说明子链的功能 + ChainDesc string // 8-16个字符,辅助描述子链的功能 + ChainPath interface{} // 以“/”开头的子链对应的path路径 + Telephone interface{} // SA类型的客服电话子链 +} + +// 响应结构体 + +type UpdateSubChainResponse struct { + Data bool `json:"data"` // 是否成功更新 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// UpdateSubChain +func UpdateSubChain(params *UpdateSubChainRequest) (bool, error) { + var ( + err error + defaultRet bool + ) + respData := &UpdateSubChainResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/subchain/update") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("subchain_id", params.SubchainID) + client.AddPostParam("chain_name", params.ChainName) + client.AddPostParam("chain_desc", params.ChainDesc) + client.AddPostParam("chain_path", params.ChainPath) + client.AddPostParam("telephone", params.Telephone) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/search/uploadRobotsForApp.go b/openapi/tp/search/uploadRobotsForApp.go new file mode 100644 index 0000000..a873dfa --- /dev/null +++ b/openapi/tp/search/uploadRobotsForApp.go @@ -0,0 +1,88 @@ +package search + +import ( + "bytes" + "io" + "mime/multipart" + "path/filepath" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// UploadRobotsForAppRequest 请求结构体 +type UploadRobotsForAppRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + Robots UploadRobotsForAppRequestFile // robots.txt 文件,要求文件为 txt 格式,目前支持48k的文件内容检测,请保证robots.txt文件不要过大,目录最长不超过250个字符。 +} + +type UploadRobotsForAppRequestFile struct { + Name string + Reader io.Reader +} + +// 响应结构体 + +type UploadRobotsForAppResponse struct { + Data string `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// UploadRobotsForApp +func UploadRobotsForApp(params *UploadRobotsForAppRequest) (string, error) { + var ( + err error + defaultRet string + ) + respData := &UploadRobotsForAppResponse{} + + // Post MultiPart/form-data + payload := &bytes.Buffer{} + writer := multipart.NewWriter(payload) + + part1, err := writer.CreateFormFile(params.Robots.Name, filepath.Base(params.Robots.Name)) + if err != nil { + return defaultRet, err + } + + _, err = io.Copy(part1, params.Robots.Reader) + if err != nil { + return defaultRet, err + } + + err = writer.Close() + if err != nil { + return defaultRet, err + } + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeMultiPart + "; boundary=" + writer.Boundary()). + SetBody(payload). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/file/2.0/smartapp/robots/app/upload") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/search/uploadRobotsForTemplate.go b/openapi/tp/search/uploadRobotsForTemplate.go new file mode 100644 index 0000000..c287e3b --- /dev/null +++ b/openapi/tp/search/uploadRobotsForTemplate.go @@ -0,0 +1,91 @@ +package search + +import ( + "bytes" + "fmt" + "io" + "mime/multipart" + "path/filepath" + + "github.com/baidu/smartapp-openapi-go/utils" +) + +// UploadRobotsForTemplateRequest 请求结构体 +type UploadRobotsForTemplateRequest struct { + AccessToken string // 授权小程序的接口调用凭据 + TemplateID int64 // 模版 id + Robots UploadRobotsForTemplateRequestFile // robots.txt 文件,要求文件为 txt 格式,目前支持 48k 的文件内容检测,请保证 robots.txt 文件不要过大,目录最长不超过 250 个字符 +} + +type UploadRobotsForTemplateRequestFile struct { + Name string + Reader io.Reader +} + +// 响应结构体 + +type UploadRobotsForTemplateResponse struct { + Data string `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// UploadRobotsForTemplate +func UploadRobotsForTemplate(params *UploadRobotsForTemplateRequest) (string, error) { + var ( + err error + defaultRet string + ) + respData := &UploadRobotsForTemplateResponse{} + + // Post MultiPart/form-data + payload := &bytes.Buffer{} + writer := multipart.NewWriter(payload) + + part1, err := writer.CreateFormFile(params.Robots.Name, filepath.Base(params.Robots.Name)) + if err != nil { + return defaultRet, err + } + + _, err = io.Copy(part1, params.Robots.Reader) + if err != nil { + return defaultRet, err + } + + err = writer.Close() + if err != nil { + return defaultRet, err + } + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeMultiPart + "; boundary=" + writer.Boundary()). + SetBody(payload). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/file/2.0/smartapp/robots/template/upload") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("template_id", fmt.Sprintf("%v", params.TemplateID)) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return respData.Data, nil +} diff --git a/openapi/tp/template/addToTemplate.go b/openapi/tp/template/addToTemplate.go new file mode 100644 index 0000000..7c71bb9 --- /dev/null +++ b/openapi/tp/template/addToTemplate.go @@ -0,0 +1,65 @@ +package template + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// AddToTemplateRequest 请求结构体 +type AddToTemplateRequest struct { + AccessToken string // 第三方平台的接口调用凭据 + DraftID string // 草稿 id + UserDesc string // 自定义模板名称,30字以内 +} + +// 响应结构体 + +type AddToTemplateResponsedata struct { + TemplateID int64 `json:"template_id"` // 返回模板 id +} + +type AddToTemplateResponse struct { + Data AddToTemplateResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// AddToTemplate +func AddToTemplate(params *AddToTemplateRequest) (*AddToTemplateResponsedata, error) { + var ( + err error + defaultRet *AddToTemplateResponsedata + ) + respData := &AddToTemplateResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/template/addtotemplate") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("draft_id", params.DraftID) + client.AddPostParam("user_desc", params.UserDesc) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/template/delTemplate.go b/openapi/tp/template/delTemplate.go new file mode 100644 index 0000000..e82a766 --- /dev/null +++ b/openapi/tp/template/delTemplate.go @@ -0,0 +1,64 @@ +package template + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// DelTemplateRequest 请求结构体 +type DelTemplateRequest struct { + AccessToken string // 第三方平台的接口调用凭据 + TemplateID string // 模板 id +} + +// 响应结构体 + +type DelTemplateResponse struct { + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 + Data DelTemplateResponsedata +} + +type DelTemplateResponsedata struct { + Errno int64 `json:"errno"` // 状态码 + Msg string `json:"msg"` // 状态描述 +} + +// DelTemplate +func DelTemplate(params *DelTemplateRequest) (*DelTemplateResponsedata, error) { + var ( + err error + defaultRet *DelTemplateResponsedata + ) + respData := &DelTemplateResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("POST"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/template/deltemplate") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + client.AddPostParam("template_id", params.TemplateID) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/template/getTemplateDraftList.go b/openapi/tp/template/getTemplateDraftList.go new file mode 100644 index 0000000..f95e9e7 --- /dev/null +++ b/openapi/tp/template/getTemplateDraftList.go @@ -0,0 +1,74 @@ +package template + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetTemplateDraftListRequest 请求结构体 +type GetTemplateDraftListRequest struct { + AccessToken string // 第三方平台的接口调用凭据 + Page interface{} // 页码(默认 1) + PageSize interface{} // 条数(默认 10) +} + +// 响应结构体 + +type GetTemplateDraftListResponsedatalistItem struct { + CreateTime int64 `json:"create_time"` // 创建时间 + DraftID int64 `json:"draft_id"` // 草稿 id + UserDesc string `json:"user_desc"` // 模板描述信息 + UserVersion string `json:"user_version"` // 模板版本信息 + WebStatus bool `json:"web_status"` // 是否支持web化,开发者工具编译版本2.15.07以上传的草稿支持web化。 +} + +type GetTemplateDraftListResponsedata struct { + Count int64 `json:"count"` // + List []GetTemplateDraftListResponsedatalistItem `json:"list"` // +} + +type GetTemplateDraftListResponse struct { + Data GetTemplateDraftListResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetTemplateDraftList +func GetTemplateDraftList(params *GetTemplateDraftListRequest) (*GetTemplateDraftListResponsedata, error) { + var ( + err error + defaultRet *GetTemplateDraftListResponsedata + ) + respData := &GetTemplateDraftListResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/template/gettemplatedraftlist") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("page", params.Page) + client.AddGetParam("page_size", params.PageSize) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/openapi/tp/template/getTemplateList.go b/openapi/tp/template/getTemplateList.go new file mode 100644 index 0000000..574e248 --- /dev/null +++ b/openapi/tp/template/getTemplateList.go @@ -0,0 +1,74 @@ +package template + +import ( + "github.com/baidu/smartapp-openapi-go/utils" +) + +// GetTemplateListRequest 请求结构体 +type GetTemplateListRequest struct { + AccessToken string // 第三方平台的接口调用凭据 + Page interface{} // 页码(默认 1) + PageSize interface{} // 条数(默认 10) +} + +// 响应结构体 + +type GetTemplateListResponsedatalistItem struct { + CreateTime int64 `json:"create_time"` // 创建时间 + TemplateID int64 `json:"template_id"` // 模板 id + UserDesc string `json:"user_desc"` // 模板描述名称 + UserVersion string `json:"user_version"` // 模板版本信息 + WebStatus bool `json:"web_status"` // 是否支持 web 化,开发者工具编译版本 2.15.07 以上传的模板支持 web 化 +} + +type GetTemplateListResponsedata struct { + Count int64 `json:"count"` // 数据数量 + List []GetTemplateListResponsedatalistItem `json:"list"` // 模版列表 +} + +type GetTemplateListResponse struct { + Data GetTemplateListResponsedata `json:"data"` // 响应参数 + Errno int64 `json:"errno"` // 状态码 + ErrMsg string `json:"msg"` // 错误信息 + ErrorCode int64 `json:"error_code"` // openapi 错误码 + ErrorMsg string `json:"error_msg"` // openapi 错误信息 +} + +// GetTemplateList +func GetTemplateList(params *GetTemplateListRequest) (*GetTemplateListResponsedata, error) { + var ( + err error + defaultRet *GetTemplateListResponsedata + ) + respData := &GetTemplateListResponse{} + + client := utils.NewHTTPClient(). + SetContentType(utils.ContentTypeForm). + SetConverterType(utils.ConverterTypeJSON). + SetMethod("GET"). + SetScheme(utils.SCHEME). + SetHost(utils.OPENAPIHOST). + SetPath("/rest/2.0/smartapp/template/gettemplatelist") + client.AddGetParam("access_token", params.AccessToken) + client.AddGetParam("page", params.Page) + client.AddGetParam("page_size", params.PageSize) + client.AddGetParam("sp_sdk_ver", utils.SDKVERSION) + client.AddGetParam("sp_sdk_lang", utils.SDKLANG) + + err = client.Do() + if err != nil { + return defaultRet, err + } + err = client.Convert(respData) + if err != nil { + return defaultRet, err + } + if respData.ErrorCode != 0 { + return defaultRet, &utils.OpenAPIError{respData.ErrorCode, respData.ErrorMsg, respData} + } + + if respData.Errno != 0 { + return defaultRet, &utils.APIError{respData.Errno, respData.ErrMsg, respData} + } + return &respData.Data, nil +} diff --git a/utils/base.go b/utils/base.go new file mode 100644 index 0000000..2540165 --- /dev/null +++ b/utils/base.go @@ -0,0 +1,41 @@ +package utils + +import "encoding/json" + +const ( + SCHEME = "https" + OPENAPIHOST = "openapi.baidu.com" + SPAPIHOST = "spapi.baidu.com" + SDKLANG = "Go" + SDKVERSION = "1.0.8" +) + +// 网关错误响应结构体 +type OpenAPIError struct { + ErrorCode int64 // openapi 错误码 + ErrorMsg string // openapi 错误信息 + Detail interface{} // 详情 +} + +func (e *OpenAPIError) Error() string { + bts, err := json.Marshal(e.Detail) + if err != nil { + return err.Error() + } + return string(bts) +} + +// 业务接口错误响应结构体 +type APIError struct { + ErrNo int64 // 错误码 + ErrMsg string // 错误信息 + Detail interface{} // 详情 +} + +func (e *APIError) Error() string { + bts, err := json.Marshal(e.Detail) + if err != nil { + return err.Error() + } + return string(bts) +} diff --git a/utils/http_client.go b/utils/http_client.go new file mode 100644 index 0000000..41e2044 --- /dev/null +++ b/utils/http_client.go @@ -0,0 +1,235 @@ +package utils + +import ( + "bytes" + "encoding/json" + "fmt" + "io" + "io/ioutil" + "log" + "net/http" + "net/url" + "os" + "reflect" + "strings" + "time" +) + +var debugFlag bool + +const ( + ContentTypeForm = "application/x-www-form-urlencoded" + ContentTypeJSON = "application/json" + ContentTypeMultiPart = "multipart/form-data" + ConverterTypeJSON = "json" + ConverterTypePNG = "png" + ConverterTypeStream = "octet-stream" + defaultTimeout = 3 * time.Second +) + +// httpClient 封装http请求 +type httpClient struct { + scheme string + host string + path string + method string + contentType string + converterType string + config *config + getParams url.Values + postParams url.Values + requestBody []byte + headers map[string]string + rawResponse []byte + request *http.Request + respHeader http.Header +} + +func init() { + debugEnv := os.Getenv("DEBUG") + debugL := strings.Split(debugEnv, ",") + //如果环境变量包含swansdk字符串,开启debug日志 + for _, v := range debugL { + if v == "swansdk" { + debugFlag = true + break + } + } +} + +// newHTTPClient 创建一个HTTPClient +// opts 支持optTimeout 或 optRetry +func NewHTTPClient(opts ...Option) *httpClient { + cfg := &config{ + retry: 0, + timeout: defaultTimeout, + } + for _, opt := range opts { + opt.apply(cfg) + } + return &httpClient{ + getParams: url.Values{}, + postParams: url.Values{}, + headers: map[string]string{}, + config: cfg, + } +} + +func (hc *httpClient) SetContentType(contentType string) *httpClient { + hc.contentType = contentType + return hc +} +func (hc *httpClient) SetPath(path string) *httpClient { + hc.path = path + return hc +} +func (hc *httpClient) SetHost(host string) *httpClient { + hc.host = host + return hc +} + +func (hc *httpClient) SetScheme(scheme string) *httpClient { + hc.scheme = scheme + return hc +} + +func (hc *httpClient) SetMethod(method string) *httpClient { + hc.method = method + return hc +} + +func (hc *httpClient) SetConverterType(converterType string) *httpClient { + hc.converterType = converterType + return hc +} + +func (hc *httpClient) SetBody(input interface{}) *httpClient { + switch input.(type) { + case []byte: + hc.requestBody = input.([]byte) + case *(bytes.Buffer): + tmp, _ := input.(*(bytes.Buffer)) + hc.requestBody = tmp.Bytes() + default: + bts, _ := json.Marshal(input) + hc.requestBody = bts + } + return hc +} +func (hc *httpClient) AddPostParam(k string, v interface{}) *httpClient { + if v != nil { + vStr := fmt.Sprintf("%v", v) + hc.postParams.Add(k, vStr) + } + return hc +} + +func (hc *httpClient) AddGetParam(k string, v interface{}) *httpClient { + if v != nil { + vStr := fmt.Sprintf("%v", v) + hc.getParams.Add(k, vStr) + } + return hc +} + +func (hc *httpClient) AddHeader(k, v string) *httpClient { + hc.headers[k] = v + return hc +} + +func (hc *httpClient) prepareRequest() error { + reqURI := fmt.Sprintf("%s://%s%s", hc.scheme, hc.host, hc.path) + if len(hc.getParams) > 0 { + reqURI = fmt.Sprintf("%s?%s", reqURI, hc.getParams.Encode()) + } + hc.debugLog("req_uri", reqURI) + if hc.method == http.MethodGet { + req, err := http.NewRequest(hc.method, reqURI, nil) + if err != nil { + hc.debugLog("getreq err %s", err) + return err + } + hc.request = req + return nil + } + var bodyReader io.Reader + switch { + case hc.contentType == ContentTypeForm: + bodyReader = strings.NewReader(hc.postParams.Encode()) + case hc.contentType == ContentTypeJSON: + bodyReader = strings.NewReader(string(hc.requestBody)) + case hc.contentType == ContentTypeMultiPart || strings.Contains(hc.contentType, ContentTypeMultiPart): + bodyReader = bytes.NewBuffer(hc.requestBody) + default: + + } + + req, err := http.NewRequest(hc.method, reqURI, bodyReader) + if err != nil { + hc.debugLog("postreq err %s", err) + return err + } + req.Header.Add("content-type", hc.contentType) + for k, v := range hc.headers { + req.Header.Add(k, v) + } + hc.debugLog("http-req %#v", req) + hc.request = req + return nil +} + +func (hc *httpClient) debugLog(format string, v ...interface{}) { + if debugFlag { + log.Printf(format, v...) + } +} + +func (hc *httpClient) Do() error { + if err := hc.prepareRequest(); err != nil { + return err + } + client := &http.Client{Timeout: hc.config.timeout} + //todo retry && hook + res, err := client.Do(hc.request) + hc.respHeader = res.Header + hc.debugLog("http response: %#v", res) + if err != nil { + return err + } + //错误码非20x + if res.StatusCode < 200 || res.StatusCode >= 300 { + return fmt.Errorf("status[%s]", res.Status) + } + if res.Body == nil { + return fmt.Errorf("nil body") + } + defer res.Body.Close() + btsRes, err := ioutil.ReadAll(res.Body) + if err != nil { + return err + } + hc.rawResponse = btsRes + hc.debugLog("raw res: %s", btsRes) + return nil +} + +func (hc *httpClient) GetRawResponse() []byte { + return hc.rawResponse +} + +func (hc *httpClient) GetRespHeader() http.Header { + return hc.respHeader +} + +func (hc *httpClient) Convert(resp interface{}) error { + switch hc.converterType { + case ConverterTypeJSON: + return json.Unmarshal(hc.rawResponse, resp) + case ConverterTypePNG, ConverterTypeStream: + vResp := reflect.Indirect(reflect.ValueOf(resp)) + vResp.Set(reflect.ValueOf(hc.rawResponse)) + return nil + default: + return fmt.Errorf("invalid converter[%s]", hc.converterType) + } +} diff --git a/utils/options.go b/utils/options.go new file mode 100644 index 0000000..03a694c --- /dev/null +++ b/utils/options.go @@ -0,0 +1,37 @@ +package utils + +import "time" + +type config struct { + timeout time.Duration + retry int +} + +type Option interface { + apply(*config) +} + +type funcOption struct { + f func(cfg *config) +} + +func (fdo *funcOption) apply(cfg *config) { + fdo.f(cfg) +} + +func newFuncOption(f func(*config)) *funcOption { + return &funcOption{ + f: f, + } +} + +func OptRetry(retry int) Option { + return newFuncOption(func(cfg *config) { + cfg.retry = retry + }) +} +func OptTimeout(timeout time.Duration) Option { + return newFuncOption(func(cfg *config) { + cfg.timeout = timeout + }) +}