From d3fd4b0ab851bab89c30c199e27245f7f45f1c0e Mon Sep 17 00:00:00 2001
From: wlzboy <66905212@qq.com>
Date: 星期六, 08 十一月 2025 08:01:12 +0800
Subject: [PATCH] feat:实现了微信上传图片

---
 app/App.vue               |   32 ++++++++++++++++
 app/pages/task/detail.vue |    7 +++
 app/manifest.json         |    8 +++-
 app/utils/storage.js      |   52 ++++++++++++++++++++++++++
 4 files changed, 96 insertions(+), 3 deletions(-)

diff --git a/app/App.vue b/app/App.vue
index 0e788bc..86cbf17 100644
--- a/app/App.vue
+++ b/app/App.vue
@@ -3,6 +3,7 @@
   import store from '@/store'
   import { getToken } from '@/utils/auth'
   import { getUnreadCount } from '@/api/message'
+  import storage from '@/utils/storage'
 
   export default {
     data() {
@@ -14,6 +15,9 @@
     onLaunch: function() {
       this.lastToken = getToken()
       this.initApp()
+      
+      // 妫�鏌ュ苟娓呯悊瀛樺偍绌洪棿
+      this.checkStorage()
       
       // 鐩戝惉鐢ㄦ埛鐧诲綍浜嬩欢
       uni.$on('user-login', () => {
@@ -148,6 +152,34 @@
           clearInterval(this.messagePollingTimer)
           this.messagePollingTimer = null
         }
+      },
+      
+      // 妫�鏌ュ瓨鍌ㄧ┖闂�
+      checkStorage() {
+        try {
+          // 鑾峰彇瀛樺偍淇℃伅
+          const info = storage.getStorageInfo()
+          
+          if (info) {
+            const usagePercent = (info.currentSize / info.limitSize) * 100
+            console.log(`馃捑 瀛樺偍浣跨敤鎯呭喌: ${usagePercent.toFixed(2)}% (${info.currentSize}KB / ${info.limitSize}KB)`)
+            
+            // 濡傛灉浣跨敤瓒呰繃 80%锛岃嚜鍔ㄦ竻鐞�
+            if (usagePercent > 80) {
+              console.warn('鈿狅笍 瀛樺偍绌洪棿浣跨敤瓒呰繃 80%锛屽紑濮嬭嚜鍔ㄦ竻鐞�...')
+              storage.checkAndClean()
+              
+              // 鍐嶆妫�鏌�
+              const newInfo = storage.getStorageInfo()
+              if (newInfo) {
+                const newUsagePercent = (newInfo.currentSize / newInfo.limitSize) * 100
+                console.log(`鉁� 娓呯悊鍚庝娇鐢ㄦ儏鍐�: ${newUsagePercent.toFixed(2)}%`)
+              }
+            }
+          }
+        } catch (e) {
+          console.error('妫�鏌ュ瓨鍌ㄥけ璐�:', e)
+        }
       }
     }
   }
diff --git a/app/manifest.json b/app/manifest.json
index 59aeb3c..a3922db 100644
--- a/app/manifest.json
+++ b/app/manifest.json
@@ -46,7 +46,9 @@
             "urlCheck" : false,
             "es6" : false,
             "minified" : true,
-            "postcss" : true
+            "postcss" : true,
+            "ignoreDevUnusedFiles" : false,
+            "ignoreUploadUnusedFiles" : false
         },
         "optimization" : {
             "subPackages" : true
@@ -63,7 +65,9 @@
             "scope.userLocation" : {
                 "desc" : "闇�瑕佽嚜鍔ㄨ幏寰楀綋鍓嶇敤鎴蜂綅缃紝浠ュ垽鏂徃鏈烘槸鍚﹀湪甯搁┗鍦拌繕鏄湪鐩殑鍦�"
             }
-        }
+        },
+        "cloudfunctionRoot" : "",
+        "lazyCodeLoading" : "requiredComponents"
     },
     "vueVersion" : "2",
     "h5" : {
diff --git a/app/pages/task/detail.vue b/app/pages/task/detail.vue
index 58d3f7b..3932e66 100644
--- a/app/pages/task/detail.vue
+++ b/app/pages/task/detail.vue
@@ -743,13 +743,18 @@
           
           // 绗竴姝ワ細浠庡悗绔幏鍙朅ccessToken
           getWechatAccessToken().then(tokenResponse => {
-            const accessToken = tokenResponse.data || tokenResponse
+            // 鎺ュ彛杩斿洖鏍煎紡锛歿"msg":"token鍊�","code":200}
+            console.log('鑾峰彇AccessToken鎴愬姛:', tokenResponse)
+            const accessToken = tokenResponse.msg || tokenResponse.data || tokenResponse
             if (!accessToken) {
               uni.hideLoading()
               that.$modal.showToast('鑾峰彇AccessToken澶辫触')
+              console.error('鑾峰彇AccessToken澶辫触锛屽搷搴旀暟鎹�:', tokenResponse)
               return
             }
             
+            console.log('鑾峰彇鍒癆ccessToken:', accessToken)
+            
             // 绗簩姝ワ細涓婁紶鍒板井淇℃湇鍔″櫒
             const uploadUrl = `https://api.weixin.qq.com/cgi-bin/media/upload?access_token=${accessToken}&type=image`
             
diff --git a/app/utils/storage.js b/app/utils/storage.js
index 4c5fdec..8081920 100644
--- a/app/utils/storage.js
+++ b/app/utils/storage.js
@@ -26,6 +26,58 @@
   },
   clean: function() {
     uni.removeStorageSync(storageKey)
+  },
+  // 鏂板锛氳幏鍙栧瓨鍌ㄤ俊鎭�
+  getStorageInfo: function() {
+    try {
+      const info = uni.getStorageInfoSync()
+      console.log('馃捑 瀛樺偍淇℃伅:', {
+        keys: info.keys,
+        currentSize: info.currentSize,
+        limitSize: info.limitSize,
+        usage: ((info.currentSize / info.limitSize) * 100).toFixed(2) + '%'
+      })
+      return info
+    } catch (e) {
+      console.error('鑾峰彇瀛樺偍淇℃伅澶辫触:', e)
+      return null
+    }
+  },
+  // 鏂板锛氭竻鐞嗘墍鏈夊瓨鍌紙鎱庣敤锛�
+  clearAll: function() {
+    try {
+      uni.clearStorageSync()
+      console.log('鉁� 娓呯悊鎵�鏈夊瓨鍌ㄦ垚鍔�')
+    } catch (e) {
+      console.error('娓呯悊瀛樺偍澶辫触:', e)
+    }
+  },
+  // 鏂板锛氭鏌ュ苟娓呯悊杩囨湡鏁版嵁
+  checkAndClean: function() {
+    try {
+      const info = uni.getStorageInfoSync()
+      const usagePercent = (info.currentSize / info.limitSize) * 100
+      
+      // 濡傛灉浣跨敤瓒呰繃 80%锛屾彁绀虹敤鎴�
+      if (usagePercent > 80) {
+        console.warn('鈿狅笍 瀛樺偍绌洪棿浣跨敤瓒呰繃 80%:', usagePercent.toFixed(2) + '%')
+        
+        // 鑷姩娓呯悊闈炲繀瑕佺殑缂撳瓨
+        const keysToKeep = [storageKey, 'token', 'uni-id-pages-userInfo']
+        info.keys.forEach(key => {
+          if (!keysToKeep.includes(key)) {
+            try {
+              uni.removeStorageSync(key)
+              console.log('馃棏锔� 娓呯悊缂撳瓨:', key)
+            } catch (e) {
+              console.error('娓呯悊澶辫触:', key, e)
+            }
+          }
+        })
+      }
+    } catch (e) {
+      console.error('妫�鏌ュ瓨鍌ㄥけ璐�:', e)
+    }
   }
 }
 

--
Gitblit v1.9.1