88 lines
2.3 KiB
JavaScript
88 lines
2.3 KiB
JavaScript
|
|
const request = require("../request");
|
||
|
|
const api = require("../../api");
|
||
|
|
exports.getToken = async ({ corpid = "", corpId = "", permanentCode = "" }) => {
|
||
|
|
try {
|
||
|
|
console.log("corpId", corpid , corpId);
|
||
|
|
if (!corpId) corpId = corpid;
|
||
|
|
const { success, data } = await api.getCorpApi({
|
||
|
|
corpId,
|
||
|
|
cacheType: "appToken",
|
||
|
|
type: "getCorpCache",
|
||
|
|
});
|
||
|
|
if (success) return data.value;
|
||
|
|
let suiteToken = await exports.getSuiteToken();
|
||
|
|
if (!permanentCode) {
|
||
|
|
const result = await api.getCorpApi({ type: "getCorpInfo", corpId });
|
||
|
|
|
||
|
|
const corp = result.data[0];
|
||
|
|
permanentCode = corp.permanent_code;
|
||
|
|
}
|
||
|
|
|
||
|
|
const url = `https://qyapi.weixin.qq.com/cgi-bin/service/get_corp_token?suite_access_token=${suiteToken}`;
|
||
|
|
const params = {
|
||
|
|
auth_corpid: corpId,
|
||
|
|
permanent_code: permanentCode,
|
||
|
|
};
|
||
|
|
let { expires_in, access_token, errmsg, errcode } = await request.main(
|
||
|
|
url,
|
||
|
|
params,
|
||
|
|
"POST"
|
||
|
|
);
|
||
|
|
if (access_token) {
|
||
|
|
await api.getCorpApi({
|
||
|
|
corpId,
|
||
|
|
value: access_token,
|
||
|
|
expiresIn: expires_in,
|
||
|
|
cacheType: "appToken",
|
||
|
|
type: "createCorpCache",
|
||
|
|
id: data ? data._id : "",
|
||
|
|
});
|
||
|
|
return access_token;
|
||
|
|
} else {
|
||
|
|
return {
|
||
|
|
success: false,
|
||
|
|
message: errmsg,
|
||
|
|
errcode: errcode,
|
||
|
|
};
|
||
|
|
}
|
||
|
|
} catch (error) {
|
||
|
|
return {
|
||
|
|
success: false,
|
||
|
|
message: error.message || "获取 token 时发生错误",
|
||
|
|
};
|
||
|
|
}
|
||
|
|
};
|
||
|
|
exports.getProviderAccessToken = async () => {
|
||
|
|
try {
|
||
|
|
const url = `https://qyapi.weixin.qq.com/cgi-bin/service/get_provider_token`;
|
||
|
|
const params = {
|
||
|
|
corpid: "wwe3fb2faa52cf9dfb",
|
||
|
|
provider_secret:
|
||
|
|
"v5sv-M56Amgik91OewBIzcq6ptbnlkC-QUisBq3UNErDF6Yyxd4BgBRea0_636se",
|
||
|
|
};
|
||
|
|
const { provider_access_token } = await request.main(url, params, "POST");
|
||
|
|
if (provider_access_token) {
|
||
|
|
return provider_access_token;
|
||
|
|
} else {
|
||
|
|
throw new Error("获取 provider_access_token 失败");
|
||
|
|
}
|
||
|
|
} catch (error) {
|
||
|
|
return {
|
||
|
|
success: false,
|
||
|
|
message: error.message || "获取 provider_access_token 时发生错误",
|
||
|
|
};
|
||
|
|
}
|
||
|
|
};
|
||
|
|
|
||
|
|
exports.getSuiteToken = async () => {
|
||
|
|
try {
|
||
|
|
let res = await api.getCorpApi({
|
||
|
|
type: "getSuiteToken",
|
||
|
|
});
|
||
|
|
console.log(res);
|
||
|
|
return res.suiteToken;
|
||
|
|
} catch {
|
||
|
|
return "";
|
||
|
|
}
|
||
|
|
};
|