From d8b41fff43a2cee6a8f714ffa807623b15803786 Mon Sep 17 00:00:00 2001
From: quanyawei <401863037@qq.com>
Date: Fri, 20 Oct 2023 15:21:35 +0800
Subject: [PATCH] fix:立行立改Uniapp小程序新建项目

---
 store/modules/user.js |  111 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 111 insertions(+), 0 deletions(-)

diff --git a/store/modules/user.js b/store/modules/user.js
new file mode 100644
index 0000000..166094c
--- /dev/null
+++ b/store/modules/user.js
@@ -0,0 +1,111 @@
+import Vue from "vue";
+export default {
+  state: {
+    user: null,
+	tonken:''
+  },
+  mutations: {
+    login(state, user) {
+      state.user = user;
+      // ������������������
+      Vue.prototype.$cache.set("_userInfo", user, 0);
+    },
+	tonken(state, data) {
+	  state.tonken = data;
+	  // ������������������
+	  Vue.prototype.$cache.set("state",tonken,0);
+	},
+    logout(state) {
+      state.user = null;
+      // ������������������������
+      Vue.prototype.$cache.delete("_userInfo");
+    },
+  },
+  actions: {
+    autoLogin({ commit, getters, dispatch }) {
+		console.log('Vue.prototype.$storage',Vue.prototype.$storage.get("tonken"))
+      let tonken = Vue.prototype.$storage.get("tonken");
+      console.log("tonken", tonken);
+      // ���������������������������������������������������������������������
+      if (tonken) {
+        const params = {
+          account: accountInFor.account,
+          password: accountInFor.password,
+        };
+        uni.showLoading({
+          title: "���������������...",
+        });
+        dispatch("login", params)
+          .then((res) => {
+            uni.hideLoading();
+            // uni.showToast({
+            // 	title: '������������������',
+            // 	icon: 'success'
+            // })
+          })
+          .catch(() => {
+            uni.hideLoading();
+            uni.showToast({
+              title: "���������������������������������",
+              icon: "none",
+            });
+            setTimeout(() => {
+              uni.reLaunch({
+                url: "/pages/login/login",
+              });
+            }, 1000);
+          });
+      } else {
+        // ������������������������������������������������������������
+        uni.showModal({
+          title: "���������",
+          content: "������������������������������������������",
+          showCancel: false,
+          confirmText: "������",
+          success: (res) => {
+            if (res.confirm) {
+              uni.reLaunch({
+                url: "/pages/login/login",
+              });
+            }
+          },
+        });
+      }
+    },
+    login({ commit }, params) {
+      return new Promise((resolve, reject) => {
+        Vue.prototype.$login
+          .login(params)
+          .then((res) => {
+            if (res.ok()) {
+              console.log(response);
+              this.$storage.set("token", response.data.token);
+              this.$storage.setJson("accountInFor", this.form);
+              let token = this.$storage.get("token");
+              commit("login", tmp);
+              resolve(res);
+            } else {
+              reject(res);
+            }
+          })
+          .catch((err) => {
+            reject(err);
+          });
+      });
+    },
+    logout({ commit }) {
+      commit("logout");
+      uni.reLaunch({
+        url: "/pages/login/login",
+      });
+    },
+  },
+  getters: {
+    user: (state) => {
+      if (state.user) {
+        return state.user;
+      }
+      // return Vue.prototype.$cache.get('_userInfo')
+    },
+  },
+};

--
Gitblit v1.8.0