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