Sfoglia il codice sorgente

Merge remote-tracking branch 'origin/master'

Gaosheng 1 giorno fa
parent
commit
f251481a9e
37 ha cambiato i file con 392 aggiunte e 293 eliminazioni
  1. 2 1
      xinkeaboard-admin/public/UEditor/ueditor.all.js
  2. 7 1
      xinkeaboard-admin/src/pages/decorate/pc/home/add_template.js
  3. 1 1
      xinkeaboard-admin/src/pages/decorate/pc/home/adv_28.js
  4. 1 1
      xinkeaboard-admin/src/pages/decorate/pc/home/adv_29.js
  5. 3 3
      xinkeaboard-admin/src/pages/decorate/pc/home/diy_page_lists.js
  6. 8 1
      xinkeaboard-admin/src/pages/decorate/pc/home/edit_diy_page.js
  7. 2 1
      xinkeaboard-admin/src/utils/utils.js
  8. 3 3
      xinkeaboard-seller/src/pages/store/pc_diy/diy_lists.js
  9. 2 1
      xinkeaboard-seller/src/pages/store/pc_diy/diy_page.less
  10. 3 3
      xinkeaboard-seller/src/pages/store/pc_diy/edit_diy_page_head.js
  11. 43 42
      xinkeaboard-seller/src/pages/store/pc_diy/edit_diy_page_head.less
  12. 4 0
      xinkeaboard-seller/src/pages/store/pc_diy/pcdecorate.less
  13. 2 1
      xinkeaboard-seller/src/utils/utils.js
  14. 6 4
      xinkeaboard-web/assets/language/en.js
  15. 4 1
      xinkeaboard-web/assets/language/zh.js
  16. 3 0
      xinkeaboard-web/assets/style/base-en.scss
  17. 7 0
      xinkeaboard-web/assets/style/base-zh.scss
  18. 3 3
      xinkeaboard-web/assets/style/base.scss
  19. 3 3
      xinkeaboard-web/assets/style/decorate.scss
  20. 3 0
      xinkeaboard-web/assets/style/member/index.scss
  21. 14 7
      xinkeaboard-web/assets/style/register.scss
  22. 2 2
      xinkeaboard-web/assets/style/store/contac-about.scss
  23. 2 2
      xinkeaboard-web/components/Store/HeaderCat.vue
  24. 4 2
      xinkeaboard-web/components/login/Email.vue
  25. 4 2
      xinkeaboard-web/components/login/Phone.vue
  26. 16 8
      xinkeaboard-web/components/register/RegisterAccount.vue
  27. 29 21
      xinkeaboard-web/components/register/RegisterMail.vue
  28. 19 12
      xinkeaboard-web/components/register/RegisterPhone.vue
  29. 65 66
      xinkeaboard-web/components/register/RegisterSuccess.vue
  30. 22 13
      xinkeaboard-web/components/retrieve/RetrievePassword.vue
  31. 22 12
      xinkeaboard-web/components/retrieve/RetrievePwdByPhone.vue
  32. 69 69
      xinkeaboard-web/components/retrieve/RetrieveSuccess.vue
  33. 1 0
      xinkeaboard-web/nuxt.config.ts
  34. 11 5
      xinkeaboard-web/pages/login.vue
  35. 1 1
      xinkeaboard-web/pages/register.vue
  36. 1 1
      xinkeaboard-web/pages/store/[id].vue
  37. BIN
      xinkeaboard-web/public/register/success.png

+ 2 - 1
xinkeaboard-admin/public/UEditor/ueditor.all.js

@@ -29826,7 +29826,7 @@
                 function setCount(editor, ui) {
                     editor.setOpt({
                         wordCount: true,
-                        maximumWords: 10000,
+                        maximumWords: 1000000,
                         wordCountMsg: editor.options.wordCountMsg || editor.getLang("wordCountMsg"),
                         wordOverFlowMsg: editor.options.wordOverFlowMsg || editor.getLang("wordOverFlowMsg")
                     });
@@ -29839,6 +29839,7 @@
                         return;
                     }
                     var count = editor.getContentLength(true);
