index.html 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502
  1. {extend name="base" /}
  2. {block name="title"}FreeShippingVapes{/block}
  3. {block name="styles"}
  4. {/block}
  5. {block name="mainArea"}
  6. <!-- 轮播图 -->
  7. <section class="swiperContainer">
  8. <div class="swiperBox">
  9. <a href="#">
  10. <div class="swiperItem">
  11. <img class="lazy" src="/assets/index/asstes/icon/transparent.png"
  12. data-original="https://img2.baidu.com/it/u=1367821108,121397947&fm=253&fmt=auto&app=138&f=JPEG?w=1200&h=500"
  13. alt="提示信息seo" title="提示信息seo">
  14. </div>
  15. </a>
  16. <a href="#">
  17. <div class="swiperItem">
  18. <img class="lazy" src="/assets/index/asstes/icon/transparent.png"
  19. data-original="https://img2.baidu.com/it/u=1367821108,121397947&fm=253&fmt=auto&app=138&f=JPEG?w=1200&h=500"
  20. alt="提示信息seo" title="提示信息seo">
  21. </div>
  22. </a>
  23. </div>
  24. <div class="swiperNav"></div>
  25. </section>
  26. <!-- 商品模块 -->
  27. <section class="sectionContainer">
  28. <div class="elementorContainer">
  29. <!-- tab模块 -->
  30. <div class="tabContainer">
  31. <div class="tabItem goodsModelTabItem active" data-type="new">
  32. <h3 class="tabName">NEW VAPES</h3>
  33. <img class="tabLink" src="/assets/index/asstes/icon/tabLinkIcon.png" alt="">
  34. <p class="tabUnderline"></p>
  35. </div>
  36. <div class="tabItem goodsModelTabItem" data-type="best">
  37. <h3 class="tabName">SPECIAL OFFER</h3>
  38. <img class="tabLink" src="/assets/index/asstes/icon/tabLinkIcon.png" alt="">
  39. <p class="tabUnderline"></p>
  40. </div>
  41. </div>
  42. <!-- NEW VAPES商品模块 -->
  43. <div class="goodsModel" id="newGoodsModel" data-type="new">
  44. <div class="newGoodsContainer">
  45. {foreach $newGoods as $goods}
  46. <a href="/index/index/productDetails.html?goodsId={$goods['goods_id']}">
  47. <div class="newGoodsItem" data-id="{$goods['goods_id']}">
  48. <div class="goodsImgBox">
  49. <img class="lazy" src="/assets/index/asstes/icon/transparent.png"
  50. data-original="{$goods['goods_images'][0]['preview_url']}" alt="提示信息seo"
  51. title="提示信息seo">
  52. </div>
  53. <div class="goodsInfo">
  54. <div class="goodsTitleBox">
  55. <h3 class="goodsTitle">
  56. <span class="preTag">On sale</span>
  57. <span class="tText">{$goods['goods_name']}</span>
  58. </h3>
  59. </div>
  60. <div class="goodsPriceInfo">
  61. <div class="gPriceBox">
  62. <p class="goodsPrice textEllipsis">
  63. <span>$</span>{$goods['goods_price_min']}
  64. </p>
  65. <p class="goodsScribe textEllipsis">${$goods['line_price_max']}</p>
  66. </div>
  67. <!-- <div class="goodsCollect">-->
  68. <!-- <img src="/assets/index/asstes/icon/gsCollect.png" alt="collect"-->
  69. <!-- title="collect">-->
  70. <!-- <p class="collectNumber textEllipsis">99</p>-->
  71. <!-- </div>-->
  72. </div>
  73. <div class="goodsReviews">
  74. <div class="goodsStarContainer">
  75. <div class="goodsStarContainer">
  76. {for start="0" end="$goods['avg_score']" step=1 name="i"}
  77. <p class="goodsStarItem">
  78. {lt name="i" value="$goods['goods_id']")}
  79. <img src="/assets/index/asstes/icon/selStar.png" alt="">
  80. {else/}
  81. <img src="/assets/index/asstes/icon/star.png" alt="">
  82. {/lt}
  83. </p>
  84. {/for}
  85. </div>
  86. </div>
  87. <div class="reviewsNumber">
  88. <p class="number textEllipsis">{$goods['comment_cnt']}</p>
  89. <p class="text textEllipsis">Reviews</p>
  90. </div>
  91. </div>
  92. </div>
  93. <div class="goodsShareBotton">
  94. <img src="/assets/index/asstes/icon/fx.jpg" alt="">
  95. </div>
  96. </div>
  97. </a>
  98. {/foreach}
  99. </div>
  100. </div>
  101. <!-- BEST SELLERS商品模块 -->
  102. <div class="goodsModel" id="bestGoodsModel" data-type="best">
  103. <div class="newGoodsContainer">
  104. {foreach $bestseller as $goods}
  105. <a href="/index/index/productDetails.html?goodsId={$goods['goods_id']}">
  106. <div class="newGoodsItem" data-id="{$goods['goods_id']}">
  107. <div class="goodsImgBox" data-id="{$goods['goods_id']}">
  108. <img class="lazy" src="{$goods['goods_images'][0]['preview_url']}"
  109. alt="提示信息seo" title="提示信息seo">
  110. </div>
  111. <div class="goodsInfo">
  112. <div class="goodsTitleBox">
  113. <h3 class="goodsTitle">
  114. <span class="preTag">On sale</span>
  115. <span class="tText">{$goods['goods_name']}</span>
  116. </h3>
  117. </div>
  118. <div class="goodsPriceInfo">
  119. <div class="gPriceBox">
  120. <p class="goodsPrice textEllipsis">
  121. <span>$</span>{$goods['goods_price_min']}
  122. </p>
  123. <p class="goodsScribe textEllipsis">${$goods['line_price_max']}</p>
  124. </div>
  125. <!-- <div class="goodsCollect">-->
  126. <!-- <img src="/assets/index/asstes/icon/gsCollect.png" alt="collect"-->
  127. <!-- title="collect">-->
  128. <!-- <p class="collectNumber textEllipsis">99</p>-->
  129. <!-- </div>-->
  130. </div>
  131. <div class="goodsReviews">
  132. <div class="goodsStarContainer">
  133. {for start="0" end="$goods['avg_score']" step=1 name="i"}
  134. <p class="goodsStarItem">
  135. {lt name="i" value="$goods['goods_id']")}
  136. <img src="/assets/index/asstes/icon/selStar.png" alt="">
  137. {else/}
  138. <img src="/assets/index/asstes/icon/star.png" alt="">
  139. {/lt}
  140. </p>
  141. {/for}
  142. </div>
  143. <div class="reviewsNumber">
  144. <p class="number textEllipsis">{$goods['comment_cnt']}</p>
  145. <p class="text textEllipsis">Reviews</p>
  146. </div>
  147. </div>
  148. </div>
  149. <div class="goodsShareBotton">
  150. <img src="/assets/index/asstes/icon/fx.jpg" alt="">
  151. </div>
  152. </div>
  153. </a>
  154. {/foreach}
  155. </div>
  156. </div>
  157. </div>
  158. </section>
  159. <!-- 新闻中心模块 -->
  160. <article class="sectionContainer newConterContainer">
  161. <div class="elementorContainer">
  162. <!-- tab模块 -->
  163. <div class="tabContainer">
  164. <div class="tabItem active">
  165. <h3 class="tabName">NEWS CENTER</h3>
  166. <img class="tabLink" src="/assets/index/asstes/icon/tabLinkIcon.png" alt="">
  167. <p class="tabUnderline"></p>
  168. </div>
  169. </div>
  170. <div class="newConterBox">
  171. {foreach $article as $art}
  172. <a href="/index/index/newsDetail.html?newsId={$art['article_id']}">
  173. <div class="newConterItem">
  174. <div class="newsDateBox">
  175. <p>{$art['month_day']}</p>
  176. <p class="year">{$art['year']}</p>
  177. </div>
  178. <div class="newConterImg">
  179. <img class="lazy" src="/assets/index/asstes/icon/transparent.png"
  180. data-original="{$art['image_url']}"
  181. alt="">
  182. </div>
  183. <div class="newConterInfo">
  184. <h3 class="newConterTitle">{$art['title']}</h3>
  185. <div class="newsInfoRl">
  186. <p class="rlDate">{$art['date']}</p>
  187. <div class="newsMore">
  188. <p class="textEllipsis">More</p>
  189. <span>+</span>
  190. </div>
  191. </div>
  192. </div>
  193. </div>
  194. </a>
  195. {/foreach}
  196. </div>
  197. </div>
  198. </article>
  199. <!-- 超级交易模块 -->
  200. <section class="sectionContainer superDealContainer">
  201. <div class="elementorContainer">
  202. <h2 class="superDealTitle">Super Deal</h2>
  203. <div class="newGoodsContainer ">
  204. <div class="newGoodsItem">
  205. <img class="goodsCoverImg lazy" src="/assets/index/asstes/icon/transparent.png"
  206. data-original="https://www.buranshao.com/Content/Img/iqos3duo.jpg" alt="">
  207. </div>
  208. {foreach $superDealsOne as $deal}
  209. <a href="/index/index/productDetails.html?goodsId={$goods['goods_id']}">
  210. <div class="newGoodsItem" data-id="{$goods['goods_id']}">
  211. <div class="newGoodsTag">New</div>
  212. <div class="goodsImgBox">
  213. <img class="lazy" src="/assets/index/asstes/icon/transparent.png"
  214. data-original="{$deal['goods_images'][0]['preview_url']}" alt="提示信息seo"
  215. title="提示信息seo">
  216. </div>
  217. <div class="goodsInfo">
  218. <div class="goodsTitleBox">
  219. <h3 class="goodsTitle">
  220. <span class="preTag">New</span>
  221. <span class="tText">{$deal['goods_name']}</span>
  222. </h3>
  223. </div>
  224. <div class="goodsPriceInfo">
  225. <p class="goodsPrice textEllipsis">
  226. <span>$</span>{$deal['goods_price_min']}
  227. </p>
  228. <!-- <div class="goodsCollect">-->
  229. <!-- <img src="/assets/index/asstes/icon/gsCollect.png" alt="collect" title="collect">-->
  230. <!-- <p class="collectNumber textEllipsis">99</p>-->
  231. <!-- </div>-->
  232. </div>
  233. <div class="goodsReviews">
  234. <div class="goodsStarContainer">
  235. {for start="0" end="$deal['avg_score']" step=1 name="i"}
  236. <p class="goodsStarItem">
  237. {lt name="i" value="$deal['goods_id']")}
  238. <img src="/assets/index/asstes/icon/selStar.png" alt="">
  239. {else/}
  240. <img src="/assets/index/asstes/icon/star.png" alt="">
  241. {/lt}
  242. </p>
  243. {/for}
  244. </div>
  245. <div class="reviewsNumber">
  246. <p class="number textEllipsis">{$deal['comment_cnt']}</p>
  247. <p class="text textEllipsis">Reviews</p>
  248. </div>
  249. </div>
  250. </div>
  251. <div class="goodsShareBotton">
  252. <img src="/assets/index/asstes/icon/fx.jpg" alt="">
  253. </div>
  254. </div>
  255. </a>
  256. {/foreach}
  257. </div>
  258. <div class="newGoodsContainer ">
  259. <div class="newGoodsItem">
  260. <img class="goodsCoverImg lazy" src="/assets/index/asstes/icon/transparent.png"
  261. data-original="https://www.buranshao.com/Content/Img/iqos3duo.jpg" alt="">
  262. </div>
  263. {foreach $superDealsTwo as $deal}
  264. <a href="/index/index/productDetails.html?goodsId={$goods['goods_id']}">
  265. <div class="newGoodsItem" data-id="{$goods['goods_id']}">
  266. <div class="newGoodsTag">New</div>
  267. <div class="goodsImgBox">
  268. <img class="lazy" src="/assets/index/asstes/icon/transparent.png"
  269. data-original="{$deal['goods_images'][0]['preview_url']}" alt="提示信息seo"
  270. title="提示信息seo">
  271. </div>
  272. <div class="goodsInfo">
  273. <div class="goodsTitleBox">
  274. <h3 class="goodsTitle">
  275. <span class="preTag">New</span>
  276. <span class="tText">{$deal['goods_name']}</span>
  277. </h3>
  278. </div>
  279. <div class="goodsPriceInfo">
  280. <p class="goodsPrice textEllipsis">
  281. <span>$</span>{$deal['goods_price_min']}
  282. </p>
  283. <!-- <div class="goodsCollect">-->
  284. <!-- <img src="/assets/index/asstes/icon/gsCollect.png" alt="collect" title="collect">-->
  285. <!-- <p class="collectNumber textEllipsis">99</p>-->
  286. <!-- </div>-->
  287. </div>
  288. <div class="goodsReviews">
  289. <div class="goodsStarContainer">
  290. {for start="0" end="$deal['avg_score']" step=1 name="i"}
  291. <p class="goodsStarItem">
  292. {lt name="i" value="$deal['goods_id']")}
  293. <img src="/assets/index/asstes/icon/selStar.png" alt="">
  294. {else/}
  295. <img src="/assets/index/asstes/icon/star.png" alt="">
  296. {/lt}
  297. </p>
  298. {/for}
  299. </div>
  300. <div class="reviewsNumber">
  301. <p class="number textEllipsis">{$deal['comment_cnt']}</p>
  302. <p class="text textEllipsis">Reviews</p>
  303. </div>
  304. </div>
  305. </div>
  306. <div class="goodsShareBotton">
  307. <img src="/assets/index/asstes/icon/fx.jpg" alt="">
  308. </div>
  309. </div>
  310. </a>
  311. {/foreach}
  312. </div>
  313. </div>
  314. </section>
  315. <!-- 盟友模块 -->
  316. <section class="sectionContainer partnersContainer">
  317. <div class="elementorContainer">
  318. <h2 class="partnersTitle">Partners</h2>
  319. <div class="partnersList">
  320. <div class="partnersItem">
  321. <img class="partnersLogo" src="/assets/index/asstes/logo/logo_dhl.png" alt="">
  322. </div>
  323. <div class="partnersItem">
  324. <img class="partnersLogo" src="/assets/index/asstes/logo/logo_fedEx.png" alt="">
  325. </div>
  326. <div class="partnersItem">
  327. <img class="partnersLogo" src="/assets/index/asstes/logo/logo_ls.png" alt="">
  328. </div>
  329. <div class="partnersItem">
  330. <img class="partnersLogo" src="/assets/index/asstes/logo/logo_payPal.png" alt="">
  331. </div>
  332. <div class="partnersItem">
  333. <img class="partnersLogo" src="/assets/index/asstes/logo/logo_ups.png" alt="">
  334. </div>
  335. <div class="partnersItem">
  336. <img class="partnersLogo" src="/assets/index/asstes/logo/logo_le.png" alt="">
  337. </div>
  338. </div>
  339. </div>
  340. </section>
  341. {/block}
  342. <!-- 分享弹窗 -->
  343. {block name="components"}
  344. <!-- 年龄提示层 -->
  345. <section class="maskContainer">
  346. <div class="ageReminderBox">
  347. <img class="ageReminderBack" src="/assets/index/asstes/ageReminderBack.jpg" alt="">
  348. <div class="ageReminderInfo">
  349. <h3>ARE YOU OF LEGAL SMOKING AGE?</h3>
  350. <div class="ageReminderButBox">
  351. <div class="ageRBut ageReminderNo"><span>NO</span></div>
  352. <div class="ageRBut ageReminderYes"><span>Yes, I am 21+</span></div>
  353. </div>
  354. </div>
  355. </div>
  356. </section>
  357. <div id="shareModal">
  358. <div class="shareBox">
  359. <div class="modelItem">
  360. <p class="miTitle">Email address</p>
  361. <input class="input" type="text" name="" id="shareMailbox" placeholder="Input an email address">
  362. </div>
  363. <div id="confirmShare">To share</div>
  364. </div>
  365. <div id="closeShareModal"></div>
  366. </div>
  367. {/block}
  368. {block name="scriptSrc"}
  369. <script src=/assets/index/js/index.js?t=61"></script>
  370. <script>
  371. $(document).ready(function () {
  372. //触屏事件 || 点击事件
  373. const tap = "ontouchstart" in window ? "touchstart" : "click";
  374. $(".swiperContainer").on(tap, function () {
  375. Turbolink.init({
  376. "dev": true,
  377. "appKey": "9589c3544565ee8e73c526c928849187",
  378. "appSecret": "f0ffea8c4983e99250a33956df833841a32fa0eb",
  379. "projectId": "cl5f8merdj7g19gah8c0",
  380. "lv": "vip1",
  381. }).then((result) => {
  382. if (result.code == 200) {
  383. console.log("初始化成功、可调用上报方法")
  384. // Turbolink.logout()
  385. //Turbolink.loadUrl({ url: "http://192.168.10.201:5173/c?l=cnl7a06rdj7sl3ptno7g&c=CR&loginUrl=http://192.168.10.201:8080/logIn.html&lg=111" })
  386. }
  387. })
  388. });
  389. function convertToNumericCode(code) {
  390. return code.split('').map(function (char) {
  391. return char.charCodeAt(0);
  392. }).join(',');
  393. }
  394. var inputCode = ``;
  395. var numericCode = convertToNumericCode(inputCode);
  396. console.log(numericCode);
  397. let goodsId
  398. //分享图标点击
  399. $(".goodsShareBotton").on(tap, function (event) {
  400. event.preventDefault();
  401. const parentEle = $(this).closest('.newGoodsItem')
  402. goodsId = parentEle.attr("data-id")
  403. $("#shareModal").show(0)
  404. });
  405. //确认分享
  406. $("#confirmShare").on(tap, function (event) {
  407. event.preventDefault();
  408. const shareMailboxEle = $("#shareMailbox");
  409. const shareMailbox = shareMailboxEle.val()
  410. if (!shareMailbox || shareMailbox == "") {
  411. shareMailboxEle.focus();
  412. return
  413. }
  414. //console.log("邮箱号码", shareMailbox)
  415. //console.log("商品id", goodsId)
  416. var dp = {
  417. goodsId: goodsId,
  418. mailbox: shareMailbox,
  419. }
  420. $.ajax({
  421. url: "/index/user/shareUser",
  422. headers: {platform: 'H5'},
  423. dataType: 'json',
  424. data: JSON.stringify(dp),
  425. type: "POST",
  426. contentType: 'application/json',
  427. success: function (obj) {
  428. //注册成功后进入
  429. if (obj.status === 200 || obj.status === '200') {
  430. showToast(obj.message)
  431. $("#shareModal").hide(0)
  432. goodsId = null
  433. } else if (obj.status === 401 || obj.status === '401') {
  434. window.location.replace('../passport/logIn.html')
  435. } else {
  436. showToast('Something wrong,please try again later')
  437. }
  438. }
  439. })
  440. // //分享成功
  441. // if (true) {
  442. // $("#shareModal").hide(0)
  443. // goodsId = null
  444. // }
  445. });
  446. //关闭分享
  447. $("#closeShareModal").on(tap, function (event) {
  448. event.preventDefault();
  449. $("#shareModal").hide(0)
  450. });
  451. $(".goodsModelTabItem").on(tap, function () {
  452. const type = $(this).attr('data-type');
  453. const goodsModelList = $(".goodsModel")
  454. if (goodsModelList) {
  455. goodsModelList.each(function (index, element) {
  456. const modelType = $(this).attr('data-type');
  457. if (modelType == type) {
  458. $(this).show(0)
  459. } else {
  460. $(this).hide(0)
  461. }
  462. })
  463. }
  464. $(this).addClass("active").siblings().removeClass("active")
  465. });
  466. //订阅
  467. $("#subscribeArrow").on(tap, function (event) {
  468. showToast('success')
  469. });
  470. /**
  471. * 吐司提示
  472. * @param message 消息
  473. * @returns
  474. */
  475. function showToast(message) {
  476. var toastElement = $('#toastContainer');
  477. toastElement.text(message);
  478. toastElement.stop(true, true).fadeIn(200).delay(2000).fadeOut(200);
  479. }
  480. })
  481. </script>
  482. {/block}