徐志豪 %!s(int64=5) %!d(string=hai) anos
pai
achega
5c3cd64eda

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

@@ -19,6 +19,7 @@ const createLintingRule = () => ({
   }
 })
 
+const isProd = process.env.NODE_ENV === 'production'
 module.exports = {
   context: path.resolve(__dirname, '../'),
   entry: {
@@ -57,7 +58,7 @@ module.exports = {
         options: {
           limit: 10000,
           name: utils.assetsPath('img/[name].[hash:7].[ext]'),
-          publicPath: 'https://4dscene.4dage.com/new4dkk/v2'
+          publicPath: isProd ? 'https://4dscene.4dage.com/new4dkk/v2' : ''
         }
       },
       {

+ 1 - 1
pc/src/assets/style/public.scss

@@ -267,7 +267,7 @@ body{
   font-size: 40px;
   color: #202020;
   position: relative;
-  font-weight: normal;
+  font-weight: 400;
   margin-top: 113px;
   &::after {
     position: absolute;

+ 1 - 1
pc/src/page/conduct/conductShop/index.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="conduct-shop">
     <div class="banner">
-      <div class="container">看店 • 宅家中 轻松买</div>
+      <div class="container">看店 • 宅家中 云逛街 轻松买</div>
     </div>
     <div class="plate-w" ref="homeLayout">
       <div class="plate item" v-for="(item,i) in sequenceArr" :key="i">

+ 19 - 5
pc/src/page/home2/index.vue

@@ -61,7 +61,7 @@
     <div class="plate04 container">
       <h1 class="common-title">核心技术</h1>
       <ul class="plate04-list">
-        <li class="plate04-item" v-for="(item, index) in plate04List" :key="index">
+        <li class="plate04-item" v-for="(item, index) in plate04List" :key="index" @click="toLocation(item)">
           <img :src="item.imgUrl" alt="">
           <h3>{{item.title}}</h3>
           <p>{{item.desc}}</p>
@@ -75,7 +75,7 @@
           <router-link to="/news" class="more">更多</router-link>
         </h1>
         <ul class="news-list">
-          <li class="news-item" v-for="(item, index) in plate05List" :key="index" >
+          <li class="news-item" v-for="(item, index) in plate05List" :key="index" @click="toNewsLink(item.link)">
             <div class="news-img" :style="{backgroundImage: `url(${item.img})`}"></div>
             <div class="news-info">
               <p class="news-time">{{ item.time }}</p>
@@ -171,17 +171,20 @@ export default {
         {
           title: '空间数字化',
           desc: '自动化三维数字重建还原空间布局与结构',
-          imgUrl: require('@/assets/images/home/space_01.png')
+          imgUrl: require('@/assets/images/home/space_01.png'),
+          value: 'type1'
         },
         {
           title: '空间互动',
           desc: '自动导览 互动视频多形态动态热点',
-          imgUrl: require('@/assets/images/home/space_02.png')
+          imgUrl: require('@/assets/images/home/space_02.png'),
+          value: 'type2'
         },
         {
           title: '空间展示',
           desc: '无需插件,多端展示实现720°沉浸体验',
-          imgUrl: require('@/assets/images/home/space_03.png')
+          imgUrl: require('@/assets/images/home/space_03.png'),
+          value: 'type3'
         }
       ],
       plate05List: News.slice(0, 4)
@@ -209,6 +212,17 @@ export default {
     },
     detailVideo() {
       this.$bus.$emit('toggleVideo', { url: `https://4d-tjw.oss-cn-shenzhen.aliyuncs.com/4dHouse/%E5%9B%9B%E7%BB%B4%E7%9C%8B%E7%9C%8BPro-%202020-7-22%E7%89%88%E6%9C%AC%288K%29.mp4` })
+    },
+    toNewsLink (link) {
+      window.open(link)
+    },
+    toLocation (item) {
+      this.$router.push({
+        name: 'location',
+        query: {
+          id: item.value
+        }
+      })
     }
   },
   computed: {

+ 1 - 0
pc/src/page/home2/style.scss

@@ -255,6 +255,7 @@
     text-align: center;
     display: inline-block;
     transition: 0.3s all linear;
+    cursor: pointer;
     &:last-child {
       margin-right: 0;
     }

+ 27 - 12
pc/src/page/layout/shopHeader/index.vue

@@ -39,6 +39,7 @@
         <div class="user" v-else :style="{'background-image': `url(${info.head})`}" @click="$router.push('/information')"></div>
         <div class="cart" @click="$router.push('/mall/cart')">
           <h-icon type="xingouwuche" class="icon" />
+          <span v-if="cartCount">{{cartCount}}</span>
         </div>
       </div>
     </div>
@@ -117,22 +118,22 @@ export default {
       isLogin: state => state.user.token,
       info: state => state.user.info,
       deviceLogin: state => state.user.deviceLogin
-    })
+    }),
+    cartCount () {
+      let cart = this.$store.state.user.cart || []
+      if (typeof cart === 'string') {
+        cart = JSON.parse(cart)
+      }
+      let count = 0
+      cart.forEach(item => {
+        count += item.goodsCount
+      })
+      return count > 99 ? 99 : count
+    }
   },
   mounted () {
     let lang = ~this.browserLang.indexOf('zh') ? '中' : 'en'
     this.$store.commit('change_language', lang)
-    // if (this.isLogin && !this.deviceLogin) {
-    //   let cart = this.$store.state.user.cart
-    //   if (typeof cart === 'string') {
-    //     cart = JSON.parse(cart)
-    //   }
-    //   let count = 0
-    //   cart.forEach(item => {
-    //     count += item.goodsCount
-    //   })
-    //   this.count = count
-    // }
     this.$bus.$on('hadload', data => {
       this.$store.commit('change_nav_division', getPosition(this.$refs.list).x)
     })
@@ -303,9 +304,23 @@ export default {
       color: #202020;
       margin-left: 18px;
       cursor: pointer;
+      position: relative;
       .icon {
         font-size: 26px;
       }
+      span {
+        display: block;
+        position: absolute;
+        right: 0;
+        top: 0;
+        font-size: 12px;
+        width: 16px;
+        height: 16px;
+        line-height: 16px;
+        text-align: center;
+        background: #1FE4DC;
+        border-radius: 50%;
+      }
     }
   }
 

+ 4 - 4
pc/src/page/location/index.vue

@@ -1,10 +1,10 @@
 <template>
-  <div class="conduct-tech">
+  <div class="conduct-tech" ref="container">
     <div class="banner">
       <div class="container">核心技术</div>
     </div>
     <div class="plate-w" ref="homeLayout">
-      <div class="plate item" v-for="(item,i) in sequenceArr" :key="i">
+      <div class="plate item" v-for="(item,i) in sequenceArr" :key="i" id="type1">
         <div class="container">
           <h2 class="common-title">{{item.name}}</h2>
           <p class="desc">{{ item.desc }}</p>
@@ -12,7 +12,7 @@
           <video :src="item.video" autoplay muted loop></video>
         </div>
       </div>
-      <div class="plate item" >
+      <div class="plate item"  id="type2">
         <div class="container">
           <h2 class="common-title">空间互动</h2>
           <p class="desc">自动导览 预先设定路线,球幕视频 BOX视频 增强体验的互动效果,多形式动态热点 赋以空间说话的艺术。</p>
@@ -30,7 +30,7 @@
           </div>
         </div>
       </div>
-      <div class="plate item" >
+      <div class="plate item"  id="type3">
         <div class="container">
           <h2 class="common-title">空间展示</h2>
           <p class="desc">无需插件,可在手机、 平板、PC端、VR眼镜,实现720°沉浸式漫游体验。</p>

+ 11 - 20
pc/src/page/login/components/login.vue

@@ -9,8 +9,8 @@
       <div class="toCodeLogin tips-tap" >
         <a @click="$router.push({name: 'login', query: {type: 'codeLogin'}})">验证码登录</a>
       </div>
-      <p class="checkbox" :class="{checked: rememberMe}" @click="rememberMe = !rememberMe">记住密码</p>
-      <div class="login-btn" @click="login">登录</div>
+      <div class="checkbox"><input type="checkbox" v-model="rememberMe" />记住密码</div>
+      <div class="login-btn" @click="login" @keyup.enter="login">登录</div>
       <div class="others">
         <a class="other-actions" @click="$router.push('/login/forget')">忘记密码</a>
         <a class="other-actions" @click="$router.push('/login/register')">账号注册</a>
@@ -110,7 +110,7 @@ export default {
 .login-box {
   width: 398px;
   padding: 38px 0;
-  input {
+  input[type=text] {
     height: 60px;
     line-height: 60px;
     padding-left: 8px;
@@ -149,28 +149,18 @@ export default {
   }
 }
 .checkbox {
-  padding-left: 27px;
+  // padding-left: 27px;
   position: relative;
   font-size: 16px;
   color: #202020;
-  cursor: pointer;
+  
   display: inline-block;
-  &::before {
-    content: '';
-    display: block;
-    width: 10px;
-    height: 10px;
-    border-radius: 3px;
-    border: 1px solid #707070;
-    position: absolute;
-    left: 8px;
-    top: 6px;
+  input {
+    margin-right: 7px;
+    cursor: pointer;
   }
-  &.checked {
-    &::before{
-      background: url(https://4dscene.4dage.com/new4dkk/images/icon-click.png) no-repeat center center;
-      background-size: 100% 100%;
-    }
+  * {
+    vertical-align: middle;
   }
 }
 .login-btn {
@@ -181,6 +171,7 @@ export default {
   line-height: 60px;
   font-weight: 600;
   border-radius: 3px;
+  cursor: pointer;
 }
 .others {
   text-align: center;

+ 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'?`${$cdn}images/pro-logo-en.png`:`${$cdn}images/download-pro.png`" alt srcset>
+        <img :src=" language==='en'?`https://eur.4dkankan.com/app-download`:`https://www.4dkankan.com/app-download.html`" alt srcset>
         <h2></h2>
         <p>{{langDownload.sub}}</p>