index.vue 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  1. <template>
  2. <div class="home-layout">
  3. <div class="plate01">
  4. <div class="layout">
  5. <div class="info">
  6. <div>
  7. <img src="@/assets/images/banner_title.png" alt="">
  8. <h3>
  9. 4Dkankan MAX PRO
  10. <p>第二代空间智能建模相机</p>
  11. </h3>
  12. <div class="money">
  13. <span>From:</span>
  14. <strong>199.00</strong>
  15. </div>
  16. <div class="btns">
  17. <a href="" class="button"><vcenter><img src="@/assets/images/product_icon_arrow.png" alt=""></vcenter></a>
  18. <a href="" class="button">立即购买</a>
  19. </div>
  20. </div>
  21. </div>
  22. <img src="@/assets/images/banner_pro.png" alt="">
  23. </div>
  24. <video src="@/assets/video/banner.mp4" autoplay muted loop></video>
  25. </div>
  26. <div class="plate02">
  27. <div class="logo"><img src="@/assets/images/plate_icon.png"></div>
  28. <div class="hxjs">
  29. <h2>核心技术介绍</h2>
  30. <p>Our tools let developers build a new world powered by location data. Real-time updates. Total customization. Developers first.</p>
  31. <div>
  32. <figure>
  33. <img src="@/assets/images/hxjs_1.png" alt="">
  34. <figcaption>空间定位</figcaption>
  35. </figure>
  36. <figure>
  37. <img src="@/assets/images/hxjs_2.png" alt="">
  38. <figcaption>空间建模</figcaption>
  39. </figure>
  40. <figure>
  41. <img src="@/assets/images/hxjs_3.png" alt="">
  42. <figcaption>空间展示</figcaption>
  43. </figure>
  44. </div>
  45. </div>
  46. <div class="hxbg-layout">
  47. <img src="@/assets/images/background_01.png" alt="" class="hxbg hxbg-1">
  48. <div class="item item-1">
  49. <div class="media">
  50. <img src="@/assets/images/item_1.jpg" alt="">
  51. </div>
  52. <div class="content">
  53. <h2>
  54. <span>空间定位</span>
  55. 通过人工智能算法高度还原空间结构及测距信息
  56. </h2>
  57. <p>Embed extensible, custom maps, location search, and turn by turn directions into your app, built on a network of over 420 million monthly users.</p>
  58. </div>
  59. </div>
  60. </div>
  61. <div class="hxbg-layout">
  62. <img src="@/assets/images/background_02.png" alt="" class="hxbg hxbg-2">
  63. <div class="item item-2">
  64. <div class="media iframe">
  65. <div>
  66. <iframe src="http://www.4dmodel.com/SuperTwo/index.html?m=158&version=one" frameborder="0"></iframe>
  67. </div>
  68. </div>
  69. <div class="content">
  70. <h2>
  71. <span>空间定位</span>
  72. 通过人工智能算法高度还原空间结构及测距信息
  73. </h2>
  74. <p>Embed extensible, custom maps, location search, and turn by turn directions into your app, built on a network of over 420 million monthly users.</p>
  75. </div>
  76. </div>
  77. </div>
  78. <div class="item item-3">
  79. <div class="media">
  80. <video src="@/assets/video/item_3.mp4" autoplay muted loop></video>
  81. </div>
  82. <div class="content">
  83. <h2>
  84. <span>空间定位</span>
  85. 通过人工智能算法高度还原空间结构及测距信息
  86. </h2>
  87. <p>Embed extensible, custom maps, location search, and turn by turn directions into your app, built on a network of over 420 million monthly users.</p>
  88. </div>
  89. </div>
  90. </div>
  91. <div class="plate04">
  92. <img src="@/assets/images/background_03.png" alt="" class="hxbg hxbg-3">
  93. <div class="info">
  94. <h2>行业应用展示</h2>
  95. <p>立中天之华观兮,连飞阁乎西城。临漳水之长流兮,望园果之滋荣。看空间的故事,听百鸟之悲鸣。</p>
  96. </div>
  97. <div class="content-layout">
  98. <div class="tabs">
  99. <div>
  100. <a href="" class="active"><img src="@/assets/images/icon_01.png"></a>
  101. <a href=""><img src="@/assets/images/icon_02.png"></a>
  102. <a href=""><img src="@/assets/images/icon_03.png"></a>
  103. </div>
  104. <a href="#/videos">更多行业应用</a>
  105. </div>
  106. <div class="content">
  107. <slide :items="items" class="body">
  108. <div slot-scope="{data}" class="item">
  109. <img :src="data.image" class="cover">
  110. <div class="jj">
  111. <img :src="data.icon" class="icon">
  112. <span v-if="data.text">{{data.text}}</span>
  113. </div>
  114. </div>
  115. </slide>
  116. </div>
  117. </div>
  118. </div>
  119. <div class="plate05" ref="numcount">
  120. <img src="@/assets/images/index_img_record_bg.png" class="bg">
  121. <div class="info">
  122. <h2 class="b-title">每个空间,都值得被记录</h2>
  123. <div class="count-group">
  124. <div v-for="(item, i) in countGroup" :key="i">
  125. <number after="%" :count="item.count" :start="startNumCount"></number>
  126. <p v-html="item.text"></p>
  127. </div>
  128. </div>
  129. </div>
  130. </div>
  131. <div class="plate06">
  132. <h2>
  133. 媒体报道
  134. <a href="#/information/news">更多报道</a>
  135. </h2>
  136. <ul>
  137. <li v-for="(item,i) in reports" :key="i">
  138. <div class="icon">
  139. <img :src="item.icon" alt="">
  140. </div>
  141. <div class="content">
  142. <time>{{item.time}}</time>
  143. <p>{{item.title}}</p>
  144. </div>
  145. <div class="cover">
  146. <img :src="item.cover" alt="">
  147. </div>
  148. </li>
  149. </ul>
  150. </div>
  151. </div>
  152. </template>
  153. <script>
  154. import slide from '@/components/slide'
  155. import vcenter from '@/components/vcenter'
  156. import tabs from '@/components/tabs'
  157. import number from '@/components/number'
  158. import { getPosition } from '@/util'
  159. export default {
  160. data () {
  161. let countGroup = [
  162. {text: '详情页浏览<br>提升', count: 75},
  163. {text: '人均停留<br>增长', count: 318},
  164. {text: '人均浏览<br>增长', count: 180},
  165. {text: '房源约看<br>增长', count: 138}
  166. ]
  167. let reports = [
  168. {
  169. icon: require('@/assets/images/item_icon_1.png'),
  170. cover: require('@/assets/images/item_cover_1.png'),
  171. time: '2018年6月21日',
  172. title: '3D相机“克隆”三维真实世界'
  173. },
  174. {
  175. icon: require('@/assets/images/item_icon_2.png'),
  176. cover: require('@/assets/images/item_cover_2.png'),
  177. time: '2018年6月21日',
  178. title: '“四维看看”3D相机:让老百姓用得起 用得上 '
  179. },
  180. {
  181. icon: require('@/assets/images/item_icon_3.png'),
  182. cover: require('@/assets/images/item_cover_3.png'),
  183. time: '2018年6月21日',
  184. title: '四维时代发布全球首款消费级3D相机'
  185. },
  186. {
  187. icon: require('@/assets/images/item_icon_4.png'),
  188. cover: require('@/assets/images/item_cover_4.png'),
  189. time: '2018年6月21日',
  190. title: '四维时代发布消费级3D相机“四维看看”'
  191. }
  192. ]
  193. let items = [
  194. { image: require('@/assets/images/phone_1.jpg'), icon: require('@/assets/images/phone_icon_1.png'), text: '时代豪苑' },
  195. { image: require('@/assets/images/phone_2.jpg'), icon: require('@/assets/images/phone_icon_2.png'), text: '武侯祠' },
  196. { image: require('@/assets/images/phone_3.jpg'), icon: require('@/assets/images/phone_icon_3.png'), text: '广东省博物馆' },
  197. { image: require('@/assets/images/phone_4.jpg'), icon: require('@/assets/images/phone_icon_4.png'), text: '深圳时装店' },
  198. { image: require('@/assets/images/phone_5.jpg'), icon: require('@/assets/images/phone_icon_5.png'), text: '时代豪苑' },
  199. { image: require('@/assets/images/phone_6.jpg'), icon: require('@/assets/images/phone_icon_6.png'), text: '武侯祠' },
  200. { image: require('@/assets/images/phone_7.jpg'), icon: require('@/assets/images/phone_icon_7.png'), text: '广东省博物馆' },
  201. { image: require('@/assets/images/phone_8.jpg'), icon: require('@/assets/images/phone_icon_8.png'), text: '深圳时装店' },
  202. { image: require('@/assets/images/phone_9.jpg'), icon: require('@/assets/images/phone_icon_1.png'), text: '大西洋展览馆' },
  203. { image: require('@/assets/images/phone_10.jpg'), icon: require('@/assets/images/phone_icon_2.png'), text: '深圳时装店' },
  204. { image: require('@/assets/images/phone_11.jpg'), icon: require('@/assets/images/phone_icon_3.png'), text: '权利的游戏' },
  205. { image: require('@/assets/images/phone_12.jpg'), icon: require('@/assets/images/phone_icon_4.png'), text: '广东省博物馆' },
  206. { image: require('@/assets/images/phone_13.jpg'), icon: require('@/assets/images/phone_icon_5.png'), text: '深圳时装店' },
  207. { image: require('@/assets/images/phone_14.jpg'), icon: require('@/assets/images/phone_icon_6.png'), text: '时代豪苑' },
  208. { image: require('@/assets/images/phone_15.jpg'), icon: require('@/assets/images/phone_icon_7.png'), text: '武侯祠' },
  209. { image: require('@/assets/images/phone_16.jpg'), icon: require('@/assets/images/phone_icon_8.png'), text: '权利的游戏' }
  210. ]
  211. return {
  212. countGroup,
  213. reports,
  214. items,
  215. startNumCount: false
  216. }
  217. },
  218. mounted () {
  219. this.sizeHandle = () => {
  220. let y = getPosition(this.$refs.numcount).y + this.$refs.numcount.offsetHeight
  221. if (window.innerHeight + window.scrollY > y) {
  222. this.startNumCount = true
  223. window.removeEventListener('scroll', this.sizeHandle)
  224. }
  225. }
  226. window.addEventListener('scroll', this.sizeHandle)
  227. },
  228. destroyed () {
  229. window.removeEventListener('scroll', this.sizeHandle)
  230. },
  231. components: {tabs, vcenter, slide, number}
  232. }
  233. </script>
  234. <style lang="scss" scoped>
  235. @import './style.scss';
  236. </style>