index.html 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
  6. <meta name="apple-mobile-web-app-capable" content="yes">
  7. <meta name="apple-mobile-web-app-status-bar-style" content="black">
  8. <title>Aiberle官方商城</title>
  9. <link rel="stylesheet" type="text/css" href="css/mui.min.css" />
  10. <link rel="stylesheet" type="text/css" href="css/iconfont.css" />
  11. <link rel="stylesheet" type="text/css" href="css/main.css" />
  12. <style>
  13. .year-dalog{background:url(images/year-dalog.png) center center no-repeat rgba(0,0,0,.7);background-size: 80% auto; position: fixed;left: 0;top: 0;right: 0;bottom: 0;width: 100%; height: 100%;z-index: 99;display: none;-webkit-transform: translateY(-100%);transform: translateY(-100%); -webkit-transition: .5s;transition: .5s;}
  14. .year-dalog.active{-webkit-transform: translateY(0%);transform: translateY(0%);}
  15. .year-dalog img{width: 100%;}
  16. </style>
  17. <script>
  18. var d = new Date().getTime(); //当前时间戳
  19. if (d > 1558627200000 && d <= 1560873599000) {
  20. location.href = "20190618.html";
  21. }
  22. </script>
  23. </head>
  24. <body>
  25. <header class="mui-bar mui-bar-nav" style="display: none;">
  26. <div class="search-cotainer">
  27. <div class="mui-input-row mui-search">
  28. <input id="search" name="search" class="my-search-ipt" type="text" placeholder='大家都在搜"净水机"'>
  29. </div>
  30. <span class="iconfont icon-caidan"></span>
  31. <span class="my-btn-cancel">取消</span>
  32. </div>
  33. <div id="search-hot" style="display: none;">
  34. <div class="search-cotainer line-25" id="history">
  35. <p>历史搜索</p>
  36. </div>
  37. </div>
  38. </header>
  39. <footer class="mui-bar mui-bar-tab" id="footer-bar-tab">
  40. <a class="mui-tab-item mui-active">
  41. <span class="iconfont icon-shouye"></span>
  42. <span class="mui-tab-label">首页</span>
  43. </a>
  44. <a class="mui-tab-item">
  45. <span class="iconfont icon-gouwuche"></span>
  46. <span class="mui-tab-label">购物车</span>
  47. </a>
  48. <a class="mui-tab-item">
  49. <span class="iconfont icon-dingdan"></span>
  50. <span class="mui-tab-label">订单</span>
  51. </a>
  52. <a class="mui-tab-item">
  53. <span class="iconfont icon-wode"></span>
  54. <span class="mui-tab-label">我的</span>
  55. </a>
  56. </footer>
  57. <div class="mui-content" style="padding-top: 10px;">
  58. <div class="banner-box">
  59. <div class="index-banner" style="display: none;"></div>
  60. </div>
  61. <div class="index-title" style="margin-top: 20px;">
  62. <strong style="font-size: 16px;">精选产品</strong><span class="mui-pull-right go_pro_list">
  63. <font>More</font><span class="mui-icon mui-icon-arrowright"></span>
  64. </span>
  65. </div>
  66. <ul class="mui-table-view mui-grid-view my-view-no" id="index-pro-list" style="padding-bottom: 0;">
  67. </ul>
  68. <!--<div class="index-title" style="margin-top: 20px;">
  69. <strong style="font-size: 16px;">产品配件</strong><span class="mui-pull-right go_pro_list" pos="bottom">
  70. <font>More</font><span class="mui-icon mui-icon-arrowright"></span>
  71. </span>
  72. </div>
  73. <div style="margin:8px 14px 30px 14px;">
  74. <div id="index-pro-items" class="mui-segmented-control">
  75. </div>
  76. </div>-->
  77. </div>
  78. <ul id="menu">
  79. <li><span class="iconfont icon-guanbi"></span></li>
  80. </ul>
  81. <div class="loading covers">
  82. <div class="loading-bj"></div>
  83. <p>正在加载...</p>
  84. </div>
  85. <!--春节放假通知-->
  86. <div class="year-dalog"></div>
  87. <script src="js/mui.min.js"></script>
  88. <script src="js/jquery-2.1.1.min.js"></script>
  89. <script src="js/jquery.autocompleter.js"></script>
  90. <script src="js/main.js"></script>
  91. <script src="js/wechat-utils-1.0.js"></script>
  92. <script>
  93. // 读取值
  94. var colors = [];
  95. var histoty = JSON.parse(localStorage.getItem('search_histoty'));
  96. var clickdate = JSON.parse(localStorage.getItem('clickdate'));
  97. //console.log(histoty)
  98. if (histoty != null) {
  99. var str = histoty.text;
  100. for (i = 0; i < str.length; i++) {
  101. var childTypeId = ''
  102. if (typeof(str[i].childTypeId) != "undefined") {
  103. childTypeId = 'childTypeid=' + str[i].childTypeId;
  104. }
  105. $("#history").append('<button type="button" class="mui-btn" name="' + str[i].id + '" typeid="' + str[i].typeId +
  106. '" ' + childTypeId + '>' + str[i].label + '</button>');
  107. }
  108. }
  109. /**
  110. *搜索框自动补全参数
  111. */
  112. //var colors = [{
  113. // "id": "1",
  114. // "label": "冲奶机"
  115. //}, {
  116. // "id": "2",
  117. // "label": "净水机"
  118. //}, {
  119. // "id": "3",
  120. // "label": "电动牙刷"
  121. //}, {
  122. // "id": "4",
  123. // "name":"lvxin",
  124. // "label": "滤芯"
  125. //}, {
  126. // "id": "5",
  127. // "label": "奶粉罐"
  128. //}, {
  129. // "id": "6",
  130. // "label": "牙刷头"
  131. //}, {
  132. // "id": "7",
  133. // "label": "水箱"
  134. //}, {
  135. // "id": "8",
  136. // "label": "接水台"
  137. //}, {
  138. // "id": "9",
  139. // "label": "加湿器"
  140. //}];
  141. mui.ready(function() {
  142. var d = new Date().getTime(); //当前时间戳
  143. //弹窗提示时间为1月18日-2月13日
  144. if (d > 1547740800000 && d < 1550073599000) {
  145. if (!window.localStorage) {
  146. mui.alert("您的浏览器不支持localStorage");
  147. } else {
  148. if (clickdate != null) {
  149. var oldDate = new Date(clickdate.text).getDay();
  150. //如果本地存储的getDay比当前时间的getDay大则显示弹窗
  151. if (new Date().getDay() > oldDate) {
  152. $(".year-dalog").addClass("active").show();
  153. }
  154. } else {
  155. //本地没有存储时间也显示弹窗
  156. $(".year-dalog").addClass("active").show();
  157. }
  158. }
  159. }
  160. $.ajax(base_path + '/wechat/indexData?dates=' + new Date().getTime(), {
  161. data: {},
  162. dataType: 'json',
  163. xhrFields: {
  164. withCredentials: true
  165. },
  166. crossDomain: true,
  167. type: 'post',
  168. timeout: 15000,
  169. success: function(dt) {
  170. //判断一下
  171. if (dt.isRedirect) {
  172. location.href = dt.redirectURL;
  173. } else {
  174. console.log(dt)
  175. if (dt.status) {
  176. //遍历banner
  177. var bannerstr = "",
  178. dian = "";
  179. var banner_data = dt.data.banners;
  180. mui(banner_data).each(function(index) {
  181. if (index == 0) {
  182. bannerstr += '<div class="mui-slider-item mui-slider-item-duplicate"><a href="' + banner_data[
  183. banner_data.length - 1].bannerImageCheckOutUrl + '"><img src="' + (banner_data[banner_data.length -
  184. 1].bannerImageUrl) + '"></a></div><div class="mui-slider-item mui-active"><a href="' + this.bannerImageCheckOutUrl +
  185. '"><img src="' + (this.bannerImageUrl) + '"></a></div>';
  186. dian += '<div class="mui-indicator mui-active"></div>'
  187. } else {
  188. bannerstr += '<div class="mui-slider-item"><a href="' + this.bannerImageCheckOutUrl + '"><img src="' +
  189. (this.bannerImageUrl) + '"></a></div>';
  190. dian += '<div class="mui-indicator"></div>'
  191. }
  192. if (index == (banner_data.length - 1) || (banner_data.length - 1) == 0) {
  193. bannerstr += '<div class="mui-slider-item mui-slider-item-duplicate"><a href="' + banner_data[0].bannerImageCheckOutUrl +
  194. '"><img src="' + (banner_data[0].bannerImageUrl) + '"></a></div>'
  195. }
  196. });
  197. dc('mui-slider-loop').innerHTML = bannerstr;
  198. dc('my-slider-indicator').innerHTML = dian;
  199. $(
  200. "<div id='slider' class='mui-slider'><div class='mui-slider-group mui-slider-loop' id='mui-slider-loop'>" +
  201. bannerstr + "</div><div id='my-slider-indicator' class='mui-slider-indicator my-slider-indicator'>" +
  202. dian + "</div></div>").insertBefore(".index-banner");
  203. //初始化banner自动轮播(interval:0为不自动轮播)单位ms
  204. var banner = mui('#slider');
  205. banner.slider({
  206. interval: 5000
  207. });
  208. //遍历精选置顶产品(100%宽度)
  209. var jingxuan1 = dt.data.selectProductTopper;
  210. var table = document.body.querySelector("#index-pro-list");
  211. mui(jingxuan1).each(function(index) {
  212. var li = document.createElement('li');
  213. li.className = 'mui-table-view-cell mui-media mui-col-xs-12';
  214. li.style.margin = '0px 0px 7px 0px';
  215. //console.log(this.productColorList[0].colorDiscount)
  216. if (this.productColorList != null && this.productColorList.length > 0) {
  217. li.innerHTML = '<a name="' + this.productId + '"><img class="mui-media-object" src="' + this.productChoicenessIm +
  218. '"><div class="index-pro-tit" style="margin-top: 10px;" >' + this.productName +
  219. '</div><p class="mui-text-left">' + this.productColorDes + '<span class="f-price">¥' + accDiv(this.productColorList[
  220. 0].colorDiscount, 100) + '</span></p></a>';
  221. table.appendChild(li);
  222. }
  223. });
  224. //遍历精选产品(50%宽度)
  225. var jingxuan2 = dt.data.selectProduct;
  226. mui(jingxuan2).each(function(index) {
  227. var li = document.createElement('li');
  228. li.className = 'mui-table-view-cell mui-media mui-col-xs-6';
  229. if (this.productColorList != null && this.productColorList.length > 0) {
  230. li.innerHTML = '<a name="' + this.productId +
  231. '"><img class="mui-media-object" style="background-color: #f9f7f8;border-radius: 5px;" src="' + this.productChoicenessIm +
  232. '"><div class="index-pro-tit" style="margin-top: 10px;">' + this.productName +
  233. '</div><p class="mui-text-left">' + this.productColorDes +
  234. '</p><p class="l-price" style="margin-top: 5px;">¥' + accDiv(this.productColorList[0].colorDiscount,
  235. 100) + '</p></a>';
  236. table.appendChild(li);
  237. }
  238. });
  239. //遍历菜单
  240. var caidanData = dt.data.productTypeList;
  241. var caidan = document.body.querySelector("#menu");
  242. mui(caidanData).each(function(index) {
  243. var li = document.createElement("li");
  244. li.innerHTML = '<label name="' + this.typeId + '"><div>' + this.typeName + '</div></label>';
  245. caidan.appendChild(li);
  246. colors.push({
  247. "id": colors.length + 1,
  248. "typeId": this.typeId,
  249. "label": this.typeName,
  250. "url": "1"
  251. });
  252. $.each(this.childTypeList, function() {
  253. var li = document.createElement("li");
  254. li.className = 'line';
  255. li.innerHTML = '<a name="' + this.typeId + '" item="' + this.childTypeId + '"><div>' + this.childTypeName +
  256. '</div></a>';
  257. caidan.appendChild(li);
  258. colors.push({
  259. "id": colors.length + 1,
  260. "typeId": this.typeId,
  261. "label": this.childTypeName,
  262. "childTypeId": this.childTypeId,
  263. "url": "1"
  264. });
  265. });
  266. //遍历产品配件
  267. if (this.typeId == 5) {
  268. console.log(this.childTypeList)
  269. var peijian = document.body.querySelector("#index-pro-items");
  270. peijian.innerHTML = '';
  271. $.each(this.childTypeList, function() {
  272. var a = document.createElement("a");
  273. a.className = 'mui-control-item';
  274. a.setAttribute("name", this.typeId);
  275. a.setAttribute("item", this.childTypeId);
  276. a.innerHTML = this.childTypeName;
  277. peijian.appendChild(a);
  278. });
  279. }
  280. });
  281. console.log(colors)
  282. //绑定搜索框自动补全
  283. $('#search').autocompleter({
  284. // marker for autocomplete matches
  285. highlightMatches: true,
  286. // object to local or url to remote search
  287. source: colors,
  288. // custom template 对应 自动补全参数
  289. template: '<span>{{ label }}</span>',
  290. // show hint
  291. hint: true,
  292. // abort source if empty field
  293. empty: false,
  294. // max results
  295. limit: 10,
  296. callback: function(value, index, selected) {
  297. //selected 包含 (id,label)
  298. console.log(selected)
  299. search(selected);
  300. }
  301. });
  302. } else {
  303. mui.alert("获取数据失败!");
  304. }
  305. }
  306. },
  307. error: function(xhr, type, errorThrown) {
  308. console.log(xhr);
  309. mui.alert("获取数据失败!网络错误");
  310. }
  311. });
  312. //搜索框焦点事件
  313. $('#search').on('focus', function(e) {
  314. window.scrollTo(0, 0, 500);
  315. $(".icon-caidan").hide();
  316. $('.my-btn-cancel').show();
  317. if ($(this).val().length > 0) {
  318. $('#search-hot').hide(500);
  319. $(".autocompleter-list").css("height", $(document).height())
  320. } else {
  321. $("#search-hot").css("height", $(document.body).height()).show();
  322. $("body").css("overflow", "hidden");
  323. }
  324. });
  325. //搜索框失去焦点事件
  326. $('#search').on('blur', function(e) {
  327. setTimeout(function() {
  328. $('#search-hot,.my-btn-cancel').hide();
  329. $("body").css("overflow", "auto");
  330. $(".icon-caidan").show();
  331. }, 700);
  332. });
  333. //点击后把text赋值到搜索框
  334. $(document).on('tap', '#history button', function() {
  335. $('#search').val($(this).text());
  336. console.log($(this).text())
  337. $('#search-hot').hide();
  338. $("body").css("overflow", "auto");
  339. var parameter = {};
  340. parameter["id"] = $(this).attr("name");
  341. parameter["label"] = $(this).text();
  342. parameter["typeId"] = $(this).attr("typeid");
  343. if (typeof($(this).attr("childtypeId")) != "undefined") {
  344. parameter["childTypeId"] = $(this).attr("childtypeid");
  345. }
  346. search(parameter);
  347. });
  348. //搜索框本地缓存
  349. function search(selected) {
  350. if (!window.localStorage) {
  351. mui.alert("您的浏览器不支持localStorage");
  352. } else {
  353. //自定义json数据
  354. var obj = {},
  355. searchobj = {};
  356. if (histoty != null) {
  357. var str = histoty.text;
  358. if (str.length > 2) {
  359. str.splice(2, 1)
  360. }
  361. str.splice(0, 0, selected)
  362. obj = {
  363. text: str
  364. }
  365. } else {
  366. obj = {
  367. text: [selected]
  368. };
  369. }
  370. searchobj = {
  371. text: [selected]
  372. }
  373. //json格式化插入
  374. localStorage.setItem('search_histoty', JSON.stringify(obj));
  375. sessionStorage.setItem('search_data', JSON.stringify(searchobj));
  376. mui.openWindow({
  377. url: 'pro-list.html?productId=' + selected.typeId
  378. });
  379. }
  380. }
  381. //监听搜索框值改变事件
  382. $('#search').on('input', function(e) {
  383. if ($(this).val().length > 0) {
  384. $('#search-hot').hide();
  385. $(".autocompleter-list").css("height", $(document).height());
  386. } else {
  387. $('#search-hot').show();
  388. $("body").css("overflow", "hidden");
  389. $(".autocompleter-list").css("height", "auto");
  390. }
  391. });
  392. $(".loading").hide().css("opacity", "0");
  393. });
  394. //取消搜索
  395. $(document).on('tap', '.my-btn-cancel', function() {
  396. $(this).hide();
  397. $('#search-hot').hide();
  398. $("body").css("overflow", "auto");
  399. $('#search').autocompleter("close");
  400. $(".autocompleter-list").empty().css("height", "auto");
  401. $('.autocompleter-hint').removeClass('autocompleter-hint-show').empty();
  402. $(".icon-caidan").show();
  403. $('#search').blur();
  404. });
  405. //打开菜单
  406. $(document).on('tap', '.icon-caidan', function() {
  407. $("#menu").css("height", $(window).height());
  408. $("#menu>li").addClass("active");
  409. });
  410. //关闭菜单
  411. $(document).on('tap', '.icon-guanbi', function() {
  412. $("#menu>li").removeClass("active");
  413. $("#menu").css("height", "0px");
  414. });
  415. //精选产品详情
  416. $(document).on('tap', '#index-pro-list .mui-table-view-cell>a', function() {
  417. location.href = 'pro-details.html?productId=' + $(this).attr("name")
  418. });
  419. //产品详情-配件
  420. $(document).on('tap', '#index-pro-items>.mui-control-item', function() {
  421. location.href = 'pro-list.html?productId=' + $(this).attr("name") + '&childTypeId=' + $(this).attr("item");
  422. });
  423. //more更多产品
  424. $(document).on('tap', '.go_pro_list', function() {
  425. if (typeof($(this).attr("pos")) != "undefined") {
  426. location.href = "pro-list.html?productId=5";
  427. } else {
  428. location.href = "pro-list.html";
  429. }
  430. });
  431. //菜单跳转
  432. $(document).on('tap', '#menu>.line>a', function() {
  433. location.href = 'pro-list.html?productId=' + $(this).attr("name") + '&childTypeId=' + $(this).attr("item");
  434. });
  435. //春节放假通知弹窗点击事件
  436. $(document).on('tap', '.year-dalog', function() {
  437. if (!window.localStorage) {
  438. mui.alert("您的浏览器不支持localStorage");
  439. } else {
  440. //自定义json数据
  441. var obj = {};
  442. obj = {
  443. text: new Date().getTime()
  444. };
  445. //json格式化插入 点击时间
  446. localStorage.setItem('clickdate', JSON.stringify(obj));
  447. }
  448. $(".year-dalog").removeClass("active");
  449. setTimeout(function() {
  450. $(".year-dalog").hide();
  451. }, 500);
  452. });
  453. </script>
  454. </body>
  455. </html>