UNPKG

@tnwx/wxmp

Version:

TNWX 微信系开发脚手架之极速开发微信公众号

575 lines 24.3 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const util = require("util"); const accesstoken_1 = require("@tnwx/accesstoken"); const kits_1 = require("@tnwx/kits"); /** * @author Javen * @copyright javendev@126.com * @description 微信卡券相关接口 */ class CardApi { /** * 创建会员卡接口 * @param jsonStr * @param accessToken */ static create(jsonStr, accessToken) { return __awaiter(this, void 0, void 0, function* () { if (!accessToken) { accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken(); } let url = util.format(this.cardCreateUrl, accessToken.getAccessToken); return kits_1.HttpKit.getHttpDelegate.httpPost(url, jsonStr); }); } /** * 设置买单接口 * @param cardId * @param isOpen * @param accessToken */ static setPayCell(cardId, isOpen, accessToken) { return __awaiter(this, void 0, void 0, function* () { if (!accessToken) { accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken(); } let url = util.format(this.setPayCellUrl, accessToken.getAccessToken); return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify({ card_id: cardId, is_open: isOpen })); }); } /** * 设置自助核销接口 * @param cardId 卡券ID * @param isOpen 是否开启自助核销功能,填true/false,默认为false * @param needVerifyCod 用户核销时是否需要输入验证码, 填true/false, 默认为false * @param needRemarkAmount 用户核销时是否需要备注核销金额, 填true/false, 默认为false * @param accessToken */ static setSelfConsumeCell(cardId, isOpen = false, needVerifyCod = false, needRemarkAmount = false, accessToken) { return __awaiter(this, void 0, void 0, function* () { if (!accessToken) { accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken(); } let url = util.format(this.setSelfConsumeCellUrl, accessToken.getAccessToken); return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify({ card_id: cardId, is_open: isOpen, need_verify_cod: needVerifyCod, need_remark_amount: needRemarkAmount })); }); } /** * 创建二维码接口 * @param jsonStr * @param accessToken */ static createQrcodeCard(jsonStr, accessToken) { return __awaiter(this, void 0, void 0, function* () { if (!accessToken) { accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken(); } let url = util.format(this.createQrcodeCardUrl, accessToken.getAccessToken); return kits_1.HttpKit.getHttpDelegate.httpPost(url, jsonStr); }); } /** * 创建货架接口 * @param jsonStr * @param accessToken */ static createLandingPageCard(jsonStr, accessToken) { return __awaiter(this, void 0, void 0, function* () { if (!accessToken) { accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken(); } let url = util.format(this.createLandingPageCardUrl, accessToken.getAccessToken); return kits_1.HttpKit.getHttpDelegate.httpPost(url, jsonStr); }); } /** * 图文消息群发卡券 * @param cardId * @param accessToken */ static getHtmlMpNews(cardId, accessToken) { return __awaiter(this, void 0, void 0, function* () { if (!accessToken) { accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken(); } let url = util.format(this.getHtmlMpNewsUrl, accessToken.getAccessToken); return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify({ card_id: cardId })); }); } /** * 设置测试白名单 * @param jsonStr * @param accessToken */ static setTestWhiteList(jsonStr, accessToken) { return __awaiter(this, void 0, void 0, function* () { if (!accessToken) { accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken(); } let url = util.format(this.setTestWhiteListUrl, accessToken.getAccessToken); return kits_1.HttpKit.getHttpDelegate.httpPost(url, jsonStr); }); } /** * 查询Code接口 * @param code 单张卡券的唯一标准 * @param cardId 卡券ID代表一类卡券。自定义code卡券必填。 * @param checkConsume 是否校验code核销状态 * @param accessToken */ static getCode(code, cardId, checkConsume, accessToken) { return __awaiter(this, void 0, void 0, function* () { let map = new Map(); map.set('code', code); if (cardId) { map.set('card_id', cardId); } if (checkConsume) { map.set('check_consume', checkConsume); } if (!accessToken) { accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken(); } let url = util.format(this.getCodeUrl, accessToken.getAccessToken); return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify(map)); }); } /** * 核销Code接口 * @param code 需核销的Code码 * @param cardId 卡券ID。创建卡券时use_custom_code填写true时必填。非自定义Code不必填写。 * @param accessToken */ static consume(code, cardId, accessToken) { return __awaiter(this, void 0, void 0, function* () { let map = new Map(); map.set('code', code); if (cardId) { map.set('card_id', cardId); } if (!accessToken) { accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken(); } let url = util.format(this.consumeCodeUrl, accessToken.getAccessToken); return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify(map)); }); } /** * 线上核销Code接口 * @param code 需核销的Code码 * @param openid 当前卡券使用者的openid,通常通过网页授权登录或自定义url跳转参数获得。 * @param accessToken */ static consumeOnline(code, openid, accessToken) { return __awaiter(this, void 0, void 0, function* () { if (!accessToken) { accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken(); } let url = util.format(this.consumeCodeUrl, accessToken.getAccessToken); return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify({ code: code, openid: openid })); }); } /** * Code解码接口 * @param encryptCode 经过加密的Code码 * @param accessToken */ static decryptCode(encryptCode, accessToken) { return __awaiter(this, void 0, void 0, function* () { if (!accessToken) { accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken(); } let url = util.format(this.decryptCodeUrl, accessToken.getAccessToken); return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify({ encrypt_code: encryptCode })); }); } /** * 导入自定义code * @param cardId 需要进行导入code的卡券ID * @param codeList 需导入微信卡券后台的自定义code,上限为100个。 * @param accessToken */ static setDeposit(cardId, codeList, accessToken) { return __awaiter(this, void 0, void 0, function* () { if (!accessToken) { accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken(); } let url = util.format(this.setDepositUrl, accessToken.getAccessToken); return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify({ card_id: cardId, code: codeList })); }); } /** * 查询导入code数目接口 * @param cardId * @param accessToken */ static getDepositCount(cardId, accessToken) { return __awaiter(this, void 0, void 0, function* () { if (!accessToken) { accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken(); } let url = util.format(this.getDepositCountUrl, accessToken.getAccessToken); return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify({ card_id: cardId })); }); } /** * 核查code接口 * @param cardId 进行导入code的卡券ID * @param codeList 已经微信卡券后台的自定义code,上限为100个 * @param accessToken */ static checkCode(cardId, codeList, accessToken) { return __awaiter(this, void 0, void 0, function* () { if (!accessToken) { accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken(); } let url = util.format(this.checkCodeUrl, accessToken.getAccessToken); return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify({ card_id: cardId, code: codeList })); }); } /** * 获取用户已领取卡券接口 * @param openid 需要查询的用户openid * @param cardId 卡券ID 不填写时默认查询当前appid下的卡券 * @param accessToken */ static getUserCardList(openid, cardId, accessToken) { return __awaiter(this, void 0, void 0, function* () { let map = new Map(); map.set('openid', openid); if (cardId) { map.set('card_id', cardId); } if (!accessToken) { accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken(); } let url = util.format(this.getUserCardListUrl, accessToken.getAccessToken); return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify(map)); }); } /** * 查看卡券详情 * @param cardId 卡券ID * @param accessToken */ static getCard(cardId, accessToken) { return __awaiter(this, void 0, void 0, function* () { if (!accessToken) { accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken(); } let url = util.format(this.getCardUrl, accessToken.getAccessToken); return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify({ card_id: cardId })); }); } /** * 批量查询卡券列表 * @param offset 查询卡列表的起始偏移量,从0开始,即offset: 5是指从从列表里的第六个开始读取 * @param count 需要查询的卡片的数量(数量最大50) * @param statusList 支持开发者拉出指定状态的卡券列表 * @param accessToken * * “CARD_STATUS_NOT_VERIFY”, 待审核 ; * “CARD_STATUS_VERIFY_FAIL”, 审核失败; * “CARD_STATUS_VERIFY_OK”, 通过审核; * “CARD_STATUS_DELETE”, 卡券被商户删除; * “CARD_STATUS_DISPATCH”,在公众平台投放过的卡券 */ static getBatch(offset, count, statusList, accessToken) { return __awaiter(this, void 0, void 0, function* () { let map = new Map(); map.set('offset', offset); map.set('count', count); if (statusList) { map.set('status_list', statusList); } if (!accessToken) { accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken(); } let url = util.format(this.getBatchUrl, accessToken.getAccessToken); return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify(map)); }); } /** * 更改卡券信息接口 * @param jsonStr * @param accessToken */ static update(jsonStr, accessToken) { return __awaiter(this, void 0, void 0, function* () { if (!accessToken) { accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken(); } let url = util.format(this.updateUrl, accessToken.getAccessToken); return kits_1.HttpKit.getHttpDelegate.httpPost(url, jsonStr); }); } /** * 修改库存接口 * @param cardId 卡券ID * @param increase 增加多少库存,支持不填或填0 * @param reduce 减少多少库存,可以不填或填0 * @param accessToken */ static modifyStock(cardId, increase = 0, reduce = 0, accessToken) { return __awaiter(this, void 0, void 0, function* () { if (!accessToken) { accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken(); } let url = util.format(this.modifyStockUrl, accessToken.getAccessToken); return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify({ card_id: cardId, increase_stock_value: increase, reduce_stock_value: reduce })); }); } /** * 更改Code接口 * @param code 需变更的Code码 * @param newCode 变更后的有效Code码 * @param cardId 卡券ID。自定义Code码卡券为必填 * @param accessToken */ static updateCode(code, newCode, cardId, accessToken) { return __awaiter(this, void 0, void 0, function* () { let map = new Map(); map.set('code', code); map.set('new_code', newCode); if (cardId) { map.set('card_id', cardId); } if (!accessToken) { accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken(); } let url = util.format(this.updateCodeUrl, accessToken.getAccessToken); return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify(map)); }); } /** * 删除卡券接口 * @param cardId 卡券ID * @param accessToken */ static delete(cardId, accessToken) { return __awaiter(this, void 0, void 0, function* () { if (!accessToken) { accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken(); } let url = util.format(this.deleteUrl, accessToken.getAccessToken); return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify({ card_id: cardId })); }); } /** * 设置卡券失效接口 * @param cardId 卡券ID * @param code 设置失效的Code码 * @param reason 失效理由 * @param accessToken */ static unavailable(cardId, code, reason, accessToken) { return __awaiter(this, void 0, void 0, function* () { if (!code && !cardId) { throw new Error('code 与 card_id 不能同时为空'); } let map = new Map(); if (code) map.set('code', code); if (cardId) map.set('card_id', cardId); if (reason) map.set('reason', reason); if (!accessToken) { accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken(); } let url = util.format(this.unavailableUrl, accessToken.getAccessToken); return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify(map)); }); } /** * 拉取卡券概况数据接口 * @param beginDate 查询数据的起始时间 * @param endDate 查询数据的截至时间 * @param condSource 卡券来源,0为公众平台创建的卡券数据 、1是API创建的卡券数据 * @param accessToken */ static getCardBizUinInfo(beginDate, endDate, condSource = 0, accessToken) { return __awaiter(this, void 0, void 0, function* () { if (!accessToken) { accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken(); } let url = util.format(this.getCardBizUinInfoUrl, accessToken.getAccessToken); return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify({ begin_date: beginDate, end_date: endDate, cond_source: condSource })); }); } /** * 获取免费券数据接口 * @param beginDate 查询数据的起始时间 * @param endDate 查询数据的截至时间 * @param condSource 卡券来源,0为公众平台创建的卡券数据、1是API创建的卡券数据 * @param cardId 卡券ID 填写后,指定拉出该卡券的相关数据 * @param accessToken */ static getFreeCardInfo(beginDate, endDate, condSource = 0, cardId, accessToken) { return __awaiter(this, void 0, void 0, function* () { let map = new Map(); map.set('begin_date', beginDate); map.set('end_date', endDate); map.set('cond_source', condSource); if (cardId) map.set('card_id', cardId); if (!accessToken) { accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken(); } let url = util.format(this.getFreeCardInfoUrl, accessToken.getAccessToken); return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify(map)); }); } /** * 创建子商户接口 * @param data * @param accessToken */ static subMerchantSubmit(data, accessToken) { return __awaiter(this, void 0, void 0, function* () { if (!accessToken) { accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken(); } let url = util.format(this.subMerchantSubmitUrl, accessToken.getAccessToken); return kits_1.HttpKit.getHttpDelegate.httpPost(url, data); }); } /** * 更新子商户接口 * @param data * @param accessToken */ static subMerchantUpdate(data, accessToken) { return __awaiter(this, void 0, void 0, function* () { if (!accessToken) { accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken(); } let url = util.format(this.subMerchantUpdateUrl, accessToken.getAccessToken); return kits_1.HttpKit.getHttpDelegate.httpPost(url, data); }); } /** * 拉取单个子商户信息接口 * @param merchantId * @param accessToken */ static getSubMerchant(merchantId, accessToken) { return __awaiter(this, void 0, void 0, function* () { if (!accessToken) { accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken(); } let url = util.format(this.getSubMerchantUrl, accessToken.getAccessToken); return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify({ merchant_id: merchantId })); }); } /** * 批量拉取子商户信息接口 * @param beginId 起始的子商户id * @param limit 拉取的子商户的个数,最大值为100 * @param status 子商户审核状态,填入后,只会拉出当前状态的子商户 * @param accessToken accessToken */ static batchGetSubMerchant(beginId, limit, status, accessToken) { return __awaiter(this, void 0, void 0, function* () { if (!accessToken) { accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken(); } let url = util.format(this.batchGetSubMerchantUrl, accessToken.getAccessToken); return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify({ begin_id: beginId, limit: limit > 100 ? 100 : limit, status: status })); }); } /** * 卡券开放类目查询接口 * @param accessToken */ static getApplyProtocol(accessToken) { return __awaiter(this, void 0, void 0, function* () { if (!accessToken) { accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken(); } let url = util.format(this.getApplyProtocolUrl, accessToken.getAccessToken); return kits_1.HttpKit.getHttpDelegate.httpGet(url); }); } } exports.CardApi = CardApi; CardApi.cardCreateUrl = 'https://api.weixin.qq.com/card/create?access_token=%s'; CardApi.setPayCellUrl = 'https://api.weixin.qq.com/card/paycell/set?access_token=%s'; CardApi.setSelfConsumeCellUrl = 'https://api.weixin.qq.com/card/selfconsumecell/set?access_token=%s'; CardApi.createQrcodeCardUrl = 'https://api.weixin.qq.com/card/qrcode/create?access_token=%s'; CardApi.createLandingPageCardUrl = 'https://api.weixin.qq.com/card/landingpage/create?access_token=%s'; CardApi.getHtmlMpNewsUrl = 'https://api.weixin.qq.com/card/mpnews/gethtml?access_token=%s'; CardApi.setTestWhiteListUrl = 'https://api.weixin.qq.com/card/testwhitelist/set?access_token=%s'; CardApi.getCodeUrl = 'https://api.weixin.qq.com/card/code/get?access_token=%s'; CardApi.consumeCodeUrl = 'https://api.weixin.qq.com/card/code/consume?access_token=%s'; CardApi.decryptCodeUrl = 'https://api.weixin.qq.com/card/code/decrypt?access_token=%s'; CardApi.setDepositUrl = 'http://api.weixin.qq.com/card/code/deposit?access_token=%s'; CardApi.getDepositCountUrl = 'http://api.weixin.qq.com/card/code/getdepositcount?access_token=%s'; CardApi.checkCodeUrl = 'http://api.weixin.qq.com/card/code/checkcode?access_token=%s'; CardApi.getUserCardListUrl = 'https://api.weixin.qq.com/card/user/getcardlist?access_token=%s'; CardApi.getCardUrl = 'https://api.weixin.qq.com/card/get?access_token=%s'; CardApi.getBatchUrl = 'https://api.weixin.qq.com/card/batchget?access_token=%s'; CardApi.updateUrl = 'https://api.weixin.qq.com/card/update?access_token=%s'; CardApi.modifyStockUrl = 'https://api.weixin.qq.com/card/modifystock?access_token=%s'; CardApi.updateCodeUrl = 'https://api.weixin.qq.com/card/code/update?access_token='; CardApi.deleteUrl = 'https://api.weixin.qq.com/card/delete?access_token=%s'; CardApi.unavailableUrl = 'https://api.weixin.qq.com/card/code/unavailable?access_token=%s'; CardApi.getCardBizUinInfoUrl = 'https://api.weixin.qq.com/datacube/getcardbizuininfo?access_token=%s'; CardApi.getFreeCardInfoUrl = 'https://api.weixin.qq.com/datacube/getcardcardinfo?access_token=%s'; CardApi.subMerchantSubmitUrl = 'https://api.weixin.qq.com/card/submerchant/submit?access_token=%s'; CardApi.subMerchantUpdateUrl = 'https://api.weixin.qq.com/card/submerchant/update?access_token=%s'; CardApi.getSubMerchantUrl = 'https://api.weixin.qq.com/card/submerchant/get?access_token=%s'; CardApi.batchGetSubMerchantUrl = 'https://api.weixin.qq.com/card/submerchant/batchget?access_token=%s'; CardApi.getApplyProtocolUrl = 'https://api.weixin.qq.com/card/getapplyprotocol?access_token=%s'; //# sourceMappingURL=CardApi.js.map