From 97cca86bab9f3f020fb3a238ac921f7f9713de4b Mon Sep 17 00:00:00 2001 From: chutingting Date: Sat, 13 Jan 2024 20:05:11 +0800 Subject: [PATCH] login --- src/api/login.js | 59 ++++++++ src/assets/loginTop.png | Bin 0 -> 7193 bytes src/components/identify.vue | 162 --------------------- src/components/login/index.vue | 248 +++++++++++++++++++++++++++++++++ src/layouts/index.vue | 16 ++- src/store/getters.js | 15 ++ src/store/index.js | 15 ++ src/store/modules/user.js | 76 ++++++++++ src/views/aigc/index.vue | 71 +++------- src/views/article/list.vue | 2 +- 10 files changed, 445 insertions(+), 219 deletions(-) create mode 100644 src/api/login.js create mode 100644 src/assets/loginTop.png delete mode 100644 src/components/identify.vue create mode 100644 src/components/login/index.vue create mode 100755 src/store/getters.js create mode 100755 src/store/index.js create mode 100755 src/store/modules/user.js diff --git a/src/api/login.js b/src/api/login.js new file mode 100644 index 0000000..0df783d --- /dev/null +++ b/src/api/login.js @@ -0,0 +1,59 @@ +import request from './request' +/* eslint-disable */ +let baseUrl = 'https://www.meta-autotv.com' +/** + * 密码登录 + * @returns request + */ +export const loginApi = (data) => { + return request({ + method: 'POST', + url: baseUrl + `/C/api/user/login`, + data + }) +} +/** + * 发送短信 + * @returns request + */ +export const sendLoginPhoneCodeApi = (phone) => { + return request({ + method: 'get', + url: baseUrl + `/C/api/user/sendLoginPhoneCode?phone=${phone}` + }) +} + +/** + * 短信登录 + * @returns request + */ +export const doLoginByPhoneApi = (data) => { + return request({ + method: 'POST', + url: baseUrl + `/C/api/user/doLoginByPhone`, + data + }) + } + + /** + * 注册 + * @returns request + */ +export function doRegisterByPhoneAPi(data) { + return request({ + method: 'POST', + url: baseUrl + `/C/api/user/doRegisterByPhone`, + data + }) + } + + /** + * 当前用户 + * @returns request + */ +export const getUserInfoApi = () => { + return request({ + method: 'get', + url: baseUrl + `/C/api/user/getUserInfo` + }) + } \ No newline at end of file diff --git a/src/assets/loginTop.png b/src/assets/loginTop.png new file mode 100644 index 0000000000000000000000000000000000000000..d93ca578796fb0d9b91a40fa94c231fc389b003f GIT binary patch literal 7193 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 L3*$0F$H@N!beZer literal 0 HcmV?d00001 diff --git a/src/components/identify.vue b/src/components/identify.vue deleted file mode 100644 index 2668208..0000000 --- a/src/components/identify.vue +++ /dev/null @@ -1,162 +0,0 @@ - - - diff --git a/src/components/login/index.vue b/src/components/login/index.vue new file mode 100644 index 0000000..786b5b0 --- /dev/null +++ b/src/components/login/index.vue @@ -0,0 +1,248 @@ + + + \ No newline at end of file diff --git a/src/layouts/index.vue b/src/layouts/index.vue index 5c67dff..d93412e 100644 --- a/src/layouts/index.vue +++ b/src/layouts/index.vue @@ -4,26 +4,36 @@
- +
+ diff --git a/src/store/getters.js b/src/store/getters.js new file mode 100755 index 0000000..f316aa5 --- /dev/null +++ b/src/store/getters.js @@ -0,0 +1,15 @@ +/* + * @Date: 2021-07-16 17:52:04 + * @LastEditTime: 2022-07-27 10:48:11 + * @Description: + */ +const getters = { + sidebar: state => state.app.sidebar, + device: state => state.app.device, + token: state => state.user.token, + avatar: state => state.user.avatar, + name: state => state.user.name, + isChild: state => state.user.isChild, + roles: state => state.user.roles +} +export default getters diff --git a/src/store/index.js b/src/store/index.js new file mode 100755 index 0000000..98c6740 --- /dev/null +++ b/src/store/index.js @@ -0,0 +1,15 @@ +import Vue from 'vue' +import Vuex from 'vuex' +import getters from './getters' +import user from './modules/user' + +Vue.use(Vuex) + +const store = new Vuex.Store({ + modules: { + user + }, + getters +}) + +export default store diff --git a/src/store/modules/user.js b/src/store/modules/user.js new file mode 100755 index 0000000..757e523 --- /dev/null +++ b/src/store/modules/user.js @@ -0,0 +1,76 @@ +import { login, logout, getInfo } from '@/api/user' +import { getToken, removeToken } from '@/utils/auth' +import { resetRouter } from '@/router' + +const getDefaultState = () => { + return { + loginFlag: false, + phone: '' + } +} + +const state = getDefaultState() + +const mutations = { + RESET_STATE: (state) => { + Object.assign(state, getDefaultState()) + }, + SET_TOKEN: (state, token) => { + state.token = token + }, + SET_NAME: (state, name) => { + state.name = name + }, + SET_AVATAR: (state, avatar) => { + state.avatar = avatar + }, + SET_ISCHILD: (state, isChild) => { + state.isChild = isChild + }, + SET_Login: (state, roles) => { + state.roles = roles + } +} + +const actions = { + setChild({ commit }, isChild) { + commit('SET_ISCHILD', isChild) + }, + setRoles({ commit }, roles) { + commit('SET_ROLES', roles) + }, + setToken({ commit }, token) { + commit('SET_TOKEN', token) + }, + // user login + /* login({ commit }, userInfo) { + const { username, password } = userInfo + return new Promise((resolve, reject) => { + login({ username: username.trim(), password: password }).then(response => { + const { data } = response + commit('SET_TOKEN', data.token) + setToken(data.token) + resolve() + }).catch(error => { + reject(error) + }) + }) + }, */ + + // remove token + resetToken({ commit }) { + return new Promise(resolve => { + removeToken() // must remove token first + commit('RESET_STATE') + resolve() + }) + } +} + +export default { + namespaced: true, + state, + mutations, + actions +} + diff --git a/src/views/aigc/index.vue b/src/views/aigc/index.vue index 5d80bb3..5276b0a 100644 --- a/src/views/aigc/index.vue +++ b/src/views/aigc/index.vue @@ -2,27 +2,27 @@
- +
@@ -76,15 +76,12 @@