xiebaomin 1 year ago
parent
commit
3b03dedf00

+ 10 - 6
src/main/resources/static/js/service-settlement/mixins/cmWXjssdk.js

@@ -8,21 +8,24 @@ var wxJssdkMixin = function () {
         },
         methods: {
             setWxConfig(callback) {
-                const url = 'https://www.caimei365.com/serviceSettlement.html?id=0'
+                const url = 'https://www.caimei365.com/serviceSettlement.html'
                 SettlementService.getWxConfig({
                     appId: this.appId,
                     url
                 }, (res) => {
                     const data = res.data
                     const wx = window.wx
-                    console.log(data)
+                    const nonceStr = Math.random()
+                    const timestamp = Math.floor(Date.now() / 1000)
+                    const signature = sha1(`jsapi_ticket=${data.ticket}&noncestr=${nonceStr}&timestamp=${timestamp}&url=${url}`).toString()
+                    console.log(nonceStr, timestamp, signature, data.ticket)
                     if (this.isWeChat()) {
                         wx.config({
                             debug: true, // dev === 'development' 开启调试模式,调用的所有 api 的返回值会在客户端 alert 出来,若要查看传入的参数,可以在 pc 端打开,参数信息会通过 log 打出,仅在 pc 端时才会打印。
-                            appId: this.appId, // 必填,公众号的唯一标识
-                            timestamp: data.timestamp, // 必填,生成签名的时间戳
-                            nonceStr: data.noncestr, // 必填,生成签名的随机串
-                            signature: data.signature, // 必填,签名
+                            appId: 'wx91c4152b60ca91a3', // 必填,公众号的唯一标识
+                            timestamp: timestamp, // 必填,生成签名的时间戳
+                            nonceStr: nonceStr, // 必填,生成签名的随机串
+                            signature: signature, // 必填,签名
                             jsApiList: ['updateAppMessageShareData', 'onMenuShareAppMessage', 'updateTimelineShareData', 'onMenuShareTimeline'] // 必填,需要使用的 JS 接口列表
                         })
                         callback && callback(wx)
@@ -57,6 +60,7 @@ var wxJssdkMixin = function () {
                         success: () => {
                         },
                         fail: () => {
+                            window.location.reload();
                         }
                     })
                     // wx.updateAppMessageShareData({

+ 1 - 0
src/main/resources/templates/service-settlement/components/footer-link.html

@@ -7,6 +7,7 @@
 <script charset="utf-8" type="text/javascript" src="/lib/lazyload.js"></script>
 <script charset="utf-8" type="text/javascript" src="/lib/element-ui/element-ui.min.js"></script>
 <script charset="utf-8" type="text/javascript" src="/lib/vant-ui/vant.min.js"></script>
+<script src="https://cdn.bootcss.com/js-sha1/0.6.0/sha1.js"></script>
 <script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
 <script charset="utf-8" type="text/javascript" th:src="@{/js/common/ajax.service.js(v=${version})}"></script>
 <script charset="utf-8" type="text/javascript" th:src="@{/js/service-settlement/mixins/cmWXjssdk.js(v=${version})}"></script>