From d1d9098a6419c8d8a41b990f45b3320c623547a2 Mon Sep 17 00:00:00 2001 From: lizhong Date: Tue, 14 Mar 2023 23:55:21 +0800 Subject: [PATCH] =?UTF-8?q?=E7=99=BB=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/vcs.xml | 1 - README.md | 5 +- api/Common.ts | 5 + assets/images/testCode.jpg | Bin 0 -> 11078 bytes components/Header/Index.vue | 83 +++++++++++------ components/Login/Index.vue | 171 +++++++++++++++++++++++++++++++++++ components/Mai/Tab/Index.vue | 2 +- composables/useAppStore.ts | 2 +- composables/useUserInfo.ts | 49 ++++++++++ layouts/tabLayout.vue | 10 +- nuxt.config.ts | 3 + package.json | 1 + plugins/persits.ts | 4 + utils/http.ts | 4 +- yarn.lock | 5 + 15 files changed, 310 insertions(+), 35 deletions(-) create mode 100644 assets/images/testCode.jpg create mode 100644 components/Login/Index.vue create mode 100644 composables/useUserInfo.ts create mode 100644 plugins/persits.ts diff --git a/.idea/vcs.xml b/.idea/vcs.xml index a57048e..94a25f7 100644 --- a/.idea/vcs.xml +++ b/.idea/vcs.xml @@ -2,6 +2,5 @@ - \ No newline at end of file diff --git a/README.md b/README.md index b3d5ead..49837ea 100644 --- a/README.md +++ b/README.md @@ -41,11 +41,10 @@ npm run preview Check out the [deployment documentation](https://nuxt.com/docs/getting-started/deployment) for more information. - ## 项目相关资料 + [后台地址](http://research.mcnetmart.com/NEBnKkdLDW.php) 账号:admin 密码:a147258" [原型图](https://eqbh1l.axshare.com) -[设计稿](https://lanhuapp.com/web/#/item/project/stage?tid=279a1988-b0b6-4aac-9ef2-c066ece4ddcf&pid=6cb69861-790d-4f5b-9e80-8c059a873c9a -) \ No newline at end of file +[设计稿](https://lanhuapp.com/web/#/item/project/stage?tid=279a1988-b0b6-4aac-9ef2-c066ece4ddcf&pid=6cb69861-790d-4f5b-9e80-8c059a873c9a ) diff --git a/api/Common.ts b/api/Common.ts index 555badb..15f72d3 100644 --- a/api/Common.ts +++ b/api/Common.ts @@ -5,6 +5,7 @@ export default new class Common extends Http> { private readonly upload = '/common/upload' private readonly caseList = '/cases/lists' private readonly bottomMenu = '/index/bottomMenu' + private readonly login_url = '/user/login' handleUpload(file: any) { const formData = new FormData(); formData.append('file', file) @@ -17,5 +18,9 @@ export default new class Common extends Http> { getBottomMenu() { return this.get(this.bottomMenu) } + login(data: any) { + return this.post(this.login_url,this.toFormData(data)) + } + } diff --git a/assets/images/testCode.jpg b/assets/images/testCode.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6f522f35a826d3423140a375d0e034ef07473f49 GIT binary patch literal 11078 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 - - + + - {{ item.name }} + {{ item.name }} + + +
登录
+ + + 登录 + + + +
@@ -57,13 +80,14 @@ $prefix-cls: '#{$name-prefix}-header-wrap'; :deep(.el-menu) { @apply bg-transparent; border-bottom: unset; + .el-menu-item { border-bottom: unset; //font-size: 20px; transition: font-size .5s; background-color: unset; @apply relative text-xl; - &:after{ + &:after { content: ''; width: 50%; height: 8px; @@ -73,36 +97,43 @@ $prefix-cls: '#{$name-prefix}-header-wrap'; transform: translateX(-50%); @apply bg-transparent absolute; } - &:hover{ + + &:hover { color: unset; } + &.is-active { color: #333 !important; @apply font-bold text-2xl; - &:after{ + &:after { @apply bg-black; } } } } - &.is-host{ + + &.is-host { :deep(.el-menu) { .el-menu-item { color: $white !important; - &:hover{ + + &:hover { color: unset; } + &.is-active { - &:after{ + &:after { @apply bg-white; } } } } - :deep(.yangliu-app-logo__title){ + + :deep(.yangliu-app-logo__title) { color: $white; } } + //height: 100px; } diff --git a/components/Login/Index.vue b/components/Login/Index.vue new file mode 100644 index 0000000..496271f --- /dev/null +++ b/components/Login/Index.vue @@ -0,0 +1,171 @@ + + + + diff --git a/components/Mai/Tab/Index.vue b/components/Mai/Tab/Index.vue index 8ea8b1f..6ceeca9 100644 --- a/components/Mai/Tab/Index.vue +++ b/components/Mai/Tab/Index.vue @@ -51,7 +51,7 @@ export default defineComponent({ ]} > {item.name} - + ))} diff --git a/composables/useAppStore.ts b/composables/useAppStore.ts index 6370337..80fe1e5 100644 --- a/composables/useAppStore.ts +++ b/composables/useAppStore.ts @@ -13,7 +13,7 @@ const useAppStore = defineStore('app', { getters:{ getMenuTheme: (state)=> state.menuTheme, - getBannerTitle: (state)=> state.bannerTitle + getBannerTitle: (state)=> state.bannerTitle, }, actions: { diff --git a/composables/useUserInfo.ts b/composables/useUserInfo.ts new file mode 100644 index 0000000..667225e --- /dev/null +++ b/composables/useUserInfo.ts @@ -0,0 +1,49 @@ +import {acceptHMRUpdate, createPinia, defineStore} from 'pinia'; + +type menu = 'light' | 'dark' +export interface UserState { + token: string; + info: any; + loginVisible: boolean; +} +const useUserInfo = defineStore('user', { + state: (): UserState => ({ + token: '', + info: {}, + loginVisible: false, + }), + + actions: { + setToken(token: string):void { + this.token = token; + }, + setInfo(info: any):void { + this.info = info; + }, + setLoginVisible(val: boolean):void { + this.loginVisible = val; + }, + + async login(data: any){ + const { commonApi } = useApi() + const res = await commonApi.login(data); + // if (res.data) + console.log('login>>>>', res) + + return res; + } + + }, + getters:{ + getLoginVisible:(state)=> state.loginVisible, + }, + persist: process.client && { + storage: localStorage, + paths: ['info', 'token'] + } + +}) +export default useUserInfo; +if (import.meta.hot) { + import.meta.hot.accept(acceptHMRUpdate(useUserInfo, import.meta.hot)) +} diff --git a/layouts/tabLayout.vue b/layouts/tabLayout.vue index 4735a37..07f297b 100644 --- a/layouts/tabLayout.vue +++ b/layouts/tabLayout.vue @@ -5,12 +5,20 @@