From 8a5a0ad3f5ad0abf894df0cdc161786fb59a1abf Mon Sep 17 00:00:00 2001 From: zhangyahui Date: Wed, 22 Apr 2026 10:30:55 +0800 Subject: [PATCH 1/4] =?UTF-8?q?feat:=20setting=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/css/style.css | 27 ++ src/assets/icons/ThumbEdit.svg | 5 + src/assets/images/edit.png | Bin 0 -> 928 bytes src/router/index.ts | 58 +-- src/views/setting/components/Radio.vue | 99 +++++ src/views/setting/index.vue | 512 +++++++++++++++++++++++++ 6 files changed, 679 insertions(+), 22 deletions(-) create mode 100644 src/assets/icons/ThumbEdit.svg create mode 100644 src/assets/images/edit.png create mode 100644 src/views/setting/components/Radio.vue create mode 100644 src/views/setting/index.vue diff --git a/src/assets/css/style.css b/src/assets/css/style.css index 23afd43..e673116 100644 --- a/src/assets/css/style.css +++ b/src/assets/css/style.css @@ -111,3 +111,30 @@ body, background-position: 50% 50%; background-size: var(--mosaic-bg-size) var(--mosaic-bg-size); } + + +.flex{ + display: flex; +} +.flex-center{ + justify-content: center; + align-items: center; +} +.flex-1{ + flex: 1; +} +.flex-col{ + flex-direction: column; +} +.align-center{ + align-items: center; +} +.space-between{ + justify-content: space-between; +} +.justify-center{ + justify-content: center; +} +.relative{ + position: relative; +} diff --git a/src/assets/icons/ThumbEdit.svg b/src/assets/icons/ThumbEdit.svg new file mode 100644 index 0000000..75210f0 --- /dev/null +++ b/src/assets/icons/ThumbEdit.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/images/edit.png b/src/assets/images/edit.png new file mode 100644 index 0000000000000000000000000000000000000000..b43c3ad577bfa9bc81dbc7f220adf7e88db89a7b GIT binary patch literal 928 zcmV;R17G}!P)746C5QKLlHU$H~45>7oPQ~GH$Y!${Td&t_x7*40+}+(V zm&+xq-|uH$uXja%w@BY;5-ZbSf&%!f*XxP3T1|!-5r@OU(&;n{hr=uS`AqPZVK6}} z1d>vz6k9A7%!*(F?RFdID#0JM<2D`WYq#5#g2A9=C7)kf=%tXpn+C!V`R68mC#lVwOtaTuTsu{eBB3{7YnezFLV-&qkqmio>1X8hBWXWVwhG1#6f_OoO(50jX$B{Btq0MGfzP`P^ zWw5i^Y;@tAk%8AXI)tb=Sn^hZX0us&DFH(v0f62m0_x~~Fi?o-(gTklP?5d@#WKRE z0!IbI1PF5S9A|}Y=y1PWE}0ooibJ7LILdXv@n5IYk>9u8Dx&0)e1pdxGhhW;uh*G& zr7#AMu?pu_kx#}6uxK=e)KIE!hR4*xS)z>@6cm9*qrqCO)`{UuW9J0mEgt+A6y8ud zm5m!6J7)__fLC_A-4Ilp>zBsP38I~34)BCN-e+$_%A7M?E|*O~Rp8$Mza#JT1QS9q z=ov=zB9+WmJkA;eJSV^wQK={U{azP}vS=0x23jNZWi~pXS$jddq9>@octBCBPzYzd z;UIsH`KRhnAP^AM#RQ+aTrPL?Fv_46C?-7~k5_d09ZjIR5s;{=RQ_`#@Kb62J_`ss z0~&bIdUy>%^uxBgL3QbQl7(-T@Eiw!-pV literal 0 HcmV?d00001 diff --git a/src/router/index.ts b/src/router/index.ts index 126da21..77bf7f4 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -7,32 +7,46 @@ import { createRouter, createWebHistory } from 'vue-router' * 3. 路由的name默认是文件名,如果文件名与name不一致,通过defineOptions({ name: 'componentName' })来设置 */ const router = createRouter({ - history: createWebHistory('/'), - // history: createWebHistory(import.meta.env.VITE_APP_URL), - routes: [ - { - path: '/', - name: 'home', - component: () => import('../views/home/index.vue'), - }, - { - path: '/collectionStory', - name: 'collectionStory', - component: () => import('../views/collectionStory/index.vue'), - }, - { - path: '/:pathMatch(.*)', - name: '404', - component: () => import('../views/404.vue'), - }, - ] + history: createWebHistory('/'), + // history: createWebHistory(import.meta.env.VITE_APP_URL), + routes: [ + { + path: '/', + name: 'home', + component: () => import('../views/home/index.vue') + }, + { + path: '/collectionStory', + name: 'collectionStory', + component: () => import('../views/collectionStory/index.vue') + // { + // path: '/', + // redirect: '/welcome' + // }, + // { + // path: '/asistant', + // name: 'asistant', + // component: () => import('../views/asistant/index.vue'), + // meta: { cache: true, verify: () => VerifyIDs(2) } + }, + { + path: '/settings', + name: 'settings', + component: () => import('@/views/setting/index.vue'), + meta: { cache: true } + }, + { + path: '/:pathMatch(.*)', + name: '404', + component: () => import('../views/404.vue') + } + ] }) router.beforeEach((to, from, next) => { - next() + next() }) -router.afterEach(() => { -}) +router.afterEach(() => {}) export default router diff --git a/src/views/setting/components/Radio.vue b/src/views/setting/components/Radio.vue new file mode 100644 index 0000000..8d2376c --- /dev/null +++ b/src/views/setting/components/Radio.vue @@ -0,0 +1,99 @@ + + + + + diff --git a/src/views/setting/index.vue b/src/views/setting/index.vue new file mode 100644 index 0000000..f138b81 --- /dev/null +++ b/src/views/setting/index.vue @@ -0,0 +1,512 @@ + + + + + From 38094c4b2c5ef5833fc45eb36ce5b60140f058ff Mon Sep 17 00:00:00 2001 From: zhangyahui Date: Wed, 22 Apr 2026 10:43:40 +0800 Subject: [PATCH 2/4] =?UTF-8?q?feat:=20setting=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/router/index.ts | 43 +- src/views/setting/index.vue | 1196 ++++++++++++++++++++++++----------- 2 files changed, 834 insertions(+), 405 deletions(-) diff --git a/src/router/index.ts b/src/router/index.ts index 08508be..7c94de4 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -7,8 +7,6 @@ import { createRouter, createWebHistory } from 'vue-router' * 3. 路由的name默认是文件名,如果文件名与name不一致,通过defineOptions({ name: 'componentName' })来设置 */ const router = createRouter({ - history: createWebHistory('/'), - // history: createWebHistory(import.meta.env.VITE_APP_URL), routes: [ { path: '/', @@ -19,15 +17,11 @@ const router = createRouter({ path: '/collectionStory', name: 'collectionStory', component: () => import('../views/collectionStory/index.vue') - // { - // path: '/', - // redirect: '/welcome' - // }, - // { - // path: '/asistant', - // name: 'asistant', - // component: () => import('../views/asistant/index.vue'), - // meta: { cache: true, verify: () => VerifyIDs(2) } + }, + { + path: '/brand', + name: 'brand', + component: () => import('../views/brand/index.vue') }, { path: '/settings', @@ -40,31 +34,8 @@ const router = createRouter({ name: '404', component: () => import('../views/404.vue') } - ] - history: createWebHistory('/'), - // history: createWebHistory(import.meta.env.VITE_APP_URL), - routes: [ - { - path: '/', - name: 'home', - component: () => import('../views/home/index.vue'), - }, - { - path: '/collectionStory', - name: 'collectionStory', - component: () => import('../views/collectionStory/index.vue'), - }, - { - path: '/brand', - name: 'brand', - component: () => import('../views/brand/index.vue'), - }, - { - path: '/:pathMatch(.*)', - name: '404', - component: () => import('../views/404.vue'), - }, - ] + ], + history: createWebHistory('/') }) router.beforeEach((to, from, next) => { diff --git a/src/views/setting/index.vue b/src/views/setting/index.vue index f138b81..831ddb5 100644 --- a/src/views/setting/index.vue +++ b/src/views/setting/index.vue @@ -1,111 +1,198 @@ @@ -230,283 +490,481 @@ const handleDiscard = () => { .setting-wrapper { height: 100%; overflow-y: auto; + background: #ffffff; + .banner { height: 14.8rem; row-gap: 1.2rem; - background-color: #fafaf9; + background: + linear-gradient(rgba(255, 255, 255, 0.91), rgba(255, 255, 255, 0.91)), + linear-gradient(90deg, #f2eee8 0%, #fbfaf8 40%, #f1ede7 100%); + .title { font-family: 'KaiseiOpti-Bold'; - font-weight: 700; font-size: 4rem; line-height: 3.6rem; + color: #232323; } + .slogan { font-family: 'KaiseiOpti-Regular'; font-size: 1.6rem; line-height: 2.4rem; - } - } - .setting-content { - padding: 0 18rem 12rem; - .setting-item { - column-gap: 21.4rem; - padding-top: 4rem; - .label-container { - width: 27.6rem; - font-family: 'KaiseiOpti-Medium'; - .label { - font-weight: 500; - font-size: 2.8rem; - color: #232323; - } - .label-desc { - margin-top: 2rem; - font-size: 1.6rem; - color: #666666; - } - } - .context-container { - .info { - column-gap: 2.6rem; - margin-bottom: 3.6rem; - .thumb { - width: 8rem; - height: 8rem; - border-radius: 50%; - background-color: #999; - .edit-icon { - position: absolute; - width: 3rem; - height: 3rem; - right: 0; - bottom: 0; - border: 0.1rem solid #fff; - border-radius: 50%; - } - } - .name-email { - font-family: 'KaiseiOpti-Medium'; - row-gap: 0.6rem; - .name { - font-size: 2.4rem; - color: #232323; - line-height: 3.6rem; - } - .email { - font-size: 1.8rem; - color: #979797; - line-height: 2.4rem; - } - } - } - .col-gap-2 { - column-gap: 2rem; - } - .form-container { - row-gap: 3rem; - .form-item { - .form-item-label { - font-family: 'KaiseiOpti-Medium'; - font-size: 1.4rem; - color: #979797; - margin-bottom: 0.8rem; - } - .form-item-value { - border: 0.1rem solid #979797; - &.noborder { - border: none; - } - &.name { - width: 28.4rem; - } - &.radio { - width: 58rem; - } - :deep(.el-input) { - height: 4rem; - .el-input__wrapper { - box-shadow: none; - padding: 0 2rem; - .el-input__inner { - font-family: 'KaiseiOpti-Regular'; - color: #232323; - font-size: 1.6rem; - } - } - } - } - } - } - .social-links { - margin-top: 5.8rem; - font-family: 'KaiseiOpti-Medium'; - .title { - font-size: 1.4rem; - color: #585858; - margin-bottom: 2rem; - } - .links-list { - row-gap: 0.8rem; - } - .links-item { - column-gap: 3.4rem; - .link-index { - font-size: 1.4rem; - color: #979797; - } - .link-href { - color: #979797; - border: 0.1rem solid #979797; - :deep(.el-input) { - height: 4rem; - .el-input__wrapper { - box-shadow: none; - padding: 0 2rem; - .el-input__inner { - font-family: 'KaiseiOpti-Regular'; - color: #979797; - font-size: 1.6rem; - } - } - } - } - } - } - } - } - .gap { - height: 0.05rem; - margin-top: 6rem; - background-color: #c4c4c4; - } - .security, - .region { - .context-container { - width: 58rem; - } - } - .security-section, - .region-section { - width: 58rem; - } - .security-row, - .region-row { - & + .security-row, - & + .region-row { - margin-top: 3rem; - } - } - .security-label { - margin-bottom: 0.8rem; - font-family: 'KaiseiOpti-Medium'; - font-size: 1.4rem; - line-height: 2.4rem; color: #585858; } - .security-value { + } + + .setting-content { + padding: 4rem 18rem 7rem; + } + + .setting-item { + column-gap: 21.4rem; + align-items: flex-start; + } + + .label-container { + width: 27.6rem; + font-family: 'KaiseiOpti-Medium'; + } + + .label { + font-size: 2.8rem; + line-height: 3.6rem; + color: #232323; + } + + .label-desc { + width: 24rem; + margin-top: 2rem; + font-size: 1.6rem; + line-height: 2.2rem; + color: #666666; + } + + .context-container { + width: 58rem; + } + + .profile-header { + column-gap: 2.6rem; + margin-bottom: 3.6rem; + } + + .avatar { + width: 8rem; + height: 8rem; + border-radius: 50%; + border: 0.1rem solid #d8d0c7; + background: #faf7f3; + } + + .avatar-icon { + color: #979797; + } + + .avatar-edit-btn { + position: absolute; + right: -0.2rem; + bottom: -0.2rem; + width: 3rem; + height: 3rem; + border: 0.2rem solid #ffffff; + border-radius: 50%; + background: #232323; + cursor: pointer; + } + + .avatar-edit-icon { + color: #ffffff; + } + + .profile-summary { + row-gap: 0.6rem; + } + + .profile-name { + font-family: 'KaiseiOpti-Medium'; + font-size: 2.4rem; + line-height: 3.6rem; + color: #232323; + } + + .profile-email { + font-family: 'KaiseiOpti-Regular'; + font-size: 1.8rem; + line-height: 2.4rem; + color: #979797; + } + + .form-container { + row-gap: 3rem; + } + + .col-gap-2 { + column-gap: 2rem; + } + + .form-item-label, + .read-label, + .security-label { + margin-bottom: 0.8rem; + font-family: 'KaiseiOpti-Medium'; + font-size: 1.4rem; + line-height: 2.4rem; + color: #585858; + letter-spacing: 0.04em; + } + + .form-tip, + .read-tip, + .security-tip { + margin-top: 0.8rem; + font-family: 'KaiseiOpti-Regular'; + font-size: 1.2rem; + line-height: 1.6rem; + color: #9f9f9f; + } + + .form-item-value { + border: 0.1rem solid #979797; + + &.noborder { + border: none; + } + + &.name { + width: 28.4rem; + } + + &.radio { + width: 58rem; + } + + :deep(.el-input) { height: 4rem; + } + + :deep(.el-input__wrapper) { + box-shadow: none; + border-radius: 0; + padding: 0 2rem; + } + + :deep(.el-input__inner) { + font-family: 'KaiseiOpti-Regular'; + color: #232323; + font-size: 1.6rem; + } + } + + .read-section { + width: 58rem; + } + + .read-row + .read-row, + .security-row + .security-row, + .region-row + .region-row { + margin-top: 3rem; + } + + .read-row.two-column { + display: grid; + grid-template-columns: 28.4rem 28.4rem; + column-gap: 2rem; + } + + .read-box, + .field-box { + width: 100%; + min-height: 4rem; + border: 0.1rem solid #979797; + padding: 0.8rem 2rem; + display: flex; + align-items: center; + font-family: 'KaiseiOpti-Regular'; + font-size: 1.6rem; + line-height: 2.4rem; + color: #232323; + } + + .role-row { + margin-top: 3rem; + } + + .role-tags { + display: flex; + flex-wrap: wrap; + gap: 0.8rem; + } + + .role-tag { + min-width: 8rem; + height: 4rem; + padding: 0 1.2rem; + border: 0.1rem solid #979797; + display: inline-flex; + align-items: center; + justify-content: center; + font-family: 'KaiseiOpti-Regular'; + font-size: 1.4rem; + line-height: 2rem; + color: #979797; + + &.is-active { + background: #232323; + border-color: #232323; + color: #ffffff; + } + } + + .social-links { + margin-top: 5.8rem; + font-family: 'KaiseiOpti-Medium'; + } + + .social-links .title { + font-size: 1.4rem; + color: #585858; + margin-bottom: 2rem; + } + + .links-list { + row-gap: 0.8rem; + } + + .links-item { + column-gap: 3.4rem; + } + + .link-index { + width: 4rem; + font-family: 'KaiseiOpti-Regular'; + font-size: 1.4rem; + line-height: 2rem; + color: #979797; + } + + .link-href { + min-height: 4rem; + border: 0.1rem solid #979797; + color: #979797; + + &.readonly { + padding: 0.8rem 2rem; display: flex; align-items: center; font-family: 'KaiseiOpti-Regular'; - font-size: 1.6rem; - line-height: 2.4rem; - color: #232323; - } - .password-mask { - font-family: 'KaiseiOpti-Bold'; - letter-spacing: 0.08rem; - } - .security-tip { - margin-top: 0.8rem; - font-family: 'KaiseiOpti-Regular'; - font-size: 1.2rem; - line-height: 1.6rem; + font-size: 1.4rem; + line-height: 2rem; color: #9f9f9f; } - .security-input-wrap, - .select-wrap { - width: 58rem; - border: 0.1rem solid #979797; - :deep(.el-input), - :deep(.el-select) { - width: 100%; - height: 4rem; - } - :deep(.el-input__wrapper), - :deep(.el-select__wrapper) { - min-height: 4rem; - box-shadow: none; - border-radius: 0; - padding: 0 2rem; - } - :deep(.el-input__inner), - :deep(.el-select__selected-item), - :deep(.el-select__placeholder) { - font-family: 'KaiseiOpti-Regular'; - font-size: 1.6rem; - color: #232323; - } - :deep(.el-input__inner::placeholder) { - color: #9f9f9f; - } + + :deep(.el-input) { + height: 4rem; } - .verify-input { - display: flex; - align-items: stretch; - :deep(.el-input) { - flex: 1; - } + + :deep(.el-input__wrapper) { + box-shadow: none; + border-radius: 0; + padding: 0 2rem; } - .verify-btn { - width: 7.8rem; - border: none; - border-left: 0.1rem solid #979797; - background: #fff; - font-family: 'KaiseiOpti-Medium'; + + :deep(.el-input__inner) { + font-family: 'KaiseiOpti-Regular'; + color: #9f9f9f; + font-size: 1.4rem; + } + } + + .add-link-btn { + width: 4rem; + height: 4rem; + border: 0.1rem solid #f0ebe5; + background: #f6f6f6; + color: #b4aea6; + font-size: 2rem; + line-height: 1; + cursor: pointer; + } + + .security-static { + min-height: 4rem; + display: flex; + align-items: center; + font-family: 'KaiseiOpti-Regular'; + font-size: 1.6rem; + line-height: 2.4rem; + color: #232323; + } + + .password-mask { + font-family: 'KaiseiOpti-Bold'; + letter-spacing: 0.08rem; + } + + .inline-header { + gap: 1.6rem; + } + + .outlined-field { + width: 58rem; + border: 0.1rem solid #979797; + + :deep(.el-input), + :deep(.el-select) { + width: 100%; + min-height: 4rem; + } + + :deep(.el-input__wrapper), + :deep(.el-select__wrapper) { + min-height: 4rem; + box-shadow: none; + border-radius: 0; + padding: 0 2rem; + } + + :deep(.el-input__inner), + :deep(.el-select__selected-item), + :deep(.el-select__placeholder) { + font-family: 'KaiseiOpti-Regular'; font-size: 1.4rem; color: #232323; - cursor: pointer; } - .small-action-btn { - width: 10rem; - height: 3.2rem; - border: 0.1rem solid #c4c4c4; - background: #f6f6f6; - font-family: 'KaiseiOpti-Bold'; - font-size: 1.2rem; - line-height: 2.6rem; - color: #232323; - cursor: pointer; + + :deep(.el-input__inner::placeholder) { + color: #9f9f9f; } - .inner-divider { - height: 0.05rem; - margin: 2.8rem 0 3rem; - background-color: #c4c4c4; + } + + .verify-field { + display: flex; + align-items: stretch; + + :deep(.el-input) { + flex: 1; } - .action-container { - justify-content: center; - column-gap: 1.2rem; - margin-top: 2.8rem; + } + + .verify-btn { + width: 7.6rem; + border: none; + border-left: 0.1rem solid #979797; + background: #ffffff; + font-family: 'KaiseiOpti-Medium'; + font-size: 1.4rem; + color: #232323; + cursor: pointer; + } + + .small-btn, + .secondary-btn, + .primary-btn { + border: 0.1rem solid #c4c4c4; + background: #f6f6f6; + font-family: 'KaiseiOpti-Bold'; + color: #232323; + cursor: pointer; + } + + .small-btn { + width: 10rem; + height: 3.2rem; + font-size: 1.2rem; + line-height: 2.6rem; + } + + .inner-divider { + height: 0.05rem; + margin: 2.8rem 0 3rem; + background-color: #c4c4c4; + } + + .gap { + height: 0.05rem; + margin-top: 6rem; + background-color: #c4c4c4; + } + + .bottom-gap { + margin-top: 4rem; + } + + .action-container { + justify-content: center; + column-gap: 1.2rem; + margin-top: 2.8rem; + } + + .primary-btn, + .secondary-btn { + height: 4.4rem; + font-size: 1.6rem; + line-height: 2.6rem; + } + + .primary-btn { + min-width: 23.6rem; + border-color: #232323; + background: #232323; + color: #ffffff; + padding: 0 2.4rem; + + &:disabled { + opacity: 0.6; + cursor: not-allowed; } - .save-btn, - .discard-btn { - height: 4.4rem; - font-family: 'KaiseiOpti-Bold'; - font-size: 1.6rem; - cursor: pointer; - } - .save-btn { - width: 23.6rem; - border: 0.1rem solid #232323; - background: #232323; - color: #fff; - } - .discard-btn { - width: 12rem; - border: 0.1rem solid #c4c4c4; - background: #fff; - color: #232323; + } + + .secondary-btn { + width: 12rem; + background: #ffffff; + + &:disabled { + opacity: 0.6; + cursor: not-allowed; } } + + .edit-btn { + min-width: 12rem; + } + + .read-social-links { + margin-top: 4.8rem; + } + + .security-container, + .region-container { + padding-top: 0.2rem; + } + + .role-tag, + :deep(.radio-button) { + white-space: nowrap; + } + + :deep(.radio-button-group) { + gap: 0.8rem; + } + + :deep(.radio-button) { + border: 0.1rem solid #979797; + height: 4rem; + min-width: 8rem; + padding: 0 1.2rem; + color: #979797; + background-color: #fff; + font-size: 1.4rem; + font-family: 'KaiseiOpti-Regular'; + } + + :deep(.radio-button.is-active), + :deep(.radio-button:hover) { + border-color: #232323; + color: #fff; + background-color: #232323; + } } From d65590304f9bdeab544608e5092924be442b240d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=BF=97=E9=B9=8F?= <2916022834@qq.com> Date: Wed, 22 Apr 2026 13:57:28 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E7=99=BB=E5=BD=95=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/icons/dui.svg | 3 + src/lang/en.ts | 4 +- src/lang/zh-cn.ts | 2 + src/views/login/css/style.css | 2 +- src/views/login/email-verify.vue | 17 +- src/views/login/index.vue | 117 ------------- src/views/login/less/style.less | 2 +- src/views/login/login-dialog.vue | 50 ++++-- src/views/login/password-tip.vue | 8 +- src/views/login/register-success.vue | 113 ++++++++++++ src/views/login/retrieve-password.vue | 237 ++++++++++++++++---------- 11 files changed, 318 insertions(+), 237 deletions(-) create mode 100644 src/assets/icons/dui.svg delete mode 100644 src/views/login/index.vue create mode 100644 src/views/login/register-success.vue diff --git a/src/assets/icons/dui.svg b/src/assets/icons/dui.svg new file mode 100644 index 0000000..03f4227 --- /dev/null +++ b/src/assets/icons/dui.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/lang/en.ts b/src/lang/en.ts index 42fe27c..925d091 100644 --- a/src/lang/en.ts +++ b/src/lang/en.ts @@ -7,9 +7,11 @@ export default { name: 'Name', email: 'Email', password: 'Password', + passwordConfirmation: 'Password Confirmation', enterName: 'Enter your name', enterEmail: 'Enter your email', enterPassword: 'Enter your password', + enterPasswordAgain: 'Enter your password again', forgotPassword: 'Forget password?', pleaseInputName: 'Please input the name', nameLengthError: 'Name length must be between {min} and {max} characters', @@ -28,7 +30,7 @@ export default { havenAccountToLogin: `Already have an account? Log in`, verifyEmail: 'Verify your email address', verifyCodeHasSent: 'A verification code has been sent to
{email}', - verify: 'Verify', + verify: 'VERIFY', resendCode: 'Resend Code', resendCodeIn: 'Resend Code in {time}', orContinueWith: 'or continue with', diff --git a/src/lang/zh-cn.ts b/src/lang/zh-cn.ts index 1afe79a..4e078c4 100644 --- a/src/lang/zh-cn.ts +++ b/src/lang/zh-cn.ts @@ -8,9 +8,11 @@ export default { name: '姓名', email: '邮箱', password: '密码', + passwordConfirmation: '密码确认', enterName: '请输入姓名', enterEmail: '请输入邮箱', enterPassword: '请输入密码', + enterPasswordAgain: '请输入密码确认', forgotPassword: '忘记密码?', pleaseInputName: '请输入姓名', nameLengthError: '姓名长度必须在 {min} 到 {max} 个字符之间', diff --git a/src/views/login/css/style.css b/src/views/login/css/style.css index d2a446c..ffb085f 100644 --- a/src/views/login/css/style.css +++ b/src/views/login/css/style.css @@ -38,7 +38,7 @@ --el-input-border-radius: 0; --el-input-text-color: #232323; --el-border-color: #C4C4C4; - font-size: 1.4rem; + font-size: 1rem; } .retrieve-password:deep(.el-form) .el-input::placeholder, .register:deep(.el-form) .el-input::placeholder, diff --git a/src/views/login/email-verify.vue b/src/views/login/email-verify.vue index e402574..7aacbba 100644 --- a/src/views/login/email-verify.vue +++ b/src/views/login/email-verify.vue @@ -1,5 +1,5 @@ @@ -29,7 +29,8 @@ type: String as () => 'LOGIN' | 'REGISTER' | 'FORGOT_PWD', required: true }, - password: { type: String, default: '' } + password: { type: String, default: '' }, + isShowOtherLogin: { type: Boolean, default: true } }) const code = ref('') const time = ref(60) @@ -96,7 +97,7 @@ diff --git a/src/views/login/less/style.less b/src/views/login/less/style.less index bac666c..a423d11 100644 --- a/src/views/login/less/style.less +++ b/src/views/login/less/style.less @@ -32,7 +32,7 @@ --el-input-border-radius: 0; --el-input-text-color: #232323; --el-border-color: #C4C4C4; - font-size: 1.4rem; + font-size: 1rem; &::placeholder { color: #9F9F9F; diff --git a/src/views/login/login-dialog.vue b/src/views/login/login-dialog.vue index 1d9c038..2bf3ed2 100644 --- a/src/views/login/login-dialog.vue +++ b/src/views/login/login-dialog.vue @@ -10,7 +10,6 @@ :close-on-click-modal="false" > @@ -147,72 +98,72 @@
+
-
EMAIL
- - +
+
EMAIL
+
{{ displayData.email }}
+ +
-
+
NEW EMAIL ADDRESS
-
+
- +
Verify
-
+
-
PASSWORD
- - +
+
PASSWORD
+
.........
+ +
- +
+
@@ -227,40 +178,26 @@
DISPLAY LANGUAGE
- - +
+ {{ displayData.language }} +
+
+ + + +
REGION
- - +
+ {{ displayData.region }} +
+
+ + + +
@@ -285,10 +222,8 @@