index.html 16 KB

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