vue前端生成wx.config签名

这篇博客介绍了如何在前端实现微信JS-SDK的签名验证过程,包括引入所需依赖、请求后台获取token和ticket,以及计算签名的详细步骤。同时提到了/wxapi需要通过nginx代理,并指出url应为当前页面的URL。
摘要由CSDN通过智能技术生成

需要引入的依赖:
import wx from “weixin-js-sdk”;
import axios from “axios”;
import qs from “qs”;
import sha1 from “js-sha1”;
import { v4 } from “uuid”;

没有的话使用npm install 一下

关键代码

    //请求后台的方法
    ajax(url, params) {
      return new Promise((resolve, reject) => {
        let paramsStr = qs.stringify(params);
        axios
          .get(url, paramsStr)
          .then((res) => {
            resolve(res);
          })
          .catch((err) => {
            reject(err);
          });
      });
    },
   getSignature() {
      let that = this;
      let getTokenUrl =
        "/wxapi/cgi-bin/token?grant_type=client_credential&appid=你的appId&secret=你的app密钥";
      let params = {};
      that
        .ajax(getTokenUrl, params)
        .then((res) => {
          let token = res.data.access_token;
          let getTicketUrl =
            "/wxapi/cgi-bin/ticket/getticket?access_token=" +
            token +
            "&type=jsapi";
          that
            .ajax(getTicketUrl, params)
            .then((res) => {
              let ticket = res.data.ticket;
              let timestamp = Math.round(new Date().getTime() / 1000);
              this.timestamp = timestamp;
              let noncestr = v4();
              this.noncestr = noncestr;
              let url = 你的url地址;
              let str =
                "jsapi_ticket=" +
                ticket +
                "&noncestr=" +
                noncestr +
                "&timestamp=" +
                timestamp +
                "&url=" +
                url;
              let signature = sha1(str);
              this.signature = signature;
            })
            .catch((err) => {
              console.log(err);
            });
        })
        .catch((err) => {
          console.log(err);
        });
    },

签名验证地址:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign
搞定!
ps:/wxapi要配nginx代理;url是指当前页的url,可以用 window.location.href.split(“#”)[0];来获取

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值