|
@@ -106,26 +106,20 @@ class WeixinAuthService extends AxiosService {
|
|
|
let jsapi_ticket = await this.app.redis.get(this.jsapiKey);
|
|
|
const { appid, appSecret } = this.wxInfo;
|
|
|
if (!jsapi_ticket) {
|
|
|
- const res = await this.httpGet('/api.weixin.qq.com/cgi-bin/ticket/getticket&type=jsapi', { appid });
|
|
|
- jsapi_ticket = _.get(res, 'data.ticket');
|
|
|
- console.log(jsapi_ticket);
|
|
|
- const expiresIn = _.get(res, 'data.expires_in', 6000);
|
|
|
+
|
|
|
+ const atUrl = `https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=${appid}&secret=${appSecret}`;
|
|
|
+ const req = await this.ctx.curl(atUrl, { method: 'GET', dataType: 'json' });
|
|
|
+ if (req.status !== 200) throw new BusinessError(ErrorCode.SERVICE_FAULT, 'access_token获取失败');
|
|
|
+ const access_token = _.get(req, 'data.access_token');
|
|
|
+
|
|
|
+ const jtUrl = `https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=${access_token}&type=jsapi`;
|
|
|
+ const jtReq = await this.ctx.curl(jtUrl, { method: 'GET', dataType: 'json' });
|
|
|
+ if (jtReq.status !== 200) throw new BusinessError(ErrorCode.SERVICE_FAULT, 'jsapi_ticket获取失败');
|
|
|
+ jsapi_ticket = _.get(jtReq, 'data.ticket');
|
|
|
+
|
|
|
+ const expiresIn = _.get(jtReq, 'data.expires_in', 6000);
|
|
|
|
|
|
await this.app.redis.set(this.jsapiKey, jsapi_ticket, 'EX', expiresIn);
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
}
|
|
|
const noncestr = random(16).toLowerCase();
|
|
|
const timestamp = moment().unix();
|