1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- "use strict";
- var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
- result["default"] = mod;
- return result;
- };
- Object.defineProperty(exports, "__esModule", { value: true });
- // 由定时触发器触发时(TRIGGER_SRC=timer):优先使用 WX_TRIGGER_API_TOKEN_V0,不存在的话,为了兼容兼容旧的开发者工具,也是使用 WX_API_TOKEN
- // 非定时触发器触发时(TRIGGER_SRC!=timer): 使用 WX_API_TOKEN
- const cloudbase_1 = require("../cloudbase");
- const utils = __importStar(require("./utils"));
- const fs = __importStar(require("fs"));
- exports.CLOUDBASE_ACCESS_TOKEN_PATH = '/.tencentcloudbase/wx/cloudbase_access_token';
- function getWxCloudToken() {
- const { TRIGGER_SRC, WX_TRIGGER_API_TOKEN_V0, WX_API_TOKEN, WX_CLOUDBASE_ACCESSTOKEN = '' } = cloudbase_1.CloudBase.getCloudbaseContext();
- const wxCloudToken = {};
- if (TRIGGER_SRC === 'timer') {
- wxCloudToken.wxCloudApiToken = WX_TRIGGER_API_TOKEN_V0 || WX_API_TOKEN || '';
- }
- else {
- wxCloudToken.wxCloudApiToken = WX_API_TOKEN || '';
- }
- // 只在不存在 wxCloudApiToken 时,才尝试读取 wxCloudbaseAccesstoken
- if (!wxCloudToken.wxCloudApiToken) {
- wxCloudToken.wxCloudbaseAccesstoken = WX_CLOUDBASE_ACCESSTOKEN || loadWxCloudbaseAccesstoken();
- }
- return wxCloudToken;
- }
- exports.getWxCloudToken = getWxCloudToken;
- const maxCacheAge = 10 * 60 * 1000;
- const cloudbaseAccessTokenInfo = { token: '', timestamp: 0 };
- function loadWxCloudbaseAccesstoken() {
- if (cloudbaseAccessTokenInfo.token && Date.now() - cloudbaseAccessTokenInfo.timestamp < maxCacheAge) {
- return cloudbaseAccessTokenInfo.token;
- }
- try {
- if (utils.checkIsInEks() && fs.existsSync(exports.CLOUDBASE_ACCESS_TOKEN_PATH)) {
- cloudbaseAccessTokenInfo.token = fs.readFileSync(exports.CLOUDBASE_ACCESS_TOKEN_PATH).toString();
- cloudbaseAccessTokenInfo.timestamp = Date.now();
- return cloudbaseAccessTokenInfo.token;
- }
- }
- catch (e) {
- console.warn('[ERROR]: loadWxCloudbaseAccesstoken error: ', e.message);
- }
- return '';
- }
- exports.loadWxCloudbaseAccesstoken = loadWxCloudbaseAccesstoken;
|