nodejs获取微信自定义分享的签名

export const wechatShare = async (ctx, next) =>
{
    const _nonceStr = md5String(Date.now().toString());//获取签名必传字段jsapi_ticket
    const _timeStamp = Date.now().toString().substr(0, 10);//获取签名必传字段timestamp
    const _url = ctx.request.url;
    const index=_url.lastIndexOf("url=");
    const url=_url.substring(index+4,_url.length);//前台返回的链接--获取签名必传字段url
    // access_token
    const access = await rp.get(`https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wx15f27a7bda610ca3&secret=5813e992713dbd6271ef623bfda10c31`);
    const _access=JSON.parse(access);
    const _access_token = _access.access_token
    //jsapi_ticket
    const jsapi = await rp.get(`https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=${_access_token}&type=jsapi`)
    const _ticket =JSON.parse(jsapi).ticket
    // 获取签名
    const autograph = shareWeChat({
        jsapi_ticket:_ticket,
        noncestr:_nonceStr,
        timestamp:_timeStamp,
        url:url
    })
    const data = {
      appId     : appid, // 必填,公众号的唯一标识
      timestamp : _timeStamp, // 必填,生成签名的时间戳
      nonceStr  : _nonceStr, // 必填,生成签名的随机串
      signature : autograph// 必填,签名
    };
    ctx.body = {
        code    : 0,
        message :data ,
    };
    next();
};

[签名获取官网地址]https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html#62

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值