diff --git a/package-lock.json b/package-lock.json index 8fb97b4..2d5c054 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,8 @@ "flowbite": "^2.3.0", "vue": "^3.3.11", "vue-request": "^2.0.4", - "vue-router": "^4.2.5" + "vue-router": "^4.2.5", + "vuex": "^4.1.0" }, "devDependencies": { "@vitejs/plugin-vue": "^4.5.2", @@ -2792,6 +2793,17 @@ "vue": "^3.0.0" } }, + "node_modules/vuex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/vuex/-/vuex-4.1.0.tgz", + "integrity": "sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==", + "dependencies": { + "@vue/devtools-api": "^6.0.0-beta.11" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, "node_modules/warning": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", diff --git a/package.json b/package.json index 13f7f48..04c0cdf 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,8 @@ "flowbite": "^2.3.0", "vue": "^3.3.11", "vue-request": "^2.0.4", - "vue-router": "^4.2.5" + "vue-router": "^4.2.5", + "vuex": "^4.1.0" }, "devDependencies": { "@vitejs/plugin-vue": "^4.5.2", diff --git a/src/main.js b/src/main.js index 725f249..4e7ea5b 100644 --- a/src/main.js +++ b/src/main.js @@ -5,11 +5,13 @@ import router from './router' import 'ant-design-vue/dist/reset.css'; import './assert/main.css' import 'flowbite'; +import store from './store' // 引入Vuex store const app = createApp(App) app.use(router) app.use(Antd) +app.use(store) app.mount('#app') diff --git a/src/store/index.js b/src/store/index.js new file mode 100644 index 0000000..6b586db --- /dev/null +++ b/src/store/index.js @@ -0,0 +1,65 @@ +/* +import Vue from 'vue' +import Vuex from 'vuex' +import request from '@/js/request.js' + +Vue.use(Vuex) +export default new Vuex.Store({ + state: { + tokenInfo: {} + }, + mutations: { + setTokenInfo (state, newToken) { + state.tokenInfo = newToken + } + }, + actions: { + async userLogin (context, formState) { + // context.commit('mSetTokenInfo', res.data.data) + try { + const res = await request.login(formState) + console.log(res) + console.log(context) + // 请求成功之后,保存token,所以调mutations函数 + context.commit('setTokenInfo', res.data.data) + } catch (err) { + // console.log(err) + throw new Error() + } + } + }, + modules: { + } +})*/ + + +import {createStore} from 'vuex'; +import request from '@/js/request.js'; + +const store = createStore({ + state: { + tokenInfo: {} + }, + mutations: { + setTokenInfo(state, newToken) { + state.tokenInfo = newToken; + } + }, + actions: { + async userLogin(context, formState) { + try { + const res = await request.login(formState); + console.log(res); + console.log(context); + context.commit('setTokenInfo', res.data.data.token); + } catch (err) { + console.error(err); + throw new Error('登录失败'); + } + } + }, + modules: { + } +}); + +export default store; diff --git a/src/views/AuthPage/Login.vue b/src/views/AuthPage/Login.vue index eb08f46..417ea26 100644 --- a/src/views/AuthPage/Login.vue +++ b/src/views/AuthPage/Login.vue @@ -29,7 +29,7 @@ 忘记密码? - + 登录
@@ -61,9 +61,9 @@