UNPKG

@tnwx/wxmp

Version:

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

117 lines 4.38 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 QrcodeApi { static create(json, accessToken) { return __awaiter(this, void 0, void 0, function* () { if (!accessToken) { accessToken = yield accesstoken_1.AccessTokenApi.getAccessToken(); } let url = util.format(this.apiUrl, accessToken.getAccessToken); return kits_1.HttpKit.getHttpDelegate.httpPost(url, json); }); } /** * 临时二维码 * @param response * @param expireSeconds 该二维码有效时间,以秒为单位。最大不超过2592000(即30天),此字段如果不填,则默认有效期为30秒。 * @param sceneId 场景值ID,临时二维码时为32位非0整型 * @param accessToken */ static createTemporary(expireSeconds, sceneId, accessToken) { return __awaiter(this, void 0, void 0, function* () { return this.create(JSON.stringify({ expire_seconds: expireSeconds, action_name: 'QR_SCENE', action_info: { scene: { scene_id: sceneId } } }), accessToken); }); } /** * 临时二维码 * @param response * @param expireSeconds 该二维码有效时间,以秒为单位。最大不超过2592000(即30天),此字段如果不填,则默认有效期为30秒。 * @param sceneStr 长度限制为1到64 * @param accessToken */ static createTemporaryByStr(expireSeconds, sceneStr, accessToken) { return __awaiter(this, void 0, void 0, function* () { return this.create(JSON.stringify({ expire_seconds: expireSeconds, action_name: 'QR_STR_SCENE', action_info: { scene: { scene_str: sceneStr } } }), accessToken); }); } /** * 永久二维码 * @param response * @param sceneId * @param accessToken */ static createPermanent(sceneId, accessToken) { return __awaiter(this, void 0, void 0, function* () { return this.create(JSON.stringify({ action_name: 'QR_LIMIT_SCENE', action_info: { scene: { scene_id: sceneId } } }), accessToken); }); } /** * 永久二维码 * @param response * @param sceneStr * @param accessToken */ static createPermanentByStr(sceneStr, accessToken) { return __awaiter(this, void 0, void 0, function* () { return this.create(JSON.stringify({ action_name: 'QR_LIMIT_STR_SCENE', action_info: { scene: { scene_str: sceneStr } } }), accessToken); }); } /** * 通过ticket换取二维码 * @param ticket */ static getShowQrcodeUrl(ticket) { return util.format(this.showQrcodeUrl, ticket); } } exports.QrcodeApi = QrcodeApi; QrcodeApi.apiUrl = 'https://api.weixin.qq.com/cgi-bin/qrcode/create?access_token=%s'; QrcodeApi.showQrcodeUrl = 'https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=%s'; //# sourceMappingURL=QrcodeApi.js.map