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 0000000..d93ca57
Binary files /dev/null and b/src/assets/loginTop.png differ
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 @@
+
+
+
+
+ 登录体验更多
+
+
+
会员登录
+
+
+
+
+
+
+
+
+
+
+ 获取验证码
+
+
+ {{loginFlag === 3 ? "注册" : "登录"}}
+
+
+ 使用短信登录
+ 使用密码登录
+ 注册
+
+
+
+
+
+
+
\ 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 @@