UNPKG

@tnwx/accesstoken

Version:

TNWX 微信系开发脚手架之微信 accesstoken

114 lines 3.54 kB
"use strict"; /** * @author Javen * @copyright javendev@126.com * @description 封装 access_token */ Object.defineProperty(exports, "__esModule", { value: true }); class AccessToken { constructor(json, tokenType = AccessTokenType.NORMAL_TOKEN) { this.json = json; let accessToken = JSON.parse(json); if (tokenType === AccessTokenType.NORMAL_TOKEN) { this.access_token = accessToken.access_token; } else if (tokenType === AccessTokenType.PROVIDER_TOKEN) { this.access_token = accessToken.provider_access_token; } else if (tokenType === AccessTokenType.SUITE_TOKEN) { this.access_token = accessToken.suite_access_token; } else if (tokenType === AccessTokenType.COMPONENT_TOKEN) { this.access_token = accessToken.component_access_token; } else if (tokenType === AccessTokenType.AUTHORIZER_TOKEN) { this.access_token = accessToken.authorizer_access_token; this.refresh_token = accessToken.authorizer_refresh_token; } this.expires_in = accessToken.expires_in; this.errcode = accessToken.errcode; this.errmsg = accessToken.errmsg; if (this.expires_in) { this.expired_time = new Date().getTime() + (this.expires_in - 9) * 1000; } // 从缓存读取时还原 if (accessToken.expired_time) { this.expired_time = accessToken.expired_time; } } get getCacheJson() { let temp = JSON.parse(this.json); temp.expired_time = this.expired_time; return JSON.stringify(temp); } isAvailable() { if (this.expired_time == null) return false; if (this.errcode) return false; if (this.expired_time < new Date().getTime()) return false; return this.access_token != null; } get getAccessToken() { return this.access_token; } set setAccessToken(access_token) { this.access_token = access_token; } get getRefeshAccessToken() { return this.refresh_token; } set setRefeshAccessToken(refresh_token) { this.refresh_token = refresh_token; } get getExpiresIn() { return this.expires_in; } set setExpiresIn(expires_in) { this.expires_in = expires_in; } get getErrCode() { return this.errcode; } set setErrCode(errcode) { this.errcode = errcode; } get getErrMsg() { return this.errmsg; } set setErrMsg(errmsg) { this.errmsg = errmsg; } get getJson() { return this.json; } } exports.AccessToken = AccessToken; /** * AccessToken 类型 */ var AccessTokenType; (function (AccessTokenType) { /** * 企业微信第三方应用凭证 */ AccessTokenType["SUITE_TOKEN"] = "suite_token"; /** * 企业微信服务商凭证 */ AccessTokenType["PROVIDER_TOKEN"] = "provider_token"; /** * 普通接口凭证(适用于微信公众号、企业微信、小程序、小游戏) */ AccessTokenType["NORMAL_TOKEN"] = "normal_token"; /** * 微信开放平台凭证 */ AccessTokenType["COMPONENT_TOKEN"] = "component_access_token"; /** * 微信开放平台第三方应用凭证 */ AccessTokenType["AUTHORIZER_TOKEN"] = "authorizer_token"; })(AccessTokenType = exports.AccessTokenType || (exports.AccessTokenType = {})); //# sourceMappingURL=AccessToken.js.map