From f26f29d84e0a68831a6af14dab3eec5500496d2e Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期三, 28 五月 2025 16:48:52 +0800
Subject: [PATCH] 初始化项目

---
 store/index.js |   78 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 78 insertions(+), 0 deletions(-)

diff --git a/store/index.js b/store/index.js
new file mode 100644
index 0000000..ef462f7
--- /dev/null
+++ b/store/index.js
@@ -0,0 +1,78 @@
+/**
+ * Copyright (c) 2013-Now http://jeesite.com All rights reserved.
+ */
+import config from '@/common/config.js';
+import Vue from 'vue'
+import Vuex from 'vuex'
+Vue.use(Vuex)
+//钃濈墮璁剧疆
+import Bluetooth from '@/store/bluetooth/index.js'
+
+let lifeData = {};
+
+try{
+	// 灏濊瘯鑾峰彇鏈湴鏄惁瀛樺湪lifeData鍙橀噺锛岀涓�娆″惎鍔ˋPP鏃舵槸涓嶅瓨鍦ㄧ殑
+	lifeData = uni.getStorageSync('lifeData');
+}catch(e){
+
+}
+
+// 闇�瑕佹案涔呭瓨鍌紝涓斾笅娆PP鍚姩闇�瑕佸彇鍑虹殑锛屽湪state涓殑鍙橀噺鍚�
+let saveStateKeys = ['vuex_user', 'vuex_token', 'vuex_remember', 'vuex_locale','vuex_username','vuex_userId','vuex_client_id','vuex_config'];
+
+// 淇濆瓨鍙橀噺鍒版湰鍦板瓨鍌ㄤ腑
+const saveLifeData = function(key, value){
+	// 鍒ゆ柇鍙橀噺鍚嶆槸鍚﹀湪闇�瑕佸瓨鍌ㄧ殑鏁扮粍涓�
+	if(saveStateKeys.indexOf(key) != -1) {
+		// 鑾峰彇鏈湴瀛樺偍鐨刲ifeData瀵硅薄锛屽皢鍙橀噺娣诲姞鍒板璞′腑
+		let tmp = uni.getStorageSync('lifeData');
+		// 绗竴娆℃墦寮�APP锛屼笉瀛樺湪lifeData鍙橀噺锛屾晠鏀句竴涓獅}绌哄璞�
+		tmp = tmp ? tmp : {};
+		tmp[key] = value;
+		// 鎵ц杩欎竴姝ュ悗锛屾墍鏈夐渶瑕佸瓨鍌ㄧ殑鍙橀噺锛岄兘鎸傝浇鍦ㄦ湰鍦扮殑lifeData瀵硅薄涓�
+		uni.setStorageSync('lifeData', tmp);
+	}
+}
+// 绠�鍖� vuex 鎿嶄綔锛屾枃妗o細https://uviewui.com/components/vuexDetail.html
+const store = new Vuex.Store({
+	modules: {
+		Bluetooth
+	},
+	state: {
+		// 濡傛灉涓婇潰浠庢湰鍦拌幏鍙栫殑lifeData瀵硅薄涓嬫湁瀵瑰簲鐨勫睘鎬э紝灏辫祴鍊肩粰state涓搴旂殑鍙橀噺
+		// 鍔犱笂vuex_鍓嶇紑锛屾槸闃叉鍙橀噺鍚嶅啿绐侊紝涔熻浜轰竴鐩簡鐒�
+		vuex_user: lifeData.vuex_user ? lifeData.vuex_user : {userName: 'pig'},
+		vuex_token: lifeData.vuex_token ? lifeData.vuex_token : '',
+		vuex_remember: lifeData.vuex_remember ? lifeData.vuex_remember : '',
+		vuex_locale: lifeData.vuex_locale ? lifeData.vuex_locale : '',
+		vuex_refresh_token:lifeData.vuex_refresh_token ? lifeData.vuex_refresh_token : '',
+		vuex_username:lifeData.vuex_username ? lifeData.vuex_username : '',
+		vuex_userId:lifeData.vuex_userId ? lifeData.vuex_userId : '',
+		vuex_client_id:lifeData.vuex_client_id ? lifeData.vuex_client_id : '',
+		vuex_config: lifeData.vuex_config ? lifeData.vuex_config : config,
+	},
+	mutations: {
+		$uStore(state, payload) {
+			// 鍒ゆ柇鏄惁澶氬眰绾ц皟鐢紝state涓负瀵硅薄瀛樺湪鐨勬儏鍐碉紝璇稿user.info.score = 1
+			let nameArr = payload.name.split('.');
+			let saveKey = '';
+			let len = nameArr.length;
+			if(len >= 2) {
+				let obj = state[nameArr[0]];
+				for(let i = 1; i < len - 1; i ++) {
+					obj = obj[nameArr[i]];
+				}
+				obj[nameArr[len - 1]] = payload.value;
+				saveKey = nameArr[0];
+			} else {
+				// 鍗曞眰绾у彉閲忥紝鍦╯tate灏辨槸涓�涓櫘閫氬彉閲忕殑鎯呭喌
+				state[payload.name] = payload.value;
+				saveKey = payload.name;
+			}
+			// 淇濆瓨鍙橀噺鍒版湰鍦帮紝瑙侀《閮ㄥ嚱鏁板畾涔�
+			saveLifeData(saveKey, state[saveKey])
+		}
+	}
+})
+
+export default store

--
Gitblit v1.9.3