diff --git a/.env b/.env index 6875ad7..08db500 100644 --- a/.env +++ b/.env @@ -1 +1 @@ -VITE_BASE_URL=http://127.0.0.1:8899/ \ No newline at end of file +VITE_BASE_URL=http://127.0.0.1:8899 \ No newline at end of file diff --git a/src/api/index.js b/src/api/index.js deleted file mode 100644 index 06c5764..0000000 --- a/src/api/index.js +++ /dev/null @@ -1,17 +0,0 @@ -import request from '@/service' - -export const get15DaysWeatherByArea = data => { - return request({ - url: '/api/common/weather/get15DaysWeatherByArea', - method: 'GET', - data, - interceptors: { - requestInterceptors(res) { - return res - }, - responseInterceptors(result) { - return result - }, - }, - }) -} diff --git a/src/api/login.js b/src/api/login.js new file mode 100644 index 0000000..c5484bc --- /dev/null +++ b/src/api/login.js @@ -0,0 +1,9 @@ +import request from '@/service' + +export const loginApi = data => { + return request({ + url: '/account/login', + method: 'POST', + data, + }) +} diff --git a/src/pages/Login.vue b/src/pages/Login.vue index db0cbe5..ce47156 100644 --- a/src/pages/Login.vue +++ b/src/pages/Login.vue @@ -97,18 +97,26 @@ import Back from '@/static/img/login/back.png' import { DesktopIcon, LockOnIcon } from 'tdesign-icons-vue-next' import { useRouter } from 'vue-router' import { MessagePlugin } from 'tdesign-vue-next' +import { loginApi } from '@/api/login' +import { useAccountStore } from '@/store' +import { storeToRefs } from 'pinia' +const accountStore = useAccountStore() const router = useRouter() const formData = ref({ account: '', password: '', }) -const onSubmit = ({ validateResult, firstError }) => { +const onSubmit = async ({ validateResult, firstError }) => { if (validateResult === true) { - if ( - formData.value.account == 'admin' && - formData.value.password == 'admin' - ) { + const res = await loginApi({ + username: formData.value.account, + password: formData.value.password, + }) + if (res && res.code == 200) { + // 将token存入store中 + accountStore.updateToken(res?.data?.token) + accountStore.updateUsername(res?.data?.username) router.push('/') } else { MessagePlugin.error({ content: '请输入正确的用户名和密码!' }) diff --git a/src/service/index.js b/src/service/index.js index 0d7b154..4381ec3 100644 --- a/src/service/index.js +++ b/src/service/index.js @@ -4,7 +4,7 @@ import Request from './request' */ const request = new Request({ - baseURL: import.meta.env.BASE_URL, + baseURL: import.meta.env.VITE_BASE_URL, timeout: 1000 * 60 * 5, interceptors: { // 请求拦截器 diff --git a/src/service/request.js b/src/service/request.js index a108868..29f8831 100644 --- a/src/service/request.js +++ b/src/service/request.js @@ -95,7 +95,6 @@ class Request { if (config.interceptors?.responseInterceptors) { res = config.interceptors.responseInterceptors.res } - resolve(res) }) .catch(err => { diff --git a/src/store/index.js b/src/store/index.js index c149d67..f935d78 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -1,6 +1,6 @@ import { createPinia } from 'pinia' -import { useCountStore } from './modules/count' +import { useAccountStore } from './modules/account' const store = createPinia() export default store -export { useCountStore } +export { useAccountStore } diff --git a/src/store/modules/account.js b/src/store/modules/account.js new file mode 100644 index 0000000..e67afe6 --- /dev/null +++ b/src/store/modules/account.js @@ -0,0 +1,20 @@ +import { defineStore } from 'pinia' +export const useAccountStore = defineStore({ + id: 'account', // id必填,且需要唯一 + // state + state: () => { + return { + token: null, + username: '', + } + }, + // actions + actions: { + updateToken(token) { + this.token = token + }, + updateUsername(username) { + this.username = username + }, + }, +}) diff --git a/src/store/modules/count.js b/src/store/modules/count.js deleted file mode 100644 index d2d6ec3..0000000 --- a/src/store/modules/count.js +++ /dev/null @@ -1,27 +0,0 @@ -import { defineStore } from 'pinia' -export const useCountStore = defineStore({ - id: 'count', // id必填,且需要唯一 - // state - state: () => { - return { - count: 0, - } - }, - // getters - getters: { - doubleCount: state => { - return state.count * 2 - }, - }, - // actions - actions: { - // actions 同样支持异步写法 - countAdd() { - // 可以通过 this 访问 state 中的内容 - this.count++ - }, - countReduce() { - this.count-- - }, - }, -})