n8n-nodes-wechat-work
Version:
85 lines • 3.18 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.WechatWorkCredentialsApi = void 0;
class WechatWorkCredentialsApi {
constructor() {
this.name = 'wechatWorkCredentialsApi';
this.displayName = 'Wechat Work Credentials API';
this.icon = 'file:icon.png';
this.properties = [
{
displayName: 'Base URL',
name: 'baseUrl',
type: 'string',
default: 'qyapi.weixin.qq.com',
required: true,
},
{
displayName: 'Corpid',
description: '企业ID,参考:https://developer.work.weixin.qq.com/document/path/90665#corpid',
name: 'corpid',
type: 'string',
default: '',
},
{
displayName: 'Corpsecret',
name: 'corpsecret',
description: '应用的凭证密钥,参考:https://developer.work.weixin.qq.com/document/path/91039#14953/secret',
type: 'string',
typeOptions: {
password: true,
},
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',
},
};
}
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/gettoken?corpid=${credentials.corpid}&corpsecret=${credentials.corpsecret}`,
}));
console.log('preAuthentication', res);
if (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.WechatWorkCredentialsApi = WechatWorkCredentialsApi;
//# sourceMappingURL=WechatWorkCredentialsApi.credentials.js.map