From e1b028d486713eaf55aaf35fbf334aa568059c0d Mon Sep 17 00:00:00 2001
From: wwf <1971391498@qq.com>
Date: 星期二, 14 四月 2026 15:46:54 +0800
Subject: [PATCH] 项目复制

---
 src/utils/wxjssdk.js |   91 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 91 insertions(+), 0 deletions(-)

diff --git a/src/utils/wxjssdk.js b/src/utils/wxjssdk.js
new file mode 100644
index 0000000..7312be2
--- /dev/null
+++ b/src/utils/wxjssdk.js
@@ -0,0 +1,91 @@
+import wx from 'weixin-js-sdk'
+import axios from './axios'
+import $qxueyou from '@/config/qxueyou.js'
+import { isWeixin, isMobile } from '@/utils/UA.js'
+
+let newFeature = false
+let oldShare = ['onMenuShareTimeline', 'onMenuShareAppMessage', 'onMenuShareQQ', 'onMenuShareQZone']
+let newShare = ['updateTimelineShareData', 'updateAppMessageShareData']
+
+let weixinFlag = isWeixin
+let mobileFlag = isMobile
+let channel = weixinFlag && mobileFlag ? 'wx_pub' : 'wx_pub_qr'
+let isWxpub = 'wx_pub'.includes(channel)
+
+/**
+ * 寰俊鑾峰彇绛惧悕
+ * @param {*} toRoute 鐩爣璺敱
+ */
+function getWxSignature(toRoute) { 
+  if (!weixinFlag) { return false }
+
+  axios.get('/system/wx/js/signature', {
+    params: { url: location.href } 
+  }).then(res => {
+    if (!res || !res.data) {
+      return false
+    }
+    let result = res.data.data || {}
+    wx.config({ // 寰俊閰嶇疆
+      debug: false,
+      appId: result.appId,
+      timestamp: result.timestamp,
+      nonceStr: result.nonceStr,
+      signature: result.signature,
+      jsApiList: [
+        ...(newFeature ? newShare : oldShare),
+        // 'chooseWXPay',
+        'chooseImage',
+        'getLocalImgData'
+      ],
+      openTagList: ['wx-open-launch-app']
+    })
+    // wx.ready(function () {
+    //   initShareOption(toRoute)
+    // })
+    wx.error(function (res) {
+      console.log(res)
+    })
+  })
+}
+
+function chooseImage(){
+  return new Promise((resolve) => {
+    wx.chooseImage({
+      count: 1,
+      sizeType: ['compressed'],
+      sourceType: ['camera'],
+      success: (res) => {
+        if (res && res.localIds) {
+          getLocalImgData(res.localIds[0]).then((localData) => {
+            resolve(localData)
+          })
+        } else {
+          store.commit('snack/error', `寰俊涓婁紶鍥剧墖澶辫触锛�${res}`)
+        }
+      },
+      fail:function(e) {
+        store.commit('snack/error', `寰俊涓婁紶鍥剧墖寮傚父锛�${JSON.stringify(e)}`)
+      }
+    })
+  })
+}
+
+function getLocalImgData(localId){
+  return new Promise((resolve) => {
+    wx.getLocalImgData({
+      localId: localId,
+      success: function (res) {
+        resolve(res.localData)
+      },
+      fail:function(e) {
+        store.commit('snack/error', `寰俊鑾峰彇鍥剧墖寮傚父锛�${JSON.stringify(e)}`)
+      }
+    })
+  })
+}
+
+export {
+  getWxSignature,
+  chooseImage
+}

--
Gitblit v1.8.0