+                    console.log(count, 'count')
                     if (count > max) {
                         countDom.innerHTML = errMsg;
                         editor.fireEvent("wordcountoverflow");

+ 7 - 1
xinkeaboard-admin/src/pages/decorate/pc/home/add_template.js

@@ -57,7 +57,12 @@ export default class Add_template extends Component {
 
 
 	componentDidMount() {
-
+		const pc_diy_tpl_data = sldEmptyHandle2(localStorage.getItem('pc_diy_tpl')) != '' ? JSON.parse(localStorage.getItem('pc_diy_tpl')) : '';
+		if (pc_diy_tpl_data.json.type === 'adv_28') {
+			pc_diy_tpl_data.json.left.width = 348;
+		    pc_diy_tpl_data.json.left.height = 654;
+		}
+		this.setState({data: pc_diy_tpl_data})
 	}
 
 	componentWillUnmount() {
@@ -94,6 +99,7 @@ export default class Add_template extends Component {
 
 	render() {
 		const { data } = this.state;
+		console.log(data, '=-=-=')
 		let data_json = data.json;
 		return (
 			<div className={`${global.common_page} ${styles.allow_show_edit}`}>

+ 1 - 1
xinkeaboard-admin/src/pages/decorate/pc/home/adv_28.js

@@ -314,7 +314,7 @@ export default class Adv_28 extends Component {
                       :
                       <Fragment>
                         <div className={`${styles.industry_theme_image_example_text}`}>
-                          <span>{sldComLanguage('此处添加【300*386】图片')}</span>
+                          <span>{sldComLanguage('此处添加【348*654】图片')}</span>
                         </div>
                       </Fragment>}
 

+ 1 - 1
xinkeaboard-admin/src/pages/decorate/pc/home/adv_29.js

@@ -272,7 +272,7 @@ export default class Adv_29 extends Component {
                 </Fragment>
                 :
                 <Fragment>
-                  <span>{sldComLanguage('此处添加【1210*330】图片')}</span>
+                  <span>{sldComLanguage('此处添加【1440*654】图片')}</span>
                 </Fragment>}
             </div>
             <div className={`${styles.sourcing_centent}`}>

+ 3 - 3
xinkeaboard-admin/src/pages/decorate/pc/home/diy_page_lists.js

@@ -25,8 +25,8 @@ import Search from '@/components/Search/Search';
 import defaultSettings from '@/defaultSettings';
 
 let pageSize = list_com_page_size_10;
-@connect(({ product }) => ({
-  product,
+@connect(({ product, global }) => ({
+  product,global
 }))
 @Form.create()
 export default class Diy_page_lists extends Component {
@@ -138,7 +138,7 @@ export default class Diy_page_lists extends Component {
           width: 100,
           render: (text, record) => (
             <Fragment>
-              <Link to={{ pathname: `/decorate_pc/diy_page_lists_to_edit`, search: `?id=${record.decoId}&type=index` }}
+              <Link to={{ pathname: `/decorate_pc/diy_page_lists_to_edit`, search: `?id=${record.decoId}&type=index&webSite=${props.global.currentSite}` }}
                     target="_blank">
                 {
                   sldtbaleOpeBtnText(`${sldComLanguage('装修')}`, null)

+ 8 - 1
xinkeaboard-admin/src/pages/decorate/pc/home/edit_diy_page.js

@@ -287,9 +287,13 @@ export default class Edit_diy_page extends Component {
         if (res.state == 200) {
           let tmp = res.data.data ? JSON.parse(res.data.data.replace(/&quot;/g,"\"")) : [];
           if (tmp.length > 0) {
-            tmp.map((val, key) => {
+            tmp.forEach((val, key) => {
               val.id = key + 1;
               val.data = val.json;
+              if (val.json.type === 'adv_28') {
+                val.data.left.width = 348;
+                val.data.left.height = 654;
+              }
             });
           }
           data = [];
@@ -306,7 +310,10 @@ export default class Edit_diy_page extends Component {
           if(tmp.length > 0){
             data = tmp.filter((item, index) => index > 0);
             main_swiper_data = tmp[0];//主轮播数据
+            main_swiper_data.data.info.carousel_info.width = 1920;
+            main_swiper_data.data.info.carousel_info.height = 520;
           }
+          // debugger;
           this.setState({
             data, //楼层数据
             curData: res.data,

+ 2 - 1
xinkeaboard-admin/src/utils/utils.js

@@ -1329,7 +1329,8 @@ export function getSldStatYTitle() {
  * */
 export function sldComRequest(method, url, params, data_type = '') {
   const state = window.g_app._store.getState();
-  const currentSite = state.global.currentSite || localStorage.getItem('currentSite');
+  const { webSite = '' } = state.routing.location.query;
+  const currentSite = webSite || state.global.currentSite || localStorage.getItem('currentSite');
   const currentPath = state.routing.location.pathname;
   if (!currentPath.includes('/user/login')) {
     params = Object.assign({}, { webSite: currentSite }, params ?? {})

+ 3 - 3
xinkeaboard-seller/src/pages/store/pc_diy/diy_lists.js

@@ -25,8 +25,8 @@ import SldModal from '@/components/SldModal/SldModal';
 import Search from '@/components/Search/Search';
 
 let pageSize = list_com_page_size_10;
-@connect(({ product }) => ({
-  product,
+@connect(({ product, global }) => ({
+  product, global
 }))
 @Form.create()
 export default class DiyLists extends Component {
@@ -138,7 +138,7 @@ export default class DiyLists extends Component {
           width: 100,
           render: (text, record) => (
             <Fragment>
-              <Link to={{ pathname: `/store/decorate_pc_home_to_edit`, search: `?id=${record.decoId}` }}
+              <Link to={{ pathname: `/store/decorate_pc_home_to_edit`, search: `?id=${record.decoId}&webSite=${props.global.currentSite}` }}
                     target="_blank">
                 {
                   sldtbaleOpeBtnText(`${sldComLanguage('装修')}`, null)

+ 2 - 1
xinkeaboard-seller/src/pages/store/pc_diy/diy_page.less

@@ -1,4 +1,5 @@
 @import '~antd/lib/style/themes/default.less';
+@import '../../../themeColor.less';
 
 /* 装修页面样式-start */
 .diy_page_wrap {
@@ -443,7 +444,7 @@
   z-index: 12;
   width: 100vw;
   height: 48px;
-  background: linear-gradient(90deg, #FF5216 0%, #FF8A39 100%);
+  background: @theme-linear;
   padding-left: calc(50vw - 605px);
   padding-right: calc(50vw - 605px);
   .left{

+ 3 - 3
xinkeaboard-seller/src/pages/store/pc_diy/edit_diy_page_head.js

@@ -173,15 +173,15 @@ export default class EditDdiyPageHead extends Component {
                        style={{ color: 'rgb(153,153,153)' }}/>
                 <input type="submit" value={sldComLanguage('搜索')} className={styles.button}/>
               </form>
-              <input type="submit" value={sldComLanguage('搜本店')} className={`${styles.button} ${styles.fl}`}
-                     style={{ background: '#333' }}/>
+              {/* <input type="submit" value={sldComLanguage('搜本店')} className={`${styles.button} ${styles.fl}`}
+                     style={{ background: '#333' }}/> */}
             </div>
 
             <div className={styles.sld_cart_wrap}>
               <dl>
                 <dt className={`${styles.ld} ${styles.cart_icon_text_wrap}`}
                     style={{ borderBottom: '1px solid rgb(239, 239, 239)' }}>
-                  <span className={styles.iconfont}>{sldSvgIcon('#e2231a',16,16,'youxiang')}</span>
+                  <span className={styles.iconfont}>{sldSvgIcon('#036EB8',16,16,'youxiang')}</span>
                   <a href="javascript:void(0)">{sldComLanguage('我的询盘')}</a>
                   {/*<div className={styles.cart_goods_num}>0</div>*/}
                 </dt>

+ 43 - 42
xinkeaboard-seller/src/pages/store/pc_diy/edit_diy_page_head.less

@@ -3,15 +3,15 @@
 
 .header_wrap {
   width: 100%;
-  height: 33px;
+  height: 45px;
   background: #f7f7f7;
   display: flex;
   align-items: center;
   justify-content: center;
 
   .header {
-    width: 1210px;
-    height: 33px;
+    width: 1440px;
+    height: 45px;
     display: flex;
     justify-content: space-between;
     align-items: center;
@@ -168,12 +168,15 @@
 }
 .sld_store_header {
   width: 100%;
+  background: #F6F8FA;
   .container {
-    width: 1210px;
+    display: flex;
+    align-items: center;
+    width: 1440px;
     margin: 0 auto;
     padding-left: 0;
     padding-right: 0;
-    height: 99px;
+    height: 80px;
     position: relative;
     z-index: 12;
 
@@ -370,14 +373,12 @@
     }
 
     .search_wrap {
-      width: 550px;
-      float: left;
-      padding-top: 4px;
-      margin-top: 30px;
+      flex: 1;
+      width: 100%;
 
       form {
-        width: 443px;
-        border: 2px solid #e2231a;
+        width: 536px;
+        border: 2px solid @theme-color;
 
         .text {
           width: 334px;
@@ -405,7 +406,7 @@
 
       .button {
         width: 103px;
-        background: #e2231a;
+        background: @theme-color;
         font-size: 16px;
         font-weight: 600;
         color: #fff;
@@ -443,11 +444,15 @@
 
     .sld_store_nav {
       width: 100%;
-      height: 38px;
-      line-height: 38px;
-      background-color: #080808;
+      height: 48px;
+      line-height: 48px;
+      background: @theme-linear;
 
       .sld_all_store_cat {
+        height: 100%;
+        font-weight: 400;
+        font-size: 12px;
+        color: #FFFFFF;
         &:hover {
           .sld_store_first_cat {
             display: block !important;
@@ -457,9 +462,9 @@
 
       .sld_store_first_cat {
         position: absolute;
-        top: 38px;
+        top: 48px;
         left: 0;
-        width: 171px;
+        width: 200px;
         font-size: 15px;
         background-color: #ffffff;
         z-index: 119;
@@ -471,7 +476,7 @@
           height: 40px;
           line-height: 40px;
           box-sizing: border-box;
-          border-bottom: 1px solid rgba(0, 0, 0, .2);
+          border-bottom: 1px solid rgba(0, 0, 0, 0.2);
 
           a {
             display: block;
@@ -526,7 +531,7 @@
           width: 171px;
           background-color: #ffffff;
           color: #333333;
-          font-size: 17px;
+          font-size: 12px;
           padding: 0;
           cursor: pointer;
 
@@ -544,7 +549,7 @@
       }
 
       ul {
-        width: 1210px;
+        width: 1440px;
         margin: 0 auto;
         position: relative;
       }
@@ -553,20 +558,16 @@
         position: absolute;
         left: 171px;
         width: 810px;
-        height: 38px;
+        height: 100%;
         overflow: hidden;
       }
     }
   }
 
   .sld_cart_wrap {
-    float: right;
-    position: relative;
-    z-index: 99;
     width: 165px;
     height: 40px;
-    margin-top: 34px;
-    margin-right: 13px;
+    text-align: center;
 
     dl {
       margin-bottom: 0px;
@@ -574,7 +575,7 @@
       .cart_goods_num {
         font: 11px/16px Verdana;
         color: #FFF;
-        background: #e2231a;
+        background: @theme-color;
         text-align: center;
         display: inline-block;
         height: 16px;
@@ -596,8 +597,8 @@
 
         .iconfont {
           display: inline-block;
-          margin: 0 13px 0 12px;
-          color: #e2231a;
+          margin: 0 13px 0 0px;
+          color: @theme-color;
           font-weight: 600;
           vertical-align: bottom;
           font-size: 17px;
@@ -609,7 +610,7 @@
 
         &.cart_icon_text_wrap {
           a {
-            color: #666666;
+            color: @theme-color;
             font-size: 14px;
             line-height: 36px;
           }
@@ -722,20 +723,20 @@
   .search_line{
     width: 1px;
     height: 20px;
-    border: 1px solid #FFFFFF;
+    border: 1px solid #ffffff;
     opacity: 0.5;
     position: absolute;
-    right: 210px;
-    top: 8px;
+    right: 300px;
+    top: 14px;
   }
   .search_modle{
-    width: 192px;
+    width: 282px;
     position: absolute;
     right: 0;
-    height: 38px;
+    height: 100%;
     .search_input{
-      width: 160px;
-      height: 20px;
+      width: 100%;
+      height: 32px;
       background: #FFFFFF;
       border-radius: 2px 0 0 2px;
       display: block;
@@ -745,15 +746,15 @@
     }
     .search_input_button{
       display: block;
-      width: 50px;
-      height: 20px;
-      background: #e2231a;
+      width: 72px;
+      height: 32px;
+      background: @theme-color;
       border-radius: 0 2px 2px 0;
       font-size: 12px;
       //font-family: Microsoft YaHei;
       font-weight: 400;
-      color: #FFFFFF;
-      line-height: 20px;
+      color: #ffffff;
+      line-height: 32px;
       text-align: center;
       cursor: pointer;
     }

+ 4 - 0
xinkeaboard-seller/src/pages/store/pc_diy/pcdecorate.less

@@ -1476,6 +1476,10 @@ a {
 /* adv_11-end */
 
 /* adv_12-start */
+.adv_12 {
+  width: 1440px;
+  margin: 0 auto;
+}
 .adv_12 .adv_12_wrap {
   width: 100%;
   position: relative;

+ 2 - 1
xinkeaboard-seller/src/utils/utils.js

@@ -1382,7 +1382,8 @@ export function getSldStatYTitle() {
  * */
 export function sldComRequest(method, url, params, data_type = '') {
   const state = window.g_app._store.getState();
-  const currentSite = state.global.currentSite || localStorage.getItem('currentSite');
+  const { webSite = '' } = state.routing.location.query;
+  const currentSite = webSite || state.global.currentSite || localStorage.getItem('currentSite');
   const currentPath = state.routing.location.pathname;
   if (!currentPath.includes('/apply') && !currentPath.includes('/user/login')) {
     params = Object.assign({}, { webSite: currentSite }, params ?? {})

+ 6 - 4
xinkeaboard-web/assets/language/en.js

@@ -66,7 +66,7 @@ export const lang_en = {
     '发送验证邮件': 'Send verification email',
     '请同意用户注册协议及隐私政策': 'Please agree to the user agreement and privacy agreement',
     '注册验证邮件已发送到': 'Registration verification email has been sent to ',
-    '请输入用户名': 'Please enter one user name',
+    '请输入用户名': 'Please enter one full name',
     '请输入6~20位英文、数字、符号': 'Please input 6~20 English characters, numbers and symbols',
     '会员邮箱账户激活成功,请登录': 'Member email account activated successfully, please sign in',
 
@@ -836,12 +836,14 @@ export const lang_en = {
         '验证码已发送': 'The verification code has been sent',
         '校验不通过': 'The verification fails',
         '注册成功': 'Registration Successful',
-        '我们将向您的手机号发送验证码,该手机号将用作登录用户名': 'We will send a verification code to your phone, which will be used as your login username',
-        '我们将向您的邮箱发送验证码,该邮件将用作登录用户名': 'We will send a verification code to your email address, which will be used as your login username',
+        '我们将向您的手机号发送验证码,该手机号将用作登录用户名': 'We will send a verification code to your phone',
+        '我们将向您的邮箱发送验证码,该邮件将用作登录用户名': 'We will send a verification code to your email address',
         '请确认密码': 'Please confirm the password',
         '两次输入的密码不一致': 'The passwords entered twice are inconsistent',
         '注册成功': 'Registration successful',
-        '您已注册成功, 5s内跳转到登录页': 'You have registered successfully. You will be redirected to the login page within 5 seconds',
+        's内跳转到登录页': ' You will be redirected to the login page within ',
+        '秒': ' seconds',
+        '您已注册成功': 'You have registered successfully.',
         '立即登录': 'Log in now',
         '重置成功': 'Reset successful',
         '密码重置成功, 5s内跳转至登录页': 'The password reset was successful. You will be redirected to the login page within 5 seconds'

+ 4 - 1
xinkeaboard-web/assets/language/zh.js

@@ -869,7 +869,10 @@ export const lang_zn = {
       '请确认密码': '请确认密码',
       '两次输入的密码不一致': '两次输入的密码不一致',
       '注册成功': '注册成功',
-      '您已注册成功, 5s内跳转到登录页': '您已注册成功, 5s内跳转到登录页',
+      's内跳转到登录页': ' 秒内跳转到登录页',
+      '秒': '',
+      '您已注册成功': '您已注册成功,',
+    //   '您已注册成功, 5s内跳转到登录页': '您已注册成功, 5s内跳转到登录页',
       '立即登录': '立即登录',
       '重置成功': '重置成功',
       '密码重置成功, 5s内跳转至登录页': '密码重置成功, 5s内跳转至登录页'

+ 3 - 0
xinkeaboard-web/assets/style/base-en.scss

@@ -0,0 +1,3 @@
+*{
+  font-family: 'Roboto';
+}

+ 7 - 0
xinkeaboard-web/assets/style/base-zh.scss

@@ -0,0 +1,7 @@
+* {
+    font-family: "Source Han Sans CN",
+        "Source Han Sans SC",
+        "思源黑体",
+        "Noto Sans CJK SC",
+        sans-serif;
+}

+ 3 - 3
xinkeaboard-web/assets/style/base.scss

@@ -1,7 +1,7 @@
 $colorMain: #e2231a !default; //主色、文字选中、搜索
-*{
-  font-family: Arial,sans-serif,Roboto,Helvetica Neue,Arial,Noto Sans
-}
+// *{
+//   font-family: Roboto;
+// }
 /**
 * 全局通用样式
 */

+ 3 - 3
xinkeaboard-web/assets/style/decorate.scss

@@ -996,7 +996,7 @@
 
 .adv_04_wrap .floor_goods .item {
   float: left;
-  width: 286px;
+  width: 288px;
   height: 326px;
   padding: 10px;
   background-color: #fff;
@@ -4031,8 +4031,8 @@ a {
 
 
 .home-slider {
-  width: 1920px;
-  // width: 100%;
+  // width: 1920px;
+  width: 100%;
   margin: 0 auto;
   position: relative;
   height: 520px;

+ 3 - 0
xinkeaboard-web/assets/style/member/index.scss

@@ -645,6 +645,8 @@ a:active {
         }
         ul {
             padding: 21px 30px 18px 18px;
+            display: flex;
+            flex-wrap: wrap;
         }
         li {
             float: left;
@@ -659,6 +661,7 @@ a:active {
                 img {
                     width: 150px;
                     height: 150px;
+                    object-fit:contain;
                 }
             }
             &:hover {

+ 14 - 7
xinkeaboard-web/assets/style/register.scss

@@ -55,8 +55,12 @@
   }
 
   .sld_login_content {
+    display: flex;
+    flex-direction: column;
+    justify-content: center;
+    align-items: center;
     width: 100%;
-    height: 600px;
+    height: 750px;
     position: relative;
     .bg {
       position: absolute;
@@ -80,16 +84,19 @@
       position: relative;
 
       .login_box {
+        display: flex;
+        flex-direction: column;
+        width: 487px;
+        height: 598px;
         position: relative;
         z-index: 10000;
         background: #fff;
-        padding: 10px 2px 50px;
+        // padding: 10px 2px 50px;
 
         .top {
           margin-top: 20px;
-          padding: 0 20px;
           display: flex;
-          width: 356px;
+          width: 100%;
           cursor: default;
           .item1 {
             flex: 1;
@@ -106,10 +113,10 @@
           height: 51px;
           background: #fcfcfc;
           border-top: 1px solid #eee;
-          position: absolute;
+          // position: absolute;
           width: 100%;
-          bottom: 0;
-          left: 0;
+          // bottom: 0;
+          // left: 0;
           display: flex;
           padding: 0 16px;
           box-sizing: border-box;

+ 2 - 2
xinkeaboard-web/assets/style/store/contac-about.scss

@@ -126,7 +126,7 @@
     margin: 20px 0;
     padding: 0 55px;
     .slide_wrap{
-        width: 1000px;
+        width: 100%;
         height: auto;
         margin: 0 auto;
         .sld_img.sld-img-center:hover{
@@ -218,7 +218,7 @@
 .bannerBox{ background-color:#e2e6f5;height:520px;width: 100%;}
 .main{background-color:#f3f3f3;padding:50px 0; }
 .picBox{width:375px;margin:0 45px 0 30px;}
-.aboutBox{width:720px;padding:0 30px 0 0; overflow:hidden;zoom:1;font-size: 14px;}
+.aboutBox{width:720px;padding:0 30px 0 0;zoom:1;font-size: 14px;}
 .f35{font-size:35px;margin-top:30px;}
 .aboutBox li{list-style-type:decimal;margin:15px 0 15px 25px;}
 

+ 2 - 2
xinkeaboard-web/components/Store/HeaderCat.vue

@@ -151,11 +151,11 @@
             </ul>
           </li>
           <ul class="sld_store_cat_horizontal" v-if="storeData.info.storeName">
-            <!-- <li :class="{ 'active': routePath === '/store/'+ calcProductName(storeData.info.storeName) +'_'+ vid }">
+            <li :class="{ 'active': routePath === '/store/'+ calcProductName(storeData.info.storeName) +'_'+ vid }">
               <nuxt-link target="_blank"  :to="'/store/'+ calcProductName(storeData.info.storeName) +'_'+ vid"  >
                 {{ L["首页"] }}
               </nuxt-link>
-            </li> -->
+            </li>
             <li :class="{'active': routePath === '/store/goods/'+ calcProductName(storeData.info.storeName) +'_v-'+ vid}">
               <nuxt-link :to="'/store/goods/'+ calcProductName(storeData.info.storeName) +'_v-'+ vid" >{{
                 L["所有商品"]

+ 4 - 2
xinkeaboard-web/components/login/Email.vue

@@ -17,8 +17,9 @@
         <span style="color: #bbb" class="iconfont icon-cuowu"></span>
       </div>
     </div>
-    <div class="error" v-if="emailErrorMsg">
+    <div class="error">
       <span
+        v-if="emailErrorMsg"
         style="color: #e1251b; font-size: 14px"
         class="iconfont icon-jubao"
       ></span>
@@ -45,8 +46,9 @@
       </div>
     </div>
 
-    <div class="error" v-if="errorMsg">
+    <div class="error">
       <span
+        v-if="errorMsg"
         style="color: #e1251b; font-size: 14px"
         class="iconfont icon-jubao"
       ></span>

+ 4 - 2
xinkeaboard-web/components/login/Phone.vue

@@ -17,8 +17,9 @@
         <span style="color: #bbb" class="iconfont icon-cuowu"></span>
       </div>
     </div>
-    <div class="error" v-if="phoneErrorMsg">
+    <div class="error">
       <span
+        v-if="phoneErrorMsg"
         style="color: #e1251b; font-size: 14px"
         class="iconfont icon-jubao"
       ></span>
@@ -45,8 +46,9 @@
       </div>
     </div>
 
-    <div class="error" v-if="errorMsg">
+    <div class="error">
       <span
+        v-if="errorMsg"
         style="color: #e1251b; font-size: 14px"
         class="iconfont icon-jubao"
       ></span>

+ 16 - 8
xinkeaboard-web/components/register/RegisterAccount.vue

@@ -14,8 +14,9 @@
       <div data-type="userName" class="cancel" @click="clearInputVal">
         <span style="color: #bbb" class="iconfont icon-cuowu"></span>
       </div>
-      <div class="error" v-if="nameErrorMsg">
+      <div class="error">
         <span
+          v-if="nameErrorMsg"
           style="color: #e1251b; font-size: 14px"
           class="iconfont icon-jubao"
         ></span>
@@ -50,8 +51,9 @@
         ></span>
       </div>
     </div>
-    <div class="error" v-if="checkPwdErrorMsg">
+    <div class="error" >
       <span
+        v-if="checkPwdErrorMsg"
         style="color: #e1251b; font-size: 14px"
         class="iconfont icon-jubao"
       ></span>
@@ -83,8 +85,9 @@
         ></span>
       </div>
     </div>
-    <div class="error" v-if="checkErrorMsg">
+    <div class="error">
       <span
+        v-if="checkErrorMsg"
         style="color: #e1251b; font-size: 14px"
         class="iconfont icon-jubao"
       ></span>
@@ -120,8 +123,9 @@
         </nuxt-link>
       </span>
     </div>
-    <div class="error" v-if="agreeErrorMsg">
+    <div class="error">
       <span
+        v-if="agreeErrorMsg"
         style="color: #e1251b; font-size: 14px"
         class="iconfont icon-jubao"
       ></span>
@@ -257,7 +261,11 @@ watch(name, (val) => {
 
 <style lang="scss" scoped>
 .center {
-  padding: 30px 30px 40px;
+  flex: 1;
+  height: 100%;
+  position: relative;
+  padding: 0 28px;
+  margin-top: 60px;
 
   .item {
     position: relative;
@@ -286,7 +294,7 @@ watch(name, (val) => {
       border: 1px solid #e8e8e8;
       height: 40px;
       padding: 0 44px 0 60px;
-      width: 326px;
+      width: 431px;
     }
 
     &.code {
@@ -308,7 +316,7 @@ watch(name, (val) => {
     :before {
       position: absolute;
       top: 9px;
-      // left: 14px;
+      left: 14px;
     }
   }
 
@@ -321,7 +329,7 @@ watch(name, (val) => {
   }
 
   .submit {
-    margin-top: 35px;
+    margin-top: 100px;
     background: $colorMain;
     color: #fff;
     text-align: center;

+ 29 - 21
xinkeaboard-web/components/register/RegisterMail.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="center">
-    <p style="width: 296px">
+    <p style="width: 100%; text-align: center;">
       {{ L["register"]["我们将向您的邮箱发送验证码,该邮件将用作登录用户名"] }}
     </p>
     <div class="item account">
@@ -19,8 +19,9 @@
         <span style="color: #bbb" class="iconfont icon-cuowu"></span>
       </div>
     </div>
-    <div class="error" v-if="emailErrorMsg">
+    <div class="error">
       <span
+        v-if="emailErrorMsg"
         style="color: #e1251b; font-size: 14px"
         class="iconfont icon-jubao"
       ></span>
@@ -50,8 +51,9 @@
         </el-button>
       </span>
     </div>
-    <div class="error" v-if="emailCodeErrorMsg">
+    <div class="error">
       <span
+        v-if="emailCodeErrorMsg"
         style="color: #e1251b; font-size: 14px"
         class="iconfont icon-jubao"
       ></span>
@@ -247,35 +249,39 @@ const clearInputVal = (type) => {
 </style>
 <style lang="scss" scoped>
 .center {
-  padding: 30px 30px 40px;
+  flex: 1;
+  height: 100%;
+  position: relative;
+  padding: 0 28px;
+  margin-top: 60px;
 
   .item {
     position: relative;
-    margin-top: 15px;
+    margin-top: 25px;
     border-radius: 2px;
 
     input::placeholder {
-      font-weight: 400;
+      // font-weight: 400;
       font-size: $fontE;
       color: rgba(40,46,48,0.6);
     }
 
     ::-webkit-input-placeholder {
-      font-weight: 400;
+      // font-weight: 400;
       font-size: $fontE;
       color: rgba(40,46,48,0.6);
     }
 
     /* 使用webkit内核的浏览器 */
     :-moz-placeholder {
-      font-weight: 400;
+      // font-weight: 400;
       font-size: $fontE;
       color: rgba(40,46,48,0.6);
     }
 
     /* Firefox版本19+ */
     :-ms-input-placeholder {
-      font-weight: 400;
+      // font-weight: 400;
       font-size: $fontE;
       color: rgba(40,46,48,0.6);
     }
@@ -305,7 +311,8 @@ const clearInputVal = (type) => {
       border: 1px solid #e8e8e8;
       height: 40px;
       padding: 0 44px 0 60px;
-      width: 326px;
+      width: 431px;
+
     }
     &.code {
       .input {
@@ -317,8 +324,8 @@ const clearInputVal = (type) => {
 
   .cancel {
     position: absolute;
-    right: 0;
-    top: 1px;
+    right: -20px;
+    top: 2px;
     width: 44px;
     height: 38px;
     cursor: pointer;
@@ -340,32 +347,32 @@ const clearInputVal = (type) => {
 
   .verify-code {
     display: flex;
-    width: 350px;
+    width: 431px;
     height: 40px;
     margin-top: 10px;
 
     input::placeholder {
-      font-weight: 400;
+      // font-weight: 400;
       font-size: $fontE;
       color: rgba(40,46,48,0.6);
     }
 
     ::-webkit-input-placeholder {
-      font-weight: 400;
+      // font-weight: 400;
       font-size: $fontE;
       color: rgba(40,46,48,0.6);
     }
 
     /* 使用webkit内核的浏览器 */
     :-moz-placeholder {
-      font-weight: 400;
+      // font-weight: 400;
       font-size: $fontE;
       color: rgba(40,46,48,0.6);
     }
 
     /* Firefox版本19+ */
     :-ms-input-placeholder {
-      font-weight: 400;
+      // font-weight: 400;
       font-size: $fontE;
       color: rgba(40,46,48,0.6);
     }
@@ -385,12 +392,13 @@ const clearInputVal = (type) => {
     }
 
     input {
+      flex: 1;
+      width: 100%;
       border: 1px solid #e8e8e8;
       border-left: none;
       border-right: none;
       height: 40px;
       padding: 0 0 0 10px;
-      width: 200px;
     }
 
     &-accept {
@@ -402,12 +410,12 @@ const clearInputVal = (type) => {
       .el-button {
         width: 100%;
         height: 100%;
-        font-weight: bold;
+        // font-weight: bold;
         color: #FFFFFF;
         background: $colorMain;
         border-left: none;
         border-radius: 0;
-        font-size: $fontE;
+        font-size: 12px;
 
         &:hover {
           // border-color: #e8e8e8;
@@ -418,7 +426,7 @@ const clearInputVal = (type) => {
   }
 
   .submit {
-    margin-top: 35px;
+    margin-top: 160px;
     background: $colorMain;
     color: #fff;
     text-align: center;

+ 19 - 12
xinkeaboard-web/components/register/RegisterPhone.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="center">
-    <p style="width: 296px">
+    <p style="width: 100%; text-align: center;">
       {{ L["register"]["我们将向您的手机号发送验证码,该手机号将用作登录用户名"] }}
     </p>
     <div class="item account">
@@ -19,8 +19,9 @@
         <span style="color: #bbb" class="iconfont icon-cuowu"></span>
       </div>
     </div>
-    <div class="error" v-if="phoneErrorMsg">
+    <div class="error">
       <span
+        v-if="phoneErrorMsg"
         style="color: #e1251b; font-size: 14px"
         class="iconfont icon-jubao"
       ></span>
@@ -49,8 +50,9 @@
         </el-button>
       </span>
     </div>
-    <div class="error" v-if="phoneCodeErrorMsg">
+    <div class="error">
       <span
+        v-if="phoneCodeErrorMsg"
         style="color: #e1251b; font-size: 14px"
         class="iconfont icon-jubao"
       ></span>
@@ -245,7 +247,11 @@ const clearInputVal = (type) => {
 </style>
 <style lang="scss" scoped>
 .center {
-  padding: 30px 30px 40px;
+  flex: 1;
+  height: 100%;
+  position: relative;
+  padding: 0 28px;
+  margin-top: 60px;
 
   .item {
     position: relative;
@@ -277,7 +283,7 @@ const clearInputVal = (type) => {
       border: 1px solid #e8e8e8;
       height: 40px;
       padding: 0 44px 0 60px;
-      width: 326px;
+      width: 431px;
     }
 
     &.code {
@@ -313,7 +319,7 @@ const clearInputVal = (type) => {
 
   .verify-code {
     display: flex;
-    width: 326px;
+    width: 431px;
     height: 40px;
     margin-top: 10px;
 
@@ -332,12 +338,13 @@ const clearInputVal = (type) => {
     }
 
     input {
+      flex: 1;
       border: 1px solid #e8e8e8;
       border-left: none;
       border-right: none;
       height: 40px;
       padding: 0 0 0 10px;
-      width: 190px;
+      width: 100%;
     }
 
     &-accept {
@@ -349,22 +356,22 @@ const clearInputVal = (type) => {
       .el-button {
         width: 100%;
         height: 100%;
-        color: #666;
-        background: #f8f8f8;
+        color: #fff;
+        background: $colorMain;
         border-left: none;
         border-radius: 0;
         font-size: 12px;
 
         &:hover {
-          border-color: #e8e8e8;
-          color: $colorMain;
+          // border-color: #e8e8e8;
+          // color: $colorMain;
         }
       }
     }
   }
 
   .submit {
-    margin-top: 35px;
+    margin-top: 160px;
     background: $colorMain;
     color: #fff;
     text-align: center;

+ 65 - 66
xinkeaboard-web/components/register/RegisterSuccess.vue

@@ -1,28 +1,23 @@
 <template>
   <div class="register-success">
     <div class="register-success-content">
-      <div class="register-success-content__icon">
-        <div class="icon-circle">
-          <img src="/register/success.png" />
-        </div>
+      <img src="/register/success.png" />
+      <div class="register-success-title">
+        {{ L["register"]["注册成功"] }}
       </div>
-      <div class="register-success-content__tip">
-        <div class="tip-title">{{ L["register"]["注册成功"] }}</div>
-        <div class="tip-content">
-          {{ L["register"]["您已注册成功, 5s内跳转到登录页"] }}
-        </div>
-        <div class="line"></div>
-        <div class="login-button">
-          <el-button size="large" @click="goLogin">{{
-            L["register"]["立即登录"]
-          }}</el-button>
-        </div>
+      <div class="register-success-tip">
+        <span>{{ L["register"]["您已注册成功"] }}</span>
+        <span>{{ L["register"]["s内跳转到登录页"] }}</span>
+        <span class="register-success-tip__seconds">{{ countDownM }}</span>
+        <span>{{ L["register"]["秒"] }}</span>
       </div>
     </div>
+    <div class="register-success-bottom">
+      <el-button @click="goLogin">{{ L["register"]["立即登录"] }}</el-button>
+    </div>
   </div>
 </template>
 
-
 <script setup>
 import { getCurLanguage } from "@/composables/common.js";
 import { useRouter } from "vue-router";
@@ -30,17 +25,29 @@ import { useRouter } from "vue-router";
 const L = getCurLanguage();
 const router = useRouter();
 
+const countDownM = ref(6);
+const timeOutId = ref(""); //定时器的返回值
+
 const goLogin = () => {
   router.replace({
     path: "/login",
   });
 };
 
-setTimeout(() => {
-  goLogin()
-}, 5000)
-</script>
+//倒计时
+const countDown = () => {
+  countDownM.value--;
+  if (countDownM.value == 0) {
+    clearTimeout(timeOutId.value);
+    goLogin()
+  } else {
+    timeOutId.value = setTimeout(countDown, 1000);
+  }
+};
+
+countDown();
 
+</script>
 
 <style lang="scss" scoped>
 .register-success {
@@ -48,61 +55,53 @@ setTimeout(() => {
   flex-direction: column;
   justify-content: center;
   align-items: center;
-  height: 386px;
+  height: 100%;
   padding: 0 20px;
 
   &-content {
-    width: 240px;
-    height: 150px;
     display: flex;
+    flex-direction: column;
+    justify-content: center;
+    align-items: center;
+    width: 431px;
+    height: 268px;
+    margin-bottom: 100px;
+  }
 
-    &__icon {
-      margin-right: 15px;
-      .icon-circle {
-        display: flex;
-        justify-content: center;
-        align-items: center;
-        width: 40px;
-        height: 40px;
-        border-radius: 100%;
-        background-color: $colorMain;
-
-        img {
-          width: 20px;
-        }
-      }
-    }
-
-    &__tip {
-      display: flex;
-      flex-direction: column;
-
-      .tip-title {
-        font-size: 25px;
-      }
+  img {
+    width: 88px;
+    height: 88px;
+  }
 
-      .tip-content {
-        font-size: 12px;
-        color: #85899e;
-        margin-top: 10px;
-      }
+  &-title {
+    font-weight: bold;
+    font-size: 32px;
+    color: #282e30;
+    margin: 30px 0 20px 0;
+  }
 
-      .line {
-        width: 200px;
-        height: 0px;
-        border: 0.5px solid #dcdfe6;
-        margin: 30px 0;
-      }
+  &-tip {
+    font-weight: 400;
+    font-size: 14px;
+    color: rgba(40, 46, 48, 0.6);
+    text-align: center;
 
-      .login-button {
-        // margin-top: 10px;
+    &__seconds {
+      color: $colorMain
+    }
+  }
 
-        .el-button {
-          background-color: $colorMain;
-          color: #fff;
-        }
-      }
+  &-bottom {
+    width: 100%;
+    :deep(.el-button) {
+      width: 100%;
+      height: 46px;
+      background-color: $colorMain;
+      font-weight: bold;
+      font-size: 20px;
+      color: #ffffff;
+      // margin-top: 100px;
     }
   }
 }
-</style>
+</style>

+ 22 - 13
xinkeaboard-web/components/retrieve/RetrievePassword.vue

@@ -19,8 +19,9 @@
         <span style="color: #bbb" class="iconfont icon-cuowu"></span>
       </div>
     </div>
-    <div class="error" v-if="emailErrorMsg">
+    <div class="error">
       <span
+        v-if="emailErrorMsg"
         style="color: #e1251b; font-size: 14px"
         class="iconfont icon-jubao"
       ></span>
@@ -49,8 +50,9 @@
         </el-button>
       </span>
     </div>
-    <div class="error" v-if="emailCodeErrorMsg">
+    <div class="error">
       <span
+        v-if="emailCodeErrorMsg"
         style="color: #e1251b; font-size: 14px"
         class="iconfont icon-jubao"
       ></span>
@@ -83,8 +85,9 @@
           }"
         ></span>
       </div>
-      <div class="error" v-if="checkPwdErrorMsg">
+      <div class="error">
         <span
+          v-if="checkPwdErrorMsg"
           style="color: #e1251b; font-size: 14px"
           class="iconfont icon-jubao"
         ></span>
@@ -117,8 +120,9 @@
         ></span>
       </div>
     </div>
-    <div class="error" v-if="checkErrorMsg">
+    <div class="error">
       <span
+        v-if="checkErrorMsg"
         style="color: #e1251b; font-size: 14px"
         class="iconfont icon-jubao"
       ></span>
@@ -351,7 +355,11 @@ watch(emailCode, (val) => {
 
 <style lang="scss" scoped>
 .center {
-  padding: 30px 30px 40px;
+  flex: 1;
+  height: 100%;
+  position: relative;
+  padding: 0 28px;
+  margin-top: 60px;
 
   .item {
     position: relative;
@@ -379,7 +387,7 @@ watch(emailCode, (val) => {
         border: 1px solid #e8e8e8;
         height: 40px;
         padding: 0 44px 0 60px;
-        width: 326px;
+        width: 431px;
       }
     }
 
@@ -387,7 +395,7 @@ watch(emailCode, (val) => {
       border: 1px solid #e8e8e8;
       height: 40px;
       padding: 0 44px 0 60px;
-      width: 326px;
+        width: 431px;
     }
 
     &.code {
@@ -409,7 +417,7 @@ watch(emailCode, (val) => {
     :before {
       position: absolute;
       top: 9px;
-      // left: 14px;
+      left: 14px;
     }
   }
 
@@ -423,7 +431,7 @@ watch(emailCode, (val) => {
 
   .verify-code {
     display: flex;
-    width: 326px;
+    width: 431px;
     height: 40px;
     margin-top: 10px;
 
@@ -442,12 +450,13 @@ watch(emailCode, (val) => {
     }
 
     input {
+      flex: 1;
+      width: 100%;
       border: 1px solid #e8e8e8;
       border-left: none;
       border-right: none;
       height: 40px;
       padding: 0 0 0 10px;
-      width: 190px;
     }
 
     &-accept {
@@ -466,15 +475,15 @@ watch(emailCode, (val) => {
         font-size: 12px;
 
         &:hover {
-          border-color: #e8e8e8;
-          color: $colorMain;
+          // border-color: #e8e8e8;
+          // color: $colorMain;
         }
       }
     }
   }
 
   .submit {
-    margin-top: 35px;
+    margin-top: 50px;
     background: $colorMain;
     color: #fff;
     text-align: center;

+ 22 - 12
xinkeaboard-web/components/retrieve/RetrievePwdByPhone.vue

@@ -19,8 +19,9 @@
         <span style="color: #bbb" class="iconfont icon-cuowu"></span>
       </div>
     </div>
-    <div class="error" v-if="mobileErrorMsg">
+    <div class="error">
       <span
+        v-if="mobileErrorMsg"
         style="color: #e1251b; font-size: 14px"
         class="iconfont icon-jubao"
       ></span>
@@ -49,8 +50,9 @@
         </el-button>
       </span>
     </div>
-    <div class="error" v-if="mobileCodeErrorMsg">
+    <div class="error">
       <span
+        v-if="mobileCodeErrorMsg"
         style="color: #e1251b; font-size: 14px"
         class="iconfont icon-jubao"
       ></span>
@@ -83,8 +85,9 @@
           }"
         ></span>
       </div>
-      <div class="error" v-if="checkPwdErrorMsg">
+      <div class="error">
         <span
+          v-if="checkPwdErrorMsg"
           style="color: #e1251b; font-size: 14px"
           class="iconfont icon-jubao"
         ></span>
@@ -117,8 +120,9 @@
         ></span>
       </div>
     </div>
-    <div class="error" v-if="checkErrorMsg">
+    <div class="error">
       <span
+        v-if="checkErrorMsg"
         style="color: #e1251b; font-size: 14px"
         class="iconfont icon-jubao"
       ></span>
@@ -351,7 +355,11 @@ watch(mobileCode, (val) => {
 
 <style lang="scss" scoped>
 .center {
-  padding: 30px 30px 40px;
+  flex: 1;
+  height: 100%;
+  position: relative;
+  padding: 0 28px;
+  margin-top: 60px;
 
   .item {
     position: relative;
@@ -379,7 +387,7 @@ watch(mobileCode, (val) => {
         border: 1px solid #e8e8e8;
         height: 40px;
         padding: 0 44px 0 60px;
-        width: 326px;
+        width: 431px;
       }
     }
 
@@ -387,7 +395,7 @@ watch(mobileCode, (val) => {
       border: 1px solid #e8e8e8;
       height: 40px;
       padding: 0 44px 0 60px;
-      width: 326px;
+      width: 431px;
     }
 
     &.code {
@@ -409,7 +417,7 @@ watch(mobileCode, (val) => {
     :before {
       position: absolute;
       top: 9px;
-      // left: 14px;
+      left: 14px;
     }
   }
 
@@ -423,7 +431,7 @@ watch(mobileCode, (val) => {
 
   .verify-code {
     display: flex;
-    width: 326px;
+    width: 431px;
     height: 40px;
     margin-top: 10px;
 
@@ -442,6 +450,8 @@ watch(mobileCode, (val) => {
     }
 
     input {
+      flex: 1;
+      width: 100%;
       border: 1px solid #e8e8e8;
       border-left: none;
       border-right: none;
@@ -466,15 +476,15 @@ watch(mobileCode, (val) => {
         font-size: 12px;
 
         &:hover {
-          border-color: #e8e8e8;
-          color: $colorMain;
+          // border-color: #e8e8e8;
+          // color: $colorMain;
         }
       }
     }
   }
 
   .submit {
-    margin-top: 35px;
+    margin-top: 50px;
     background: $colorMain;
     color: #fff;
     text-align: center;

+ 69 - 69
xinkeaboard-web/components/retrieve/RetrieveSuccess.vue

@@ -1,28 +1,23 @@
 <template>
-  <div class="retrieve-success">
-    <div class="retrieve-success-content">
-      <div class="retrieve-success-content__icon">
-        <div class="icon-circle">
-          <img src="/register/success.png" />
-        </div>
+  <div class="register-success">
+    <div class="register-success-content">
+      <img src="/register/success.png" />
+      <div class="register-success-title">
+        {{ L["register"]["重置成功"] }}
       </div>
-      <div class="retrieve-success-content__tip">
-        <div class="tip-title">{{ L["register"]["重置成功"] }}</div>
-        <div class="tip-content">
-          {{ L["register"]["密码重置成功, 5s内跳转至登录页"] }}
-        </div>
-        <div class="line"></div>
-        <div class="login-button">
-          <el-button size="large" @click="goLogin">{{
-            L["register"]["立即登录"]
-          }}</el-button>
-        </div>
+      <div class="register-success-tip">
+        <span>{{ L["register"]["重置成功"] }}</span>
+        <span>{{ L["register"]["s内跳转到登录页"] }}</span>
+        <span class="register-success-tip__seconds">{{ countDownM }}</span>
+        <span>{{ L["register"]["秒"] }}</span>
       </div>
     </div>
+    <div class="register-success-bottom">
+      <el-button @click="goLogin">{{ L["register"]["立即登录"] }}</el-button>
+    </div>
   </div>
 </template>
 
-
 <script setup>
 import { getCurLanguage } from "@/composables/common.js";
 import { useRouter } from "vue-router";
@@ -30,79 +25,84 @@ import { useRouter } from "vue-router";
 const L = getCurLanguage();
 const router = useRouter();
 
+const countDownM = ref(6);
+const timeOutId = ref(""); //定时器的返回值
+
 const goLogin = () => {
   router.replace({
     path: "/login",
   });
 };
 
-setTimeout(() => {
-  goLogin()
-}, 5000)
-</script>
+//倒计时
+const countDown = () => {
+  countDownM.value--;
+  if (countDownM.value == 0) {
+    clearTimeout(timeOutId.value);
+    goLogin()
+  } else {
+    timeOutId.value = setTimeout(countDown, 1000);
+  }
+};
+
+countDown();
 
+</script>
 
 <style lang="scss" scoped>
-.retrieve-success {
+.register-success {
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
-  height: 386px;
+  height: 100%;
   padding: 0 20px;
 
   &-content {
-    width: 240px;
-    height: 150px;
     display: flex;
+    flex-direction: column;
+    justify-content: center;
+    align-items: center;
+    width: 431px;
+    height: 268px;
+    margin-bottom: 100px;
+  }
 
-    &__icon {
-      margin-right: 15px;
-      .icon-circle {
-        display: flex;
-        justify-content: center;
-        align-items: center;
-        width: 40px;
-        height: 40px;
-        border-radius: 100%;
-        background-color: $colorMain;
-
-        img {
-          width: 20px;
-        }
-      }
-    }
-
-    &__tip {
-      display: flex;
-      flex-direction: column;
-
-      .tip-title {
-        font-size: 25px;
-      }
+  img {
+    width: 88px;
+    height: 88px;
+  }
 
-      .tip-content {
-        font-size: 12px;
-        color: #85899e;
-        margin-top: 10px;
-      }
+  &-title {
+    font-weight: bold;
+    font-size: 32px;
+    color: #282e30;
+    margin: 30px 0 20px 0;
+  }
 
-      .line {
-        width: 200px;
-        height: 0px;
-        border: 0.5px solid #dcdfe6;
-        margin: 30px 0;
-      }
+  &-tip {
+    width: 80%;
+    font-weight: 400;
+    font-size: 14px;
+    color: rgba(40, 46, 48, 0.6);
+    text-align: center;
 
-      .login-button {
-        // margin-top: 10px;
+    &__seconds {
+      color: $colorMain
+    }
+  }
 
-        .el-button {
-          background-color: $colorMain;
-          color: #fff;
-        }
-      }
+  &-bottom {
+    width: 100%;
+    :deep(.el-button) {
+      width: 100%;
+      height: 46px;
+      background-color: $colorMain;
+      font-weight: bold;
+      font-size: 20px;
+      color: #ffffff;
+      // margin-top: 100px;
     }
   }
 }
-</style>
+</style>

+ 1 - 0
xinkeaboard-web/nuxt.config.ts

@@ -17,6 +17,7 @@ export default defineNuxtConfig({
   css: [
     "@/assets/style/variable.scss",
     "@/assets/style/reset.scss",
+    appType === 'user' ? "@/assets/style/base-en.scss" : '@/assets/style/base-zh.scss',
     "@/assets/style/base.scss",
     "@/assets/iconfont/iconfont.css",
     // "element-plus/dist/index.css",

+ 11 - 5
xinkeaboard-web/pages/login.vue

@@ -43,11 +43,12 @@
               flex_row_between_center: wxEnable == 0,
               flex_row_end_center: wxEnable != 0,
             }"
+            style="padding: 0 30px;"
           >
             <a class="a_link" href="javascript:void(0)" @click="goToPage('/register')">{{
               L["立即注册"]
             }}</a>
-            <router-link class="a_link" tag="a" :to="`/member/login/forget`">{{
+            <router-link class="a_link" tag="a" :to="`/member/login/forget`" style="margin-right: 0px">{{
               L["忘记密码"]
             }}</router-link>
           </div>
@@ -178,7 +179,12 @@ onMounted(() => {
 <style lang="scss" scoped>
 @import "@/assets/style/register.scss";
 :deep(.center) {
-  padding: 30px 30px 40px;
+  flex: 1;
+  height: 100%;
+  position: relative;
+  padding: 0 28px;
+  margin-top: 60px;
+  // padding: 30px 30px 40px;
 
   .item {
     position: relative;
@@ -202,7 +208,7 @@ onMounted(() => {
         border: 1px solid #e8e8e8;
         height: 40px;
         padding: 0 44px 0 60px;
-        width: 326px;
+        width: 431px;
       }
     }
 
@@ -210,7 +216,7 @@ onMounted(() => {
       border: 1px solid #e8e8e8;
       height: 40px;
       padding: 0 44px 0 60px;
-      width: 326px;
+      width: 431px;
     }
 
     input::placeholder {
@@ -264,7 +270,7 @@ onMounted(() => {
   }
 
   .submit {
-    margin-top: 35px;
+    margin-top: 180px;
     background: $colorMain;
     font-weight: bold;
     font-size: 20px;

+ 1 - 1
xinkeaboard-web/pages/register.vue

@@ -32,7 +32,7 @@
       />
       <div class="login">
         <div class="login_box">
-          <div class="top">
+          <div class="top" v-if="currentStep !== 'finish'">
             <div class="item1">{{ title }}</div>
           </div>
           <RegisterPhone v-if="currentStep === 'first' && appType === 'distributor'" @success="(val) => { currentStep = 'second'; mobile = val  }" />

+ 1 - 1
xinkeaboard-web/pages/store/[id].vue

@@ -209,7 +209,7 @@ onMounted(()=>{
 
   .floor_title {
     // margin-bottom: 0 !important;
-    width: 1210px;
+    width: 1440px;
     margin: 0 auto !important;
   }
 

BIN
xinkeaboard-web/public/register/success.png