UNPKG

@tnwx/wxmp

Version:

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

80 lines 3.76 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 urlencode = require("urlencode"); const accesstoken_1 = require("@tnwx/accesstoken"); const kits_1 = require("@tnwx/kits"); class SnsAccessTokenApi { /** * 获取授权链接 * @param redirectUri 回调地址 * @param scope * @param state */ static getAuthorizeUrl(redirectUri, scope, state) { let url = util.format(this.authorizeUrl, accesstoken_1.ApiConfigKit.getApiConfig.getAppId, urlencode(redirectUri), scope); if (state) { url = url + '&state=' + state; } return url + '#wechat_redirect'; } /** * 通过code换取网页授权access_token * @param code */ static getSnsAccessToken(code) { return __awaiter(this, void 0, void 0, function* () { let url = util.format(this.accessTokenUrl, accesstoken_1.ApiConfigKit.getApiConfig.getAppId, accesstoken_1.ApiConfigKit.getApiConfig.getAppScrect, code); return kits_1.HttpKit.getHttpDelegate.httpGet(url); }); } /** * 刷新access_token * @param refreshToken */ static refreshAccessToken(refreshToken) { return __awaiter(this, void 0, void 0, function* () { let url = util.format(this.refreshTokenUrl, accesstoken_1.ApiConfigKit.getApiConfig.getAppId, refreshToken); return kits_1.HttpKit.getHttpDelegate.httpGet(url); }); } /** * 检验授权凭证(access_token)是否有效 * @param accessToken 通过code换取的access_token * @param openId */ static checkAccessToken(accessToken, openId) { return __awaiter(this, void 0, void 0, function* () { let url = util.format(this.checkTokenUrl, accessToken, openId); return kits_1.HttpKit.getHttpDelegate.httpGet(url); }); } /** * 拉取用户信息(需scope为 snsapi_userinfo) * @param accessToken * @param openId * @param lang */ static getUserInfo(accessToken, openId, lang) { return __awaiter(this, void 0, void 0, function* () { let url = util.format(this.userInfoUrl, accessToken, openId, lang); return kits_1.HttpKit.getHttpDelegate.httpGet(url); }); } } exports.SnsAccessTokenApi = SnsAccessTokenApi; SnsAccessTokenApi.authorizeUrl = 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=%s&redirect_uri=%s&response_type=code&scope=%s'; SnsAccessTokenApi.accessTokenUrl = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid=%s&secret=%s&code=%s&grant_type=authorization_code'; SnsAccessTokenApi.refreshTokenUrl = 'https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=%s&grant_type=refresh_token&refresh_token=%s'; SnsAccessTokenApi.userInfoUrl = 'https://api.weixin.qq.com/sns/userinfo?access_token=%s&openid=%s&lang=%s'; SnsAccessTokenApi.checkTokenUrl = 'https://api.weixin.qq.com/sns/auth?access_token=%s&openid=%s'; //# sourceMappingURL=SnsAccessTokenApi.js.map