From 7e24383a4933c6f5838edf213e1dbb6883a98659 Mon Sep 17 00:00:00 2001 From: zhl Date: Thu, 6 Apr 2023 10:47:23 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=9E=84=EF=BC=9A=E9=87=8D=E6=9E=84?= =?UTF-8?q?=20WeChatWork=20=E6=9C=8D=E5=8A=A1=E4=BB=A5=E6=94=B9=E8=BF=9B?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E5=A4=84=E7=90=86=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 wechatwork.service.ts 引入 fs 模块 - 从 axios 请求配置中删除 maxBodyLength 属性 - 在 refreshAccessToken 方法中添加对带有 errcode 属性的响应的错误处理 - 在 refreshAccessToken 方法中更新访问令牌和令牌过期时间 - 修正 fetchFile 方法注释中的拼写错误。 --- src/service/wechatwork.service.ts | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/service/wechatwork.service.ts b/src/service/wechatwork.service.ts index 3a59875..bac2928 100644 --- a/src/service/wechatwork.service.ts +++ b/src/service/wechatwork.service.ts @@ -1,7 +1,7 @@ import axios, { AxiosRequestConfig } from 'axios' import { singleton } from 'decorators/singleton' +import fs from 'fs' -const fs = require('fs') const WX_API_HOST = 'https://qyapi.weixin.qq.com' @singleton export class WechatWorkService { @@ -25,10 +25,8 @@ export class WechatWorkService { */ public async refreshAccessToken() { const url = `${WX_API_HOST}/cgi-bin/gettoken` - // use axios get url let config: AxiosRequestConfig = { method: 'get', - maxBodyLength: Infinity, url, params: { corpid: this.wxCorpId, @@ -38,6 +36,11 @@ export class WechatWorkService { let response = await axios.request(config).then(response => { return response.data }) + if (response.errcode) { + throw new Error(response.errmsg) + } + this.accessToken = response.access_token + this.tokenExpire = Date.now() + response.expires_in * 1000 } /** * 获取审批申请详情