diff --git a/main.js b/main.js
index afc6b0895d6b690f6d5157a993b83837f519503b..ac6e111e185d5c0c66f86880bdee540bcf1907c1 100644
--- a/main.js
+++ b/main.js
@@ -3,8 +3,13 @@ import App from './App'
// #ifndef VUE3
import Vue from 'vue'
Vue.config.productionTip = false
+
+import store from './store/index';
+Vue.prototype.$store = store;
+
App.mpType = 'app'
const app = new Vue({
+ store,
...App
})
app.$mount()
diff --git a/pages/index/index.vue b/pages/index/index.vue
index a7086309c3415b16f739ff11b84a4f8632c0aba1..bffaad94c0aaac788c152dd6f02f83314e4936f1 100644
--- a/pages/index/index.vue
+++ b/pages/index/index.vue
@@ -1,9 +1,13 @@
-
-
-
- {{title}}
-
+
+
+
@@ -11,52 +15,27 @@
export default {
data() {
return {
- title: 'Hello'
+
}
},
onShow() {
},
methods: {
- choose(){
- uni.chooseFile({
- count: 10,
- type: 'image',
- success (res) {
- // tempFilePath可以作为img标签的src属性显示图片
- const tempFilePaths = res.tempFiles
- console.log(tempFilePaths);
- }
- })
+ clickGetUser(){
+ console.log(this.$store.getters.getUser);
+ },
+ clickUpdateUser(){
+ let obj = {
+ name:'张三',
+ sex:'女'
+ };
+ this.$store.commit('updateUser',obj);
}
}
}
diff --git a/store/index.js b/store/index.js
new file mode 100644
index 0000000000000000000000000000000000000000..0f116e29a199624e844be3cd394405f9b7ece96f
--- /dev/null
+++ b/store/index.js
@@ -0,0 +1,44 @@
+import Vue from 'vue';
+import Vuex from 'vuex';
+
+//vue的插件机制
+Vue.use(Vuex);
+
+//Vuex.Store 构造器选项
+const store = new Vuex.Store({
+ state: { //存放状态
+ user:uni.getStorageSync('user')||{},
+ token:uni.getStorageSync('token')||''
+ },
+ mutations:{
+ M_updateUser(state,payload){
+ let obj = state.user;
+ state.user = {...obj,...payload};
+ uni.setStorageSync('user',state.user);
+ },
+ M_updateToken(state,payload){
+ state.token = payload;
+ uni.setStorageSync('token',state.token);
+ }
+ },
+ actions:{
+ A_updateUser(context,payload){
+ context.commit('M_updateUser',payload);
+ },
+ A_updateToken(context,payload){
+ context.commit('M_updateToken',payload);
+ }
+ },
+ getters:{
+ getUser(state){
+ return state.user;
+ },
+ getToken(state){
+ return state.token;
+ }
+ },
+ modules:{
+
+ }
+});
+export default store;
diff --git a/utils/xzCopy.js b/utils/xzCopy.js
index 107d01aae70a8506138542877ec87148decdcae0..b9d52b75221a79c9824e490ae1520aa3f9448efe 100644
--- a/utils/xzCopy.js
+++ b/utils/xzCopy.js
@@ -16,10 +16,10 @@ export default {
deepClone(obj) {
//判断拷贝的obj是对象还是数组
let objClone = Array.isArray(obj) ? [] : {};
- if (obj && typeof obj === "object") { //obj不能为空,并且是对象或者是数组 因为null也是object
+ if (obj && typeof obj === 'object') { //obj不能为空,并且是对象或者是数组 因为null也是object
for (key in obj) {
if (obj.hasOwnProperty(key)) {
- if (obj[key] && typeof obj[key] === "object") { //obj里面属性值不为空并且还是对象,进行深度拷贝
+ if (obj[key] && typeof obj[key] === 'object') { //obj里面属性值不为空并且还是对象,进行深度拷贝
objClone[key] = deepClone(obj[key]); //递归进行深度的拷贝
} else {
objClone[key] = obj[key]; //直接拷贝