瀏覽代碼

feat:支持邮箱注册,以及修改资源地址

jinx 4 年之前
父節點
當前提交
b2cd0e9223
共有 37 個文件被更改,包括 364 次插入185 次删除
  1. 1 1
      pc/build/webpack.base.conf.js
  2. 2 2
      pc/build/webpack.dev.conf.js
  3. 2 2
      pc/src/App.vue
  4. 二進制
      pc/src/assets/images/cluse-long1v2.jpg
  5. 二進制
      pc/src/assets/images/icon-cloud.png
  6. 1 1
      pc/src/components/citySelect/index.vue
  7. 2 2
      pc/src/components/compare/index.vue
  8. 1 1
      pc/src/components/dev/components/News.vue
  9. 6 6
      pc/src/components/tablePaging/index.vue
  10. 1 1
      pc/src/components/toast/extendtoast.vue
  11. 1 1
      pc/src/components/toast/toast.js
  12. 27 27
      pc/src/lang/en/modules/login.js
  13. 4 3
      pc/src/lang/zh/modules/login.js
  14. 1 1
      pc/src/main.js
  15. 1 1
      pc/src/page/about/mstyle.scss
  16. 1 1
      pc/src/page/about/style.scss
  17. 7 7
      pc/src/page/binocular/style.scss
  18. 1 1
      pc/src/page/capacity/index.vue
  19. 8 8
      pc/src/page/eight/style.scss
  20. 1 1
      pc/src/page/home/style.scss
  21. 1 1
      pc/src/page/introduce/style.scss
  22. 1 1
      pc/src/page/introtow/style.scss
  23. 1 1
      pc/src/page/layout/aside/temp/ctemp/detail.scss
  24. 2 2
      pc/src/page/layout/aside/temp/ctemp/list.vue
  25. 5 5
      pc/src/page/layout/header/index.vue
  26. 1 1
      pc/src/page/layout/shopHeader/index.vue
  27. 55 55
      pc/src/page/login/components/login.vue
  28. 11 11
      pc/src/page/login/components/register/index.vue
  29. 176 11
      pc/src/page/login/index.vue
  30. 1 1
      pc/src/page/manage/style.scss
  31. 1 1
      pc/src/page/manage/temp/scene.vue
  32. 1 1
      pc/src/page/purchasetow/style.scss
  33. 1 1
      pc/src/page/purchasezhijia/style.scss
  34. 1 1
      pc/src/page/service/temp/app.vue
  35. 1 1
      pc/src/page/zhijia/style.scss
  36. 4 3
      pc/src/store/language/cn/manage.js
  37. 33 21
      pc/src/store/language/en/manage.js

+ 1 - 1
pc/build/webpack.base.conf.js

