@tnwx/wxmp
Version:
TNWX 微信系开发脚手架之极速开发微信公众号
117 lines • 4.38 kB
JavaScript
;
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