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