@@ -60,7 +60,7 @@ module.exports = {
         options: {
           limit: 10000,
           name: utils.assetsPath('v2/images/[path][name].[ext]'),
-          publicPath: isProd ? 'https://4dscene.4dage.com/new4dkk/' : ''
+          publicPath: isProd ? 'https://testusaoss.4dkankan.com/new4dkk/' : ''
         }
       },
       {

+ 2 - 2
pc/build/webpack.dev.conf.js

@@ -48,8 +48,8 @@ const devWebpackConfig = merge(baseWebpackConfig, {
     proxy: {
       '/api': {
         // target: 'https://test.4dkankan.com',
-        // target: 'https://testusa.4dkankan.com',
-        target: 'http://192.168.0.50:8080',
+        target: 'https://testusa.4dkankan.com',
+        // target: 'http://192.168.0.50:8080',
         changeOrigin: true
       },
       '/www': {

+ 2 - 2
pc/src/App.vue

@@ -1,6 +1,6 @@
 <template>
-  <!-- <div id="app" :style="{transform:scale!==1 && gre150? `scale(${scale})`:'none','paddingTop':deviceLogin?'0px':'80px'}"> -->
-  <div id="app">
+  <div id="app" :style="{transform:scale!==1 && gre150? `scale(${scale})`:'none','paddingTop':deviceLogin?'0px':'80px'}">
+  <!-- <div id="app"> -->
     <router-view />
   </div>
 </template>

二進制
pc/src/assets/images/cluse-long1v2.jpg


二進制
pc/src/assets/images/icon-cloud.png


+ 1 - 1
pc/src/components/citySelect/index.vue

@@ -92,7 +92,7 @@ export default {
     outline: none;
     appearance: none;
     border: solid 1px #e7e7e7;
-    background: url('//4dscene.4dage.com/new4dkk/images/myAccount_selectOpen.png') no-repeat white;
+    background: url('//testusaoss.4dkankan.com/new4dkk/images/myAccount_selectOpen.png') no-repeat white;
     background-size: 6%;
     background-position: 95% 50%;
     width: 200px;

+ 2 - 2
pc/src/components/compare/index.vue

@@ -170,7 +170,7 @@ export default {
   .overlap .l-move::before {
     width: 40px;
     z-index: 15;
-    background: url(https://4dscene.4dage.com/new4dkk/images/border-linear.png) left top no-repeat;
+    background: url(https://testusaoss.4dkankan.com/new4dkk/images/border-linear.png) left top no-repeat;
   }
   /* .overlap .r-move::before {
     width: 0;
@@ -184,7 +184,7 @@ export default {
     top: 0;
     width: 40px;
     z-index: 15;
-    background: url(https://4dscene.4dage.com/new4dkk/images/border-linear-r.png) right top no-repeat;
+    background: url(https://testusaoss.4dkankan.com/new4dkk/images/border-linear-r.png) right top no-repeat;
   }
 
   .c-video{

+ 1 - 1
pc/src/components/dev/components/News.vue

@@ -102,7 +102,7 @@ export default {
         loadNews () {
             let urlMap = {
                 zh: '@/../common/data/news.json',
-                en: 'https://4dscene.4dage.com/new4dkk/news-en.json'
+                en: 'https://testusaoss.4dkankan.com/new4dkk/news-en.json'
             }
             http.get(`../dev/news/${this.curr}`).then(res => {
                 console.log(res)

+ 6 - 6
pc/src/components/tablePaging/index.vue

@@ -123,13 +123,13 @@ export default {
     height: 20px;
     margin-right: 22px;
     cursor: pointer;
-    background-image: url(https://4dscene.4dage.com/new4dkk/images/btn_leftArrow_normal.png);
-    background-image: image-set(url(https://4dscene.4dage.com/new4dkk/images/btn_leftArrow_normal.png) 1x);
+    background-image: url(https://testusaoss.4dkankan.com/new4dkk/images/btn_leftArrow_normal.png);
+    background-image: image-set(url(https://testusaoss.4dkankan.com/new4dkk/images/btn_leftArrow_normal.png) 1x);
     background-repeat: no-repeat;
     background-position: 0 2px;
     // &:hover{
-    // background-image: url(https://4dscene.4dage.com/new4dkk/images/btn_leftArrow_hover.png);
-    // background-image: image-set(url(https://4dscene.4dage.com/new4dkk/images/btn_leftArrow_hover.png) 1x);
+    // background-image: url(https://testusaoss.4dkankan.com/new4dkk/images/btn_leftArrow_hover.png);
+    // background-image: image-set(url(https://testusaoss.4dkankan.com/new4dkk/images/btn_leftArrow_hover.png) 1x);
     // }
   }
   .page-current{
@@ -159,8 +159,8 @@ export default {
     height: 20px;
     margin-left: 22px;
     cursor: pointer;
-    background-image: url(https://4dscene.4dage.com/new4dkk/images/btn_rightArrow_normal.png);
-    background-image: image-set(url(https://4dscene.4dage.com/new4dkk/images/btn_rightArrow_normal.png) 1x);
+    background-image: url(https://testusaoss.4dkankan.com/new4dkk/images/btn_rightArrow_normal.png);
+    background-image: image-set(url(https://testusaoss.4dkankan.com/new4dkk/images/btn_rightArrow_normal.png) 1x);
     background-repeat: no-repeat;
     background-position: 0 2px;
   }

+ 1 - 1
pc/src/components/toast/extendtoast.vue

@@ -4,7 +4,7 @@
 
 <script>
 import Toast from './index.vue'
-let baseUrl = process.env.IS_INTERNATIONAL ? '/' : 'https://4dscene.4dage.com/new4dkk/'
+let baseUrl = process.env.IS_INTERNATIONAL ? '/' : 'https://testusaoss.4dkankan.com/new4dkk/'
 
 let imgs = {
   success: baseUrl + 'images/icon/success.png',

+ 1 - 1
pc/src/components/toast/toast.js

@@ -1,6 +1,6 @@
 import ToastComponent from './index.vue'
 const Toast = {}
-let baseUrl = 'https://4dscene.4dage.com/new4dkk/'
+let baseUrl = 'https://testusaoss.4dkankan.com/new4dkk/'
 // 注册Toast
 Toast.install = function (Vue) {
   // 生成一个Vue的子类

+ 27 - 27
pc/src/lang/en/modules/login.js

@@ -1,28 +1,28 @@
 module.exports = {
-    "login": "Log In",
-    "register": "Register",
-    "userLogin": "User Login",
-    "cameraLogin": "Camera Login",
-    "codeLogin": "Verification Code Login",
-    "passwordLogin": "Password Login",
-    "phonePlaceholder": "Phone Number",
-    "passwordPlaceholder": "Enter Password",
-    "codePlaceholder": "Verification Code",
-    "sendCodeBtnText": "Verification Code",
-    "rememberPassword": "Remember Password",
-    "forgetPassword": "Forgot Password",
-    "registerAccount": "Sign Up",
-    "cameraLoginTip": "Scan the QR-Code to log in with the 4DKanKan App",
-    "kankanAccountRegister": "Sign in",
-    "setPassword": "Set your password",
-    "rePassword": "Enter password again",
-    "cluse": "I have read 《4DKanKan User Agreement》",
-    "findPassword": "Password Reset",
-    "emailPlaceholder": "Please enter your email address",
-    "hasAccount": "Already had an account, ",
-    "zhijieLogin": "Log in Now",
-    "resendTime": "{time}s resend",
-    "passwordTip": "English case and numbers (8-16 characters)",
-    "currentEmailTip": "Please enter a correct Email address",
-    "agreeXieyi": "Please read and agree to the user agreement"
-}
+  'login': 'Log In',
+  'register': 'Register',
+  'userLogin': 'User Login',
+  'cameraLogin': 'Camera Login',
+  'codeLogin': 'Verification Code Login',
+  'passwordLogin': 'Password Login',
+  'phonePlaceholder': 'Phone Number',
+  'passwordPlaceholder': 'Enter Password',
+  'codePlaceholder': 'Verification Code',
+  'sendCodeBtnText': 'Verification Code',
+  'rememberPassword': 'Remember Password',
+  'forgetPassword': 'Forgot Password',
+  'registerAccount': 'Sign Up',
+  'cameraLoginTip': 'Scan the QR-Code to log in with the 4DKanKan App',
+  'kankanAccountRegister': 'Sign in',
+  'setPassword': 'Set your password',
+  'rePassword': 'Enter password again',
+  'cluse': 'I have read 《4DKanKan User Agreement》',
+  'findPassword': 'Password Reset',
+  'emailPlaceholder': 'Please enter your email address or Phone Number',
+  'hasAccount': 'Already had an account, ',
+  'zhijieLogin': 'Log in Now',
+  'resendTime': '{time}s resend',
+  'passwordTip': 'English case and numbers (8-16 characters)',
+  'currentEmailTip': 'Please enter a correct Email address',
+  'agreeXieyi': 'Please read and agree to the user agreement'
+}

+ 4 - 3
pc/src/lang/zh/modules/login.js

@@ -18,11 +18,12 @@ module.exports = {
   rePassword: '重复密码',
   cluse: '我已阅读并同意《四维看看用户协议》',
   findPassword: '找回密码',
-  emailPlaceholder: '请输入邮箱地址',
+  // emailPlaceholder: '请输入邮箱地址',
+  emailPlaceholder: '请输入邮箱地址或者手机号码',
   hasAccount: '已有账号,',
   zhijieLogin: '直接登录',
   resendTime: '{time}s后重新发送',
   passwordTip: '密码必须包含英文大小写、数字、长度8-16个字符',
   currentEmailTip: '请填写正确的邮箱',
-  agreeXieyi: '请阅读并同意四维看看用户协议',
-}
+  agreeXieyi: '请阅读并同意四维看看用户协议'
+}

+ 1 - 1
pc/src/main.js

@@ -8,7 +8,7 @@ import { i18n } from './lang'
 import './register-components'
 // import axios from './util/http.js'
 // import router from './router'
-Vue.prototype.$cdn = process.env.IS_INTERNATIONAL ? 'https://4dscene.4dage.com/new4dkk/' : 'https://4dscene.4dage.com/new4dkk/'
+Vue.prototype.$cdn = process.env.IS_INTERNATIONAL ? 'https://testusaoss.4dkankan.com/new4dkk/' : 'https://testusaoss.4dkankan.com/new4dkk/'
 
 Vue.use(vuex)
 Vue.use(Toast)

+ 1 - 1
pc/src/page/about/mstyle.scss

@@ -57,7 +57,7 @@
       }
       h3::before {
         content: "";
-        background: url(https://4dscene.4dage.com/new4dkk/images/cicle.png) center no-repeat;
+        background: url(https://testusaoss.4dkankan.com/new4dkk/images/cicle.png) center no-repeat;
         z-index: 1000;
         display: inline-block;
         width: 12px;

+ 1 - 1
pc/src/page/about/style.scss

@@ -154,7 +154,7 @@ $txt_delay: 0.2s;
         }
         h3::before {
           content: "";
-          background: url(https://4dscene.4dage.com/new4dkk/images/cicle.png) center no-repeat;
+          background: url(https://testusaoss.4dkankan.com/new4dkk/images/cicle.png) center no-repeat;
           z-index: 1000;
           display: inline-block;
           width: 18px;

+ 7 - 7
pc/src/page/binocular/style.scss

@@ -9,7 +9,7 @@ $txt_delay: 0.2s;
 }
 .product-layout {
   overflow: hidden;
-  // background: url("https://4dscene.4dage.com/new4dkk/images/background.jpg") top -135px center no-repeat;
+  // background: url("https://testusaoss.4dkankan.com/new4dkk/images/background.jpg") top -135px center no-repeat;
 }
 
 .btns{
@@ -202,12 +202,12 @@ $txt_delay: 0.2s;
         font-weight: 600;
       }
       .apple {
-        background: url("https://4dscene.4dage.com/new4dkk/images/apple.png")
+        background: url("https://testusaoss.4dkankan.com/new4dkk/images/apple.png")
           #4d4d4d left 30px center no-repeat;
         background-size: 32px auto;
       }
       .android {
-        background: url("https://4dscene.4dage.com/new4dkk/images/android.png")
+        background: url("https://testusaoss.4dkankan.com/new4dkk/images/android.png")
           #2fd36a left 30px center no-repeat;
         background-size: 32px auto;
       }
@@ -245,7 +245,7 @@ $txt_delay: 0.2s;
   overflow: hidden;
   position: relative;
   padding: 150px 0 30px;
-  background: url("https://4dscene.4dage.com/new4dkk/images/linear_bg.png")
+  background: url("https://testusaoss.4dkankan.com/new4dkk/images/linear_bg.png")
     #010101 top center no-repeat;
   background-size: 100% auto;
   // background:linear-gradient(
@@ -291,7 +291,7 @@ $txt_delay: 0.2s;
     align-items: center;
     margin: 23px auto 60px;
     height: 700px;
-    background: url("https://4dscene.4dage.com/new4dkk/images/fk_wangge.png")
+    background: url("https://testusaoss.4dkankan.com/new4dkk/images/fk_wangge.png")
       left -400px top no-repeat;
     background-size: 100%;
 
@@ -520,7 +520,7 @@ $txt_delay: 0.2s;
       width: 75vw;
       margin: -20px auto 0;
       height: 42vw;
-      background-image: url("https://4dscene.4dage.com/new4dkk/images/boomImg.png");
+      background-image: url("https://testusaoss.4dkankan.com/new4dkk/images/boomImg.png");
       background-repeat: no-repeat;
       background-position: 0% 0px;
       background-size: cover;
@@ -631,7 +631,7 @@ $txt_delay: 0.2s;
     margin-top: 60px;
     .button {
       padding: 0 98px;
-      // background: url('https://4dscene.4dage.com/new4dkk/images/product_icon_arrow.png') #1fe4dc center left 30% no-repeat;
+      // background: url('https://testusaoss.4dkankan.com/new4dkk/images/product_icon_arrow.png') #1fe4dc center left 30% no-repeat;
       margin-left: 8px;
     }
   }

+ 1 - 1
pc/src/page/capacity/index.vue

@@ -54,7 +54,7 @@ export default {
 
 <style lang="scss" scoped>
 .capatity-layout{
-    background: url(https://4dscene.4dage.com/new4dkk/images/person-bg.png) #eee no-repeat top center;
+    background: url(https://testusaoss.4dkankan.com/new4dkk/images/person-bg.png) #eee no-repeat top center;
     background-size: 100% 400px;
     .capatity-con{
       width: 1100px;

+ 8 - 8
pc/src/page/eight/style.scss

@@ -208,11 +208,11 @@ $num_time: 0.6s;
         font-weight: 600;
       }
       .apple{
-        background: url(https://4dscene.4dage.com/new4dkk/images/apple.png) #4d4d4d left 30px center no-repeat;
+        background: url(https://testusaoss.4dkankan.com/new4dkk/images/apple.png) #4d4d4d left 30px center no-repeat;
         background-size: 32px auto;
       }
       .android{
-        background: url(https://4dscene.4dage.com/new4dkk/images/android.png) #2fd36a left 30px center no-repeat;
+        background: url(https://testusaoss.4dkankan.com/new4dkk/images/android.png) #2fd36a left 30px center no-repeat;
         background-size: 32px auto;
       }
     }
@@ -335,7 +335,7 @@ $num_time: 0.6s;
         width: 57.5vw;
         height: 20vw;
         margin-left: 280px;
-        background-image: url(https://4dscene.4dage.com/new4dkk/images/xinpian.png);
+        background-image: url(https://testusaoss.4dkankan.com/new4dkk/images/xinpian.png);
         background-repeat: no-repeat;
         background-position: 0% 0px;
         background-size: cover;
@@ -407,7 +407,7 @@ $num_time: 0.6s;
 
 .plate05{
   padding: 155px 0 0;
-  background: url(https://4dscene.4dage.com/new4dkk/images/lin-bg.png) #060606 top center no-repeat;
+  background: url(https://testusaoss.4dkankan.com/new4dkk/images/lin-bg.png) #060606 top center no-repeat;
   background-size: 100% auto;
   // .num-lighting{
   //   height: 0;
@@ -511,13 +511,13 @@ $num_time: 0.6s;
     .qxd-4{
       margin-top: 40px;
       padding: 144px 0 172px;
-      background: url(https://4dscene.4dage.com/new4dkk/images/battery-bg.png) top center no-repeat;
+      background: url(https://testusaoss.4dkankan.com/new4dkk/images/battery-bg.png) top center no-repeat;
       .qxd-4-battery{
         margin: 0 auto;
         width: 679px;
         height: 131px;
         position: relative;
-        background: url(https://4dscene.4dage.com/new4dkk/images/battery-right.png) top center no-repeat;
+        background: url(https://testusaoss.4dkankan.com/new4dkk/images/battery-right.png) top center no-repeat;
         .b-l{
           $skew_num:25deg;
           $position:23px;
@@ -576,7 +576,7 @@ $num_time: 0.6s;
         .lighting{
           width: 80px;
           height: 130px;
-          background-image: url(https://4dscene.4dage.com/new4dkk/images/lighting.png);
+          background-image: url(https://testusaoss.4dkankan.com/new4dkk/images/lighting.png);
           background-repeat: no-repeat;
           background-position: 0% 0px;
           background-size: cover;
@@ -624,7 +624,7 @@ $num_time: 0.6s;
       width: 75vw;
       margin: 0 auto;
       height: 42vw;
-      background-image: url("https://4dscene.4dage.com/new4dkk/images/boomImg8-1.png");
+      background-image: url("https://testusaoss.4dkankan.com/new4dkk/images/boomImg8-1.png");
       background-repeat: no-repeat;
       background-position: 0% 0px;
       background-size: cover;

+ 1 - 1
pc/src/page/home/style.scss

@@ -243,7 +243,7 @@
           padding-right: 30px;
           padding-top: 10px;
           display: inline-block;
-          background: url(https://4dscene.4dage.com/new4dkk/images/index_icon_record_arrow.png) no-repeat top right;
+          background: url(https://testusaoss.4dkankan.com/new4dkk/images/index_icon_record_arrow.png) no-repeat top right;
         }
 
         p {

+ 1 - 1
pc/src/page/introduce/style.scss

@@ -41,7 +41,7 @@
   }
 
   .introduce-bg{
-    background: url(https://4dscene.4dage.com/new4dkk/images/person-bg.png) no-repeat top center;
+    background: url(https://testusaoss.4dkankan.com/new4dkk/images/person-bg.png) no-repeat top center;
     background-size: cover;
     .introduce-con{
       padding: 30px 0;

+ 1 - 1
pc/src/page/introtow/style.scss

@@ -3,7 +3,7 @@
   $theme-color:#1fe4dc;
 
   .introduce-bg{
-    background: url(https://4dscene.4dage.com/new4dkk/images/person-bg.png) no-repeat top center;
+    background: url(https://testusaoss.4dkankan.com/new4dkk/images/person-bg.png) no-repeat top center;
     background-size: cover;
     .introduce-con{
       padding: 30px 0;

+ 1 - 1
pc/src/page/layout/aside/temp/ctemp/detail.scss

@@ -352,7 +352,7 @@ input {
           border: 1px solid #e7e7e7;
         }
         .fobid{
-          cursor: url(https://4dscene.4dage.com/new4dkk/images/forbid.png),auto;
+          cursor: url(https://testusaoss.4dkankan.com/new4dkk/images/forbid.png),auto;
           color: #ccc;
           background-color: #f7f8fa;
           border-color: #e6e7eb;

+ 2 - 2
pc/src/page/layout/aside/temp/ctemp/list.vue

@@ -357,7 +357,7 @@ $border-color: #e7e7e7;
             border: 1px solid #e7e7e7;
           }
           .fobid {
-            cursor: url(https://4dscene.4dage.com/new4dkk/images/forbid.png), auto;
+            cursor: url(https://testusaoss.4dkankan.com/new4dkk/images/forbid.png), auto;
             color: #ccc;
             background-color: #f7f8fa;
             border-color: #e6e7eb;
@@ -467,7 +467,7 @@ $border-color: #e7e7e7;
           border: 1px solid #e7e7e7;
         }
         .fobid{
-          cursor: url(https://4dscene.4dage.com/new4dkk/images/forbid.png),auto;
+          cursor: url(https://testusaoss.4dkankan.com/new4dkk/images/forbid.png),auto;
           color: #ccc;
           background-color: #f7f8fa;
           border-color: #e6e7eb;

+ 5 - 5
pc/src/page/layout/header/index.vue

@@ -8,7 +8,7 @@
           </vcenter>
         <!-- </router-link> -->
       </div>
-      <!-- <div class="menu">
+      <div class="menu">
         <div
           class="list"
           ref="list"
@@ -39,11 +39,11 @@
                 <li v-for="item in languageList" :key="item.name" :style="{'background-image': `url(${item.img})`}" @click="changeLanguage(item.value)">{{ item.name }}</li>
               </ul>
             </a>
-          </div> -->
+          </div>
           <!-- <span class="language en" :class="{'is-active': language === 'en'}" @click="changeLanguage('en')">EN</span>
           <span class="language" :class="{'is-active': language !== 'en'}" @click="changeLanguage('zh')">中</span> -->
-        <!-- </div> -->
-        <!-- <div class="loginAndRegis"  v-if="!isLogin"><span @click="$router.push('/login/login')">{{$t('login.login')}}</span>|<span @click="$router.push('/login/register')">{{$t('login.register')}}</span></div>
+        </div>
+        <div class="loginAndRegis"  v-if="!isLogin"><span @click="$router.push('/login/login')">{{$t('login.login')}}</span>|<span @click="$router.push('/login/register')">{{$t('login.register')}}</span></div>
         <div v-else class="user-w">
           <div class="user avatar" v-if="info.head"  :style="{'background-image': `url(${info.head})`}" @click="$router.push('/information')"></div>
           <div class="list">
@@ -58,7 +58,7 @@
         <div class="cart" @click="handleCartClick" v-if="isLogin">
           <h-icon type="xingouwuche" class="icon" />
           <span v-if="cartCount">{{cartCount}}</span>
-        </div> -->
+        </div>
       </div>
     </div>
   </div>

+ 1 - 1
pc/src/page/layout/shopHeader/index.vue

@@ -4,7 +4,7 @@
       <div class="logo-layout">
         <!-- <router-link :to="{name: 'home'}" class="logo"> -->
           <vcenter>
-            <img :src=" require('@/assets/images/home/logo.png')" alt>
+            <img src="https://testusaoss.4dkankan.com/new4dkk/images/logo.png" alt>
           </vcenter>
         <!-- </router-link> -->
       </div>

+ 55 - 55
pc/src/page/login/components/login.vue

@@ -4,13 +4,14 @@
       <div class="login-tab" :class="{'is-active': !type || type === 'codeLogin'}" @click="toOtherLogin('')">{{$t('login.userLogin')}}</div><div class="login-tab" :class="{'is-active': type==='camera'}" @click="toOtherLogin('camera')">{{$t('login.cameraLogin')}}</div>
     </div>
     <div class="account-login" v-if="!type">
-      <input type="text" v-if="!isInternational" oninput="value=value.replace(/[^\d]/g,'')" maxlength="11" class="input" :placeholder="isInternational? $t('login.emailPlaceholder') : $t('login.phonePlaceholder')" v-model="form.phone">
-      <input type="text" v-else class="input" :placeholder="isInternational? $t('login.emailPlaceholder') : $t('login.phonePlaceholder')" v-model="form.phone">
+      <!-- <input type="text" v-if="!isInternational" oninput="value=value.replace(/[^\d]/g,'')" maxlength="11" class="input" :placeholder="isInternational? $t('login.emailPlaceholder') : $t('login.phonePlaceholder')" v-model="form.phone"> -->
+      <!-- <input type="text" v-else class="input" :placeholder="isInternational? $t('login.emailPlaceholder') : $t('login.phonePlaceholder')" v-model="form.phone"> -->
+      <input type="text" class="input" :placeholder="$t('login.emailPlaceholder')" v-model="form.phone">
       <div class="password-w">
         <input maxLength="16" :type="showPassword ? 'test' : 'password'" class="input password" :placeholder="$t('login.passwordPlaceholder')" v-model="form.password" @keyup.enter="login">
         <h-icon :type="showPassword ? 'mimakejian' : 'mimabukejian'" class="password-visible" @click="showPassword=!showPassword" />
       </div>
-      
+
       <div class="toCodeLogin tips-tap" >
         <!-- <a @click="$router.push({name: 'login', query: {type: 'codeLogin'}})">{{$t('login.codeLogin')}}</a> -->
       </div>
@@ -74,62 +75,61 @@ export default {
     },
     async login () {
       let check = value => {
-          for (let i = 0, len = value.length; i < len; i++) {
-            if (!value[i].val) {
-              this.$toast.show('warn', (this.language === 'en' ? value[i].En : value[i].name) + this.langToast['7'])
-              return 
-            }
-          }
-          return true
-        }
-        let checkStr = [
-          {
-            name: this.isInternational ? '邮箱' : '手机',
-            En: this.isInternational ? 'E-mail' :'Phone number',
-            val: this.form.phone
-          },
-          {
-            name: '密码',
-            En: 'Password',
-            val: this.form.password
+        for (let i = 0, len = value.length; i < len; i++) {
+          if (!value[i].val) {
+            this.$toast.show('warn', (this.language === 'en' ? value[i].En : value[i].name) + this.langToast['7'])
+            return
           }
-        ]
-        if (!check(checkStr)) {
-          return
         }
-        localStorage.setItem('remember', this.rememberMe)
-        if (this.rememberMe) {
-          localStorage.setItem('username', this.form.phone)
-          localStorage.setItem('password', this.form.password)
-        } else {
-          localStorage.setItem('username', '')
-          localStorage.setItem('password', '')
+        return true
+      }
+      let checkStr = [
+        {
+          name: this.isInternational ? '邮箱' : '手机',
+          En: this.isInternational ? 'E-mail' : 'Phone number',
+          val: this.form.phone
+        },
+        {
+          name: '密码',
+          En: 'Password',
+          val: this.form.password
         }
+      ]
+      if (!check(checkStr)) {
+        return
+      }
+      localStorage.setItem('remember', this.rememberMe)
+      if (this.rememberMe) {
+        localStorage.setItem('username', this.form.phone)
+        localStorage.setItem('password', this.form.password)
+      } else {
+        localStorage.setItem('username', '')
+        localStorage.setItem('password', '')
+      }
 
-        let params = {
-          phoneNum: this.form.phone,
-          password: encodeStr(Base64.encode(this.form.password)),
-          randomcode: '1234',
-          rememberMe: Boolean(this.rememberMe)
+      let params = {
+        phoneNum: this.form.phone,
+        password: encodeStr(Base64.encode(this.form.password)),
+        randomcode: '1234',
+        rememberMe: Boolean(this.rememberMe)
+      }
+      try {
+        let res = await this.$store.dispatch('login', params)
+        if (!res) {
+          return
         }
-        try {
-          let res = await this.$store.dispatch('login', params)
-          if (!res) {
-            return
-          }
-          const from = this.$route.query.from
-          // if (from) {
-          //   this.$router.push(from)
-          // } else {
-          //   this.$router.push('/information')
-          // }
-          this.$router.push('/information')
-        } catch (err) {
+        const from = this.$route.query.from
+        // if (from) {
+        //   this.$router.push(from)
+        // } else {
+        //   this.$router.push('/information')
+        // }
+        this.$router.push('/information')
+      } catch (err) {
 
-        }
-        
+      }
     }
-  }  
+  }
 }
 
 </script>
@@ -178,7 +178,7 @@ export default {
   }
 }
 .password {
-  
+
 }
 .toCodeLogin {
   text-align: right;
@@ -191,7 +191,7 @@ export default {
   position: relative;
   font-size: 16px;
   color: #202020;
-  
+
   display: flex;
   align-items: center;
   line-height: 18px;
@@ -233,4 +233,4 @@ export default {
     }
   }
 }
-</style>
+</style>

+ 11 - 11
pc/src/page/login/components/register/index.vue

@@ -11,7 +11,7 @@
           <span class="sanjiao"></span>
           <phoneAddressSelect  v-show="showPhoneArea" @select="changeArea" />
         </div>
-        
+
         <input oninput="value=value.replace(/[^\d]/g,'')" maxlength="11" :placeholder="$t('login.phonePlaceholder')" class="phone" type="text" v-model="form.phone">
       </div>
       <div class="code-w">
@@ -38,7 +38,7 @@
         <input :placeholder="$t('login.codePlaceholder')"  type="text" v-model="emailForm.authCode">
         <div class="send-code-btn" :class="{'is-disabled': interEmailTime}" @click="getEmailAuthCode">{{ interEmailTime ? $t('login.resendTime', { time: interEmailTime }) : $t('login.sendCodeBtnText')}}</div>
       </div>
-      
+
       <div class="password-w" :class="{'show-tip': !emailForm.password && passwordTip}" @mouseleave="passwordTip=false" @click="focusInput('emialInput')" >
         <input maxLength="16" ref="emialInput" :placeholder="passwordTip ? '' : $t('login.setPassword')" autocomplete="new-password "  v-model="emailForm.password" type="password" @mouseover="passwordTip=true" >
         <p>{{$t('login.passwordTip')}}</p>
@@ -47,7 +47,7 @@
         <input maxLength="16" :placeholder="confirmPassWordTip ? '' : $t('login.rePassword')" ref="emialConfirmInput" autocomplete="new-password" v-model="emailForm.confirmPass" type="password"  @mouseenter="confirmPassWordTip=true" >
         <p>{{$t('login.passwordTip')}}</p>
       </div>
-      
+
       <!-- <div class="right-tips"><span @click="type = 'phone'">手机号码注册</span></div> -->
     </div>
     <div class="xieyi-w">
@@ -67,7 +67,7 @@ import { Base64 } from 'js-base64'
 export default {
   data () {
     return {
-      type: 'phone',
+      type: 'email',
       showPhoneArea: false,
       selectArea: ['中国', '+86', 'China'],
       interTime: 0,
@@ -80,7 +80,7 @@ export default {
         authCode: '',
         nickname: '',
         password: '',
-        confirmPass: '',
+        confirmPass: ''
       },
       emailForm: {
         phone: '',
@@ -90,7 +90,7 @@ export default {
       }
     }
   },
-  computed : {
+  computed: {
     ...mapState({
       langToast: state => state.language.home.toast,
       isInternational: state => state.isInternational,
@@ -105,7 +105,7 @@ export default {
         authCode: '',
         nickname: '',
         password: '',
-        confirmPass: '',
+        confirmPass: ''
       }
       this.emailForm = {
         phone: '',
@@ -127,7 +127,7 @@ export default {
     this.$bus.$on('isAgree', data => {
       this.showCluse = data
     })
-    this.type = this.isInternational ? 'email' : 'phone'
+    this.type = this.isInternational ? 'email' : 'email'
   },
   methods: {
     changeArea (item) {
@@ -148,7 +148,7 @@ export default {
       let res = await this.$store.dispatch('getAuthCode', {
         phone: this.form.phone,
         code: Number(this.selectArea[1].substr(1)),
-        type: 'resigter',
+        type: 'resigter'
       })
       if (res) {
         this.interl && clearInterval(this.interl)
@@ -259,7 +259,7 @@ export default {
         msgAuthCode: form.authCode,
         nickName: form.phone,
         country,
-        confirmPwd: temp[1],
+        confirmPwd: temp[1]
       }
       let res = await this.$http({
         method: 'post',
@@ -477,4 +477,4 @@ export default {
       right: 10px;
       top: 16px;
     }
-</style>
+</style>

+ 176 - 11
pc/src/page/login/index.vue

@@ -6,28 +6,64 @@
       <forgetBox v-else-if="page === 'forget'" />
     </div>
     <cluseUser />
+    <div class="ctrl">
+      <!-- <div class="shop-btn" @click="$router.push({name: 'mallHome'})">{{ $i18n.t('header.online_shop')}}</div> -->
+      <div class="language-w">
+        <div class="list">
+          <a class="header-item" :class="{'is-hover': showLangList}" @touchstart="showLangList = !showLangList">
+            <p class="guoqi" :style="{'background-image': `url(${languageObj.img})`}">{{ languageObj.name }}</p>
+            <ul class="child-list">
+              <li v-for="item in languageList" :key="item.name" :style="{'background-image': `url(${item.img})`}" @click="changeLanguage(item.value)">{{ item.name }}</li>
+            </ul>
+          </a>
+        </div>
+        <!-- <span class="language en" :class="{'is-active': language === 'en'}" @click="changeLanguage('en')">EN</span>
+          <span class="language" :class="{'is-active': language !== 'en'}" @click="changeLanguage('zh')">中</span> -->
+      </div>
+      <!-- <div class="loginAndRegis"  v-if="!isLogin"><span @click="$router.push('/login/login')">{{$t('login.login')}}</span>|<span @click="$router.push('/login/register')">{{$t('login.register')}}</span></div> -->
+      <!-- <div v-else class="user-w">
+          <div class="user avatar" v-if="info.head"  :style="{'background-image': `url(${info.head})`}" @click="$router.push('/information')"></div>
+          <div class="list">
+            <a class="header-item" @click="$router.push('/information')">
+              <ul class="child-list">
+                <li @click="$router.push('/information')">{{ homeLang.headers.myaccount }}</li>
+                <li @click.stop="handleLogout">{{ homeLang.headers.logout }}</li>
+              </ul>
+            </a>
+          </div>
+        </div> -->
+      <!-- <div class="cart" @click="handleCartClick" v-if="isLogin">
+          <h-icon type="xingouwuche" class="icon" />
+          <span v-if="cartCount">{{cartCount}}</span>
+        </div> -->
+    </div>
   </div>
 </template>
 
 <script>
-import LoginBox from "./components/login";
-import registerBox from "./components/register";
-import forgetBox from "./components/forget";
-import { mapState } from "vuex";
+import LoginBox from './components/login'
+import registerBox from './components/register'
+import forgetBox from './components/forget'
+import { mapState } from 'vuex'
 import cluseUser from '@/page/layout/aside'
 export default {
-  data() {
+  data () {
     return {
-    };
+      showLangList: false
+    }
   },
   computed: {
     ...mapState({
       language: (state) => state.language.current,
       languagelAside: (state) => state.language.home.home.loginAside,
+      languageList: (state) => state.language.languageList
     }),
-    page() {
-      return this.$route.params.page || "login";
+    page () {
+      return this.$route.params.page || 'login'
     },
+    languageObj () {
+      return this.languageList.find((item) => item.value === this.language)
+    }
   },
   components: {
     LoginBox,
@@ -39,8 +75,15 @@ export default {
     this.$nextTick(() => {
       // this.$bus.$emit('openClause', {show: true, type: 'register'})
     })
+  },
+  methods: {
+    changeLanguage (lang) {
+      this.$store.commit('change_language', lang)
+      location.reload()
+    }
   }
-};
+
+}
 </script>
 
 <style lang="scss">
@@ -87,7 +130,6 @@ export default {
     p {
       margin: 25px 0;
       color: #2d2d2d;
-      
     }
     .cls-btn {
       span {
@@ -109,4 +151,127 @@ export default {
     }
   }
 }
-</style>
+.language-w {
+  .header-item {
+    margin-right: 20px !important;
+    // position: absolute;
+    // top: 50px;
+    // right: 200px;
+    p {
+      color: #202020;
+      font-size: 14px;
+      font-weight: normal;
+      padding-left: 28px;
+      background: url(~@/assets/images/home/China.png) no-repeat left center;
+      background-size: 20px 14px;
+    }
+  }
+  .child-list {
+    background: #fff;
+    li {
+      color: #202020;
+      font-size: 14px;
+      font-weight: normal;
+      padding: 0 13px 0 40px;
+      background: url(~@/assets/images/home/China.png) no-repeat 13px center;
+      background-size: 20px 14px;
+    }
+  }
+}
+
+.list {
+  position: absolute;
+  top: 50px;
+  right: 200px;
+  &:hover {
+    .header-item {
+      color: #909090;
+    }
+    .child-list {
+      display: block;
+    }
+  }
+  .header-item {
+    width: 100%;
+    height: 100%;
+  }
+  .header-item:hover,
+  .header-item.is-hover {
+    // position: relative;
+    color: #202020;
+    // .child-list {
+    //   display: block;
+    // }
+  }
+}
+
+.user-w {
+  // padding-top: 24px;
+  .list {
+    position: absolute;
+    height: 100%;
+    top: 0;
+    .header-item {
+      display: block;
+      // height: 56px;
+      width: 32px;
+      padding-top: 80px;
+    }
+  }
+}
+.child-list {
+  position: absolute;
+  // width: 112px;
+  box-shadow: 0px -2px 6px rgba(113, 113, 113, 0.16);
+  margin-top: -10px;
+  left: 50%;
+  transform: translateX(-50%);
+  z-index: 0;
+  display: none;
+  transition: all linear 0.5s;
+  padding-top: 6px;
+  &::before {
+    position: absolute;
+    display: block;
+    top: -5px;
+    left: 50%;
+    margin-left: -2px;
+    width: 0;
+    height: 0px;
+    content: "";
+    background: #fff;
+    border-style: solid;
+    border-width: 4px;
+    border-color: #fff #fff transparent transparent;
+    transform: rotate(-45deg);
+    box-shadow: 1px -1px 0px rgba(113, 113, 113, 0.16);
+    z-index: 1;
+  }
+  li {
+    height: 48px;
+    line-height: 48px;
+    font-size: 16px;
+    text-align: center;
+    position: relative;
+    background: #fff;
+    z-index: 2;
+    padding: 0 25px;
+    white-space: nowrap;
+    color: #909090;
+    &:hover {
+      background-color: #ebebeb;
+      color: #202020;
+    }
+  }
+}
+.shop-btn {
+  cursor: pointer;
+}
+.loginAndRegis {
+  font-size: 14px;
+  span {
+    cursor: pointer;
+    padding: 0 5px;
+  }
+}
+</style>

+ 1 - 1
pc/src/page/manage/style.scss

@@ -7,7 +7,7 @@
   height: 100vh;
   background: #f4f4f6;
   .manage-bg{
-    background: url(https://4dscene.4dage.com/new4dkk/images/person-bg.png) no-repeat top center;
+    background: url(https://testusaoss.4dkankan.com/new4dkk/images/person-bg.png) no-repeat top center;
     background-size: cover;
     .manage-con{
       padding: 30px 0;

+ 1 - 1
pc/src/page/manage/temp/scene.vue

@@ -710,7 +710,7 @@ $font-color: #2d2d2d;
         top: 10px;
         width: 35px;
         height: 35px;
-        background-image: url(https://4dscene.4dage.com/new4dkk/images/share-btn.png);
+        background-image: url(https://testusaoss.4dkankan.com/new4dkk/images/share-btn.png);
         background-color: rgba(0, 0, 0, 0.3);
         background-position: center;
         background-repeat: no-repeat;

+ 1 - 1
pc/src/page/purchasetow/style.scss

@@ -26,7 +26,7 @@
 }
 
 .plate01{
-  background: url(https://4dscene.4dage.com/new4dkk/images/purchase_bg.png) #f8f9fc top center no-repeat;
+  background: url(https://testusaoss.4dkankan.com/new4dkk/images/purchase_bg.png) #f8f9fc top center no-repeat;
   padding: 0 0 100px;
   .main-detail{
     padding-top: 80px;

+ 1 - 1
pc/src/page/purchasezhijia/style.scss

@@ -26,7 +26,7 @@
 }
 
 .plate01{
-  background: url(https://4dscene.4dage.com/new4dkk/images/purchase_bg.png) #f8f9fc top center no-repeat;
+  background: url(https://testusaoss.4dkankan.com/new4dkk/images/purchase_bg.png) #f8f9fc top center no-repeat;
   padding: 0 0 100px;
   .main-detail{
     padding-top: 20px;

+ 1 - 1
pc/src/page/service/temp/app.vue

@@ -7,7 +7,7 @@
         <img :src="`${$cdn}images/app-logo.png`"  alt srcset>
       </div>
       <div class="info">
-        <img :src=" language==='en'?`https://4dscene.4dage.com/new4dkk/images/pro-logo-en.png`:`https://4dscene.4dage.com/new4dkk/images/pro-logo.png`" alt srcset>
+        <img :src=" language==='en'?`https://testusaoss.4dkankan.com/new4dkk/images/pro-logo-en.png`:`https://testusaoss.4dkankan.com/new4dkk/images/pro-logo.png`" alt srcset>
         <h2></h2>
         <p>{{ $t('service.appDownload.downloadTip')}}</p>
         <div class="download-w">

+ 1 - 1
pc/src/page/zhijia/style.scss

@@ -92,7 +92,7 @@
   }
   .plate02 {
     position: relative;
-    background: url(https://4dscene.4dage.com/new4dkk/images/zhijia-bg2.png) top
+    background: url(https://testusaoss.4dkankan.com/new4dkk/images/zhijia-bg2.png) top
       center #1e1e21 no-repeat;
     background-size: 100% 100%;
     padding: 140px 0 155px;

+ 4 - 3
pc/src/store/language/cn/manage.js

@@ -197,10 +197,11 @@ export default{
       {
         name: '四维看看Pro',
         id: 4
-      }, {
-        name: '四维看看Lite',
-        id: 0
       }
+      //  {
+      //   name: '四维看看Lite',
+      //   id: 0
+      // }
     ],
     listtle: '列表式',
     pictle: '卡片式',

+ 33 - 21
pc/src/store/language/en/manage.js

@@ -18,7 +18,7 @@ export default{
   information: {
     nameArr: {
       information: 'Account Information',
-      scene: 'Scene Management',
+      scene: 'My Scene',
       order: 'My Order',
       device: 'My Cameras',
       consumption: 'Billing Records',
@@ -32,36 +32,47 @@ export default{
           name: 'Account Information',
           to: {name: 'information'}
         }, {
-          name: 'Scene Management',
+          name: 'My Scene',
           to: {name: 'scene'}
         }, {
           name: 'My Cameras',
           to: {name: 'device'}
-        }, {
-          name: 'My Order',
-          to: {name: 'order'}
-        }, {
-          name: 'Billing Records',
-          to: {name: 'consumption'}
-        }
-        ]
-      },
-      {
-        name: 'security',
-        items: [{
+        },
+        //  {
+        //   name: 'My Order',
+        //   to: {name: 'order'}
+        // }, {
+        //   name: 'Billing Records',
+        //   to: {name: 'consumption'}
+        // },
+        {
           name: 'Change Password',
-          to: {name: 'change'}
-        }, {
+          to: {
+            name: 'change'
+          }
+        },
+        {
           name: 'Log out',
           to: 'logout'
-        }]
+        }
+        ]
       }
+      // {
+      //   name: 'security',
+      //   items: [{
+      //     name: 'Change Password',
+      //     to: {name: 'change'}
+      //   }, {
+      //     name: 'Log out',
+      //     to: 'logout'
+      //   }]
+      // }
     ],
     deviceSettings: [
       {
         name: 'security',
         items: [ {
-          name: 'Scene Management',
+          name: 'My Scene',
           to: {name: 'scene'}
         }, {
           name: 'Log out',
@@ -202,10 +213,11 @@ export default{
       {
         name: '4DKanKan Pro',
         id: 4
-      }, {
-        name: '4DKanKan Lite',
-        id: 0
       }
+      //  {
+      //   name: '4DKanKan Lite',
+      //   id: 0
+      // }
     ],
     listtle: '列表式',
     pictle: '卡片式',