@tnwx/openmp
Version:
TNWX 微信系开发脚手架之缓存
254 lines • 11.9 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 kits_1 = require("@tnwx/kits");
const accesstoken_1 = require("@tnwx/accesstoken");
/**
* @author Javen
* @copyright javendev@126.com
* @description 微信开发平台 API
*/
class OpenMpApi {
/**
* 授权注册页面扫码授权
* @param appId 第三方平台方 appid
* @param preAuthCode 预授权码
* @param redirectUrl 回调 URI
* @param authType 要授权的帐号类型 1 仅展示公众号 2 展示小程序 3 表示公众号和小程序都展示
* @param bizAppId 指定授权唯一的小程序或公众号
*/
static getComponentLoginPage(appId, preAuthCode, redirectUrl, authType, bizAppId) {
let url = util.format(this.componentLoginPageUrl, appId, preAuthCode, redirectUrl);
if (authType) {
url.concat('&auth_type=').concat(authType.toString());
}
if (bizAppId) {
url.concat('&biz_appid=').concat(bizAppId);
}
return url;
}
/**
* 点击移动端链接快速授权
* @param appId 第三方平台方 appid
* @param preAuthCode 预授权码
* @param redirectUrl 回调 URI
* @param authType 要授权的帐号类型 1 仅展示公众号 2 展示小程序 3 表示公众号和小程序都展示
* @param bizAppId 指定授权唯一的小程序或公众号
*/
static bindComponent(appId, preAuthCode, redirectUrl, authType, bizAppId) {
let url = util.format(this.bindComponentUrl, appId, preAuthCode, redirectUrl);
if (!authType)
authType = 3;
url.concat('&auth_type=').concat(authType.toString());
if (bizAppId) {
url.concat('&biz_appid=').concat(bizAppId);
}
url.concat('#wechat_redirect');
return url;
}
/**
* 获取预授权码
* @param appId 第三方平台 appid
*/
static getPreAuthCode(appId) {
return __awaiter(this, void 0, void 0, function* () {
let accessToken = yield accesstoken_1.OpenComponentAccessTokenApi.getAccessToken();
let url = util.format(this.getPreAuthCodeUrl, accessToken.getAccessToken);
return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify({
component_appid: appId
}));
});
}
/**
* 使用授权码获取授权信息
* @param appId 第三方平台 appid
* @param authorizationCode 授权码
*/
static queryAuth(appId, authorizationCode) {
return __awaiter(this, void 0, void 0, function* () {
let accessToken = yield accesstoken_1.OpenComponentAccessTokenApi.getAccessToken();
let url = util.format(this.queryAuthUrl, accessToken.getAccessToken);
return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify({
component_appid: appId,
authorization_code: authorizationCode
}));
});
}
/**
* 获取授权方的帐号基本信息
* @param appId 第三方平台 appid
* @param authorizerAppId 授权方 appid
*/
static getAuthorizerInfo(appId, authorizerAppId) {
return __awaiter(this, void 0, void 0, function* () {
let accessToken = yield accesstoken_1.OpenComponentAccessTokenApi.getAccessToken();
let url = util.format(this.getAuthorizerInfoUrl, accessToken.getAccessToken);
return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify({
component_appid: appId,
authorizer_appid: authorizerAppId
}));
});
}
/**
* 获取授权方选项信息
* @param appId 第三方平台 appid
* @param authorizerAppId 授权方 appid
* @param optionName 选项名称
*/
static getAuthorizerOption(appId, authorizerAppId, optionName) {
return __awaiter(this, void 0, void 0, function* () {
let accessToken = yield accesstoken_1.OpenComponentAccessTokenApi.getAccessToken();
let url = util.format(this.getAuthorizerOptionUrl, accessToken.getAccessToken);
return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify({
component_appid: appId,
authorizer_appid: authorizerAppId,
option_name: optionName
}));
});
}
/**
* 设置授权方选项信息
* @param appId 第三方平台 appid
* @param authorizerAppId 授权方 appid
* @param optionName 选项名称
* @param optionValue 选项值
*/
static setAuthorizerOption(appId, authorizerAppId, optionName, optionValue) {
return __awaiter(this, void 0, void 0, function* () {
let accessToken = yield accesstoken_1.OpenComponentAccessTokenApi.getAccessToken();
let url = util.format(this.setAuthorizerOptionUrl, accessToken.getAccessToken);
return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify({
component_appid: appId,
authorizer_appid: authorizerAppId,
option_name: optionName,
option_value: optionValue
}));
});
}
/**
* 拉取所有已授权的帐号信息
* @param appId 第三方平台 appid
* @param offset 偏移位置/起始位置
* @param count 拉取数量,最大为 500
*/
static getAuthorizerList(appId, offset, count) {
return __awaiter(this, void 0, void 0, function* () {
let accessToken = yield accesstoken_1.OpenComponentAccessTokenApi.getAccessToken();
let url = util.format(this.getAuthorizerListUrl, accessToken.getAccessToken);
return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify({
component_appid: appId,
offset: offset,
count: count
}));
});
}
/**
* 创建开放平台帐号并绑定公众号/小程序
* @param appId 授权公众号/小程序的 appid
*/
static create(appId) {
return __awaiter(this, void 0, void 0, function* () {
let accessToken = yield accesstoken_1.OpenComponentAccessTokenApi.getAccessToken();
let url = util.format(this.createUrl, accessToken.getAccessToken);
return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify({
appid: appId
}));
});
}
/**
* 将公众号/小程序绑定到开放平台帐号下
* @param appId 授权公众号/小程序的 appid
* @param openAppId 开放平台帐号 appid
*/
static bind(appId, openAppId) {
return __awaiter(this, void 0, void 0, function* () {
let accessToken = yield accesstoken_1.OpenComponentAccessTokenApi.getAccessToken();
let url = util.format(this.bindUrl, accessToken.getAccessToken);
return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify({
appid: appId,
open_appid: openAppId
}));
});
}
/**
* 将公众号/小程序从开放平台帐号下解绑
* @param appId 授权公众号/小程序的 appid
* @param openAppId 开放平台帐号 appid
*/
static unBind(appId, openAppId) {
return __awaiter(this, void 0, void 0, function* () {
let accessToken = yield accesstoken_1.OpenComponentAccessTokenApi.getAccessToken();
let url = util.format(this.unBindUrl, accessToken.getAccessToken);
return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify({
appid: appId,
open_appid: openAppId
}));
});
}
/**
* 将公众号/小程序从开放平台帐号下解绑
* @param appId 授权公众号/小程序的 appid
*/
static get(appId) {
return __awaiter(this, void 0, void 0, function* () {
let accessToken = yield accesstoken_1.OpenComponentAccessTokenApi.getAccessToken();
let url = util.format(this.getUrl, accessToken.getAccessToken);
return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify({
appid: appId
}));
});
}
/**
* 对公众号的所有 API 调用次数进行清零
* @param appId 公众号的 appId
*/
static clearQuota(appId, accessToken) {
return __awaiter(this, void 0, void 0, function* () {
if (!accessToken) {
accessToken = yield accesstoken_1.OpenComponentAccessTokenApi.getAccessToken();
}
let url = util.format(this.clearQuotaUrl, accessToken.getAccessToken);
return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify({
appid: appId
}));
});
}
/**
* 第三方平台 API 调用次数清零
* @param appId 第三方平台 appId
*/
static clearComponentQuota(appId) {
return __awaiter(this, void 0, void 0, function* () {
let accessToken = yield accesstoken_1.OpenComponentAccessTokenApi.getAccessToken();
let url = util.format(this.clearComponentQuotaUrl, accessToken.getAccessToken);
return kits_1.HttpKit.getHttpDelegate.httpPost(url, JSON.stringify({
component_appid: appId
}));
});
}
}
exports.OpenMpApi = OpenMpApi;
OpenMpApi.componentLoginPageUrl = 'https://mp.weixin.qq.com/cgi-bin/componentloginpage?component_appid=%s&pre_auth_code=%s&redirect_uri=%s&auth_type=%s';
OpenMpApi.bindComponentUrl = 'https://mp.weixin.qq.com/safe/bindcomponent?action=bindcomponent&no_scan=1&component_appid=%s&pre_auth_code=%s&redirect_uri=%s';
OpenMpApi.getPreAuthCodeUrl = 'https://api.weixin.qq.com/cgi-bin/component/api_create_preauthcode?component_access_token=%s';
OpenMpApi.queryAuthUrl = 'https://api.weixin.qq.com/cgi-bin/component/api_query_auth?component_access_token=%s';
OpenMpApi.getAuthorizerInfoUrl = 'https://api.weixin.qq.com/cgi-bin/component/api_get_authorizer_info?component_access_token=%s';
OpenMpApi.getAuthorizerOptionUrl = 'https://api.weixin.qq.com/cgi-bin/component/api_get_authorizer_info?component_access_token=%s';
OpenMpApi.setAuthorizerOptionUrl = 'https://api.weixin.qq.com/cgi-bin/component/api_set_authorizer_option?component_access_token=%s';
OpenMpApi.getAuthorizerListUrl = 'https://api.weixin.qq.com/cgi-bin/component/api_get_authorizer_list?component_access_token=%s';
OpenMpApi.createUrl = 'https://api.weixin.qq.com/cgi-bin/open/create?access_token=%s';
OpenMpApi.bindUrl = 'https://api.weixin.qq.com/cgi-bin/open/bind?access_token=%s';
OpenMpApi.unBindUrl = 'https://api.weixin.qq.com/cgi-bin/open/unbind?access_token=%s';
OpenMpApi.getUrl = 'https://api.weixin.qq.com/cgi-bin/open/get?access_token=%s';
OpenMpApi.clearQuotaUrl = 'https://api.weixin.qq.com/cgi-bin/clear_quota?access_token=%s';
OpenMpApi.clearComponentQuotaUrl = 'https://api.weixin.qq.com/cgi-bin/component/clear_quota?component_access_token=%s';
//# sourceMappingURL=OpenMpApi.js.map
;