UNPKG

n8n-nodes-wechat-offiaccount

Version:
91 lines 3.43 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.WechatOfficialAccountCredentialsApi = void 0; class WechatOfficialAccountCredentialsApi { constructor() { this.name = 'wechatOfficialAccountCredentialsApi'; this.displayName = 'Wechat Official Account Credentials API'; this.properties = [ { displayName: 'Base URL', name: 'baseUrl', type: 'string', default: 'api.weixin.qq.com', required: true, }, { displayName: 'Appid', description: '第三方用户唯一凭证,AppID和AppSecret可在“微信公众平台-设置与开发--基本配置”页中获得', name: 'appid', type: 'string', default: '', }, { displayName: 'AppSecret', name: 'appsecret', description: '第三方用户唯一凭证密钥', type: 'string', default: '', }, { displayName: 'AccessToken', name: 'accessToken', type: 'hidden', default: '', typeOptions: { expirable: true, }, }, ]; this.test = { request: { baseURL: '=https://{{$credentials.baseUrl}}', url: '/cgi-bin/get_api_domain_ip', }, rules: [ { type: 'responseSuccessBody', properties: { key: 'errcode', value: 0, message: '凭证验证失败', }, }, ], }; } async preAuthentication(credentials) { console.log('credentials', credentials); if (credentials.accessToken) { const res = (await this.helpers.httpRequest({ method: 'GET', url: `https://${credentials.baseUrl}/cgi-bin/get_api_domain_ip?access_token=${credentials.accessToken}`, })); console.log('exist accessToken', res); if (res.errcode === 42001) { } else if (res.errcode !== 0) { throw new Error('请求失败:' + res.errcode + ', ' + res.errmsg); } } const res = (await this.helpers.httpRequest({ method: 'GET', url: `https://${credentials.baseUrl}/cgi-bin/token?grant_type=client_credential&appid=${credentials.appid}&secret=${credentials.appsecret}`, })); console.log('preAuthentication', res); if (res.errcode && res.errcode !== 0) { throw new Error('授权失败:' + res.errcode + ', ' + res.errmsg); } return { accessToken: res.access_token }; } async authenticate(credentials, requestOptions) { requestOptions.baseURL = `https://${credentials.baseUrl}`; requestOptions.qs = { ...(requestOptions.qs || {}), access_token: credentials.accessToken, }; return requestOptions; } } exports.WechatOfficialAccountCredentialsApi = WechatOfficialAccountCredentialsApi; //# sourceMappingURL=WechatOfficialAccountCredentialsApi.credentials.js.map