|
@@ -106,20 +106,26 @@ class WeixinAuthService extends AxiosService {
|
|
|
let jsapi_ticket = await this.app.redis.get(this.jsapiKey);
|
|
|
const { appid, appSecret } = this.wxInfo;
|
|
|
if (!jsapi_ticket) {
|
|
|
- // 1,获取access_token
|
|
|
- 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');
|
|
|
- // 2,获取jsapi_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');
|
|
|
- // 实际过期时间是7200s(2h),系统默认设置6000s
|
|
|
- const expiresIn = _.get(jtReq, 'data.expires_in', 6000);
|
|
|
+ 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);
|
|
|
// 缓存jsapi_ticket,重复使用
|
|
|
await this.app.redis.set(this.jsapiKey, jsapi_ticket, 'EX', expiresIn);
|
|
|
+ // // 1,获取access_token
|
|
|
+ // 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');
|
|
|
+ // // 2,获取jsapi_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');
|
|
|
+ // 实际过期时间是7200s(2h),系统默认设置6000s
|
|
|
+ // const expiresIn = _.get(jtReq, 'data.expires_in', 6000);
|
|
|
+ // // 缓存jsapi_ticket,重复使用
|
|
|
+ // await this.app.redis.set(this.jsapiKey, jsapi_ticket, 'EX', expiresIn);
|
|
|
}
|
|
|
const noncestr = random(16).toLowerCase();
|
|
|
const timestamp = moment().unix();
|