123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- "use strict";
- var __importDefault = (this && this.__importDefault) || function (mod) {
- return (mod && mod.__esModule) ? mod : { "default": mod };
- };
- Object.defineProperty(exports, "__esModule", { value: true });
- const httpRequest_1 = __importDefault(require("../utils/httpRequest"));
- const utils_1 = require("../utils/utils");
- const code_1 = require("../const/code");
- function validateCrossAccount(config, opts = {}) {
- let getCrossAccountInfo = opts.getCrossAccountInfo || config.getCrossAccountInfo;
- if (getCrossAccountInfo) {
- throw utils_1.E(Object.assign({}, code_1.ERROR.INVALID_PARAM, { message: 'invalid config: getCrossAccountInfo' }));
- }
- }
- async function callWxOpenApi(cloudbase, { apiName, apiOptions, cgiName, requestData }, opts) {
- let transformRequestData;
- try {
- transformRequestData = requestData ? JSON.stringify(requestData) : '';
- }
- catch (e) {
- throw utils_1.E(Object.assign({}, e, { code: code_1.ERROR.INVALID_PARAM.code, message: '对象出现了循环引用' }));
- }
- validateCrossAccount(cloudbase.config, opts);
- const params = {
- action: 'wx.api',
- apiName,
- apiOptions,
- cgiName,
- requestData: transformRequestData
- };
- return httpRequest_1.default({
- config: cloudbase.config,
- params,
- method: 'post',
- opts,
- headers: {
- 'content-type': 'application/json'
- }
- }).then(res => {
- if (res.code) {
- return res;
- }
- // throw E({ ...res })
- // } else {
- let result;
- try {
- result = JSON.parse(res.data.responseData);
- }
- catch (e) {
- result = res.data.responseData;
- }
- return {
- result,
- requestId: res.requestId
- };
- // }
- });
- }
- exports.callWxOpenApi = callWxOpenApi;
- /**
- * 调用wxopenAPi
- * @param {String} apiName 接口名
- * @param {Buffer} requestData
- * @return {Promise} 正常内容为buffer,报错为json {code:'', message:'', resquestId:''}
- */
- async function callCompatibleWxOpenApi(cloudbase, { apiName, apiOptions, cgiName, requestData }, opts) {
- validateCrossAccount(cloudbase.config, opts);
- const params = {
- action: 'wx.openApi',
- apiName,
- apiOptions,
- cgiName,
- requestData
- };
- return httpRequest_1.default({
- config: cloudbase.config,
- method: 'post',
- headers: { 'content-type': 'multipart/form-data' },
- params,
- isFormData: true,
- opts
- }).then(res => res);
- }
- exports.callCompatibleWxOpenApi = callCompatibleWxOpenApi;
- /**
- * wx.wxPayApi 微信支付用
- * @param {String} apiName 接口名
- * @param {Buffer} requestData
- * @return {Promise} 正常内容为buffer,报错为json {code:'', message:'', resquestId:''}
- */
- async function callWxPayApi(cloudbase, { apiName, apiOptions, cgiName, requestData }, opts) {
- validateCrossAccount(cloudbase.config, opts);
- const params = {
- action: 'wx.wxPayApi',
- apiName,
- apiOptions,
- cgiName,
- requestData
- };
- return httpRequest_1.default({
- config: cloudbase.config,
- method: 'post',
- headers: { 'content-type': 'multipart/form-data' },
- params,
- isFormData: true,
- opts
- });
- }
- exports.callWxPayApi = callWxPayApi;
|