index.html 23 KB

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