pro-details.html 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392
  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>产品详情</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. </head>
  13. <body>
  14. <footer class="mui-bar mui-bar-tab">
  15. <ul class="mui-table-view mui-table-view-striped mui-table-view-condensed my-grid-view-no">
  16. <li class="mui-table-view-cell">
  17. <div class="mui-table"><div class="mui-table-cell mui-col-xs-4 table-middle"><span class="iconfont icon-gouwuche"></span></div><div class="mui-table-cell mui-col-xs-8 table-middle div-btn-buy-know">立即购买</div></div>
  18. </li>
  19. </ul>
  20. </footer>
  21. <div class="mui-content">
  22. <div class="banner-box-pro" style="display: none;">
  23. <!--<div id="slider" class="mui-slider">
  24. <div class="mui-slider-group mui-slider-loop">-->
  25. <!-- 额外增加的一个节点(循环轮播:第一个节点是最后一张轮播) -->
  26. <!--<div class="mui-slider-item mui-slider-item-duplicate">
  27. <a href="#">
  28. <img src="images/banner-3.jpg">
  29. </a>
  30. </div>-->
  31. <!-- 第一张 -->
  32. <!--<div class="mui-slider-item">
  33. <a href="#">
  34. <img src="images/banner-1.jpg">
  35. </a>
  36. </div>-->
  37. <!-- 第二张 -->
  38. <!--<div class="mui-slider-item">
  39. <a href="#">
  40. <img src="images/banner-2.jpg">
  41. </a>
  42. </div>-->
  43. <!-- 第三张 -->
  44. <!--<div class="mui-slider-item">
  45. <a href="#">
  46. <img src="images/banner-3.jpg">
  47. </a>
  48. </div>-->
  49. <!-- 额外增加的一个节点(循环轮播:最后一个节点是第一张轮播) -->
  50. <!--<div class="mui-slider-item mui-slider-item-duplicate">
  51. <a href="#">
  52. <img src="images/banner-1.jpg">
  53. </a>
  54. </div>
  55. </div>
  56. <div class="mui-slider-indicator">
  57. <div class="mui-indicator mui-active"></div>
  58. <div class="mui-indicator"></div>
  59. <div class="mui-indicator"></div>
  60. </div>
  61. </div>-->
  62. </div>
  63. <ul class="mui-table-view mui-grid-view my-view-no" style="padding-bottom: 0;">
  64. <!--<li class="mui-table-view-cell mui-media mui-col-xs-12" style="padding-right: 2px;">
  65. <a href="#">
  66. <div class="index-pro-tit">[精选] Aiberle美国智能净饮水一体机</div>
  67. <p class="mui-text-left">4级ro净化、10s加热、3s出水<span style="float: right;color: #ff3b3b;">¥2999.00</span></p>
  68. </a>
  69. </li>
  70. <li>
  71. <div class="index-title">
  72. <p><span class="iconfont icon-liwu"></span>美国aiberle咖啡杯、美国aiberle加湿器</p>
  73. </div>
  74. </li>
  75. <li class="mui-table-view-cell mui-media mui-col-xs-12">
  76. <a href="#"><img class="mui-media-object" src="images/details-1.jpg">
  77. </a>
  78. </li>-->
  79. </ul>
  80. </div>
  81. <!-- 加载ing -->
  82. <div class="loading covers">
  83. <div class="loading-bj"></div>
  84. <p>加载中...</p>
  85. </div>
  86. <!-- 加载ing END -->
  87. <script src="js/mui.min.js"></script>
  88. <script src="js/jquery-2.1.1.min.js"></script>
  89. <script src="js/main.js"></script>
  90. <script src="js/wechat-utils-1.0.js"></script>
  91. <script>
  92. var productId = getParam("productId"),productName='',productRemark='';
  93. console.log(productId);
  94. mui.ready(function() {
  95. var slider = mui("#slider");
  96. slider.slider({
  97. interval: 5000
  98. });
  99. $(".loading").hide().css("opacity", "0");
  100. $.ajax(base_path + '/wechat/product/getProductByProductId?dates=' + new Date().getTime(), {
  101. data: {"productId":productId},
  102. dataType: 'json',
  103. xhrFields: {
  104. withCredentials: true
  105. },
  106. crossDomain: true,
  107. type: 'post',
  108. timeout: 15000,
  109. success: function(dt) {
  110. //判断一下
  111. if(dt.isRedirect) {
  112. location.href = dt.redirectURL;
  113. } else {
  114. console.log(dt.data)
  115. if(dt.status) {
  116. var bannerstr = "",
  117. dian = "";
  118. var banner_data = dt.data.banners;
  119. mui(banner_data).each(function(index) {
  120. if(index == 0) {
  121. 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>';
  122. dian += '<div class="mui-indicator mui-active"></div>'
  123. } else {
  124. bannerstr += '<div class="mui-slider-item"><a href="' + this.bannerImageCheckOutUrl + '"><img src="' + (this.bannerImageUrl) + '"></a></div>';
  125. dian += '<div class="mui-indicator"></div>'
  126. }
  127. if(index == (banner_data.length - 1) || (banner_data.length - 1) == 0) {
  128. bannerstr += '<div class="mui-slider-item mui-slider-item-duplicate"><a href="' + banner_data[0].bannerImageCheckOutUrl + '"><img src="' + (banner_data[0].bannerImageUrl) + '"></a></div>'
  129. }
  130. });
  131. dc('mui-slider-loop').innerHTML = bannerstr;
  132. dc('my-slider-indicator').innerHTML = dian;
  133. $("<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(".banner-box-pro");
  134. //初始化banner自动轮播(interval:0为不自动轮播)单位ms
  135. var banner = mui('#slider');
  136. banner.slider({
  137. interval: 5000
  138. });
  139. var productInfo = dt.data.product;
  140. var table = document.body.querySelector(".my-view-no");
  141. var li = document.createElement('li');
  142. li.className = 'mui-table-view-cell mui-media mui-col-xs-12';
  143. var zen='';
  144. if(productInfo.productColorList.length>0){
  145. $.each(productInfo.productColorList[0].salesUserGiftList, function() {
  146. zen += this.giftName + "、"
  147. });
  148. }
  149. if(zen != '') {
  150. zen = '<div class="details-title"><p><span class="iconfont icon-liwu"></span>' + zen.substring(0, zen.length - 1) + '</p></div>';
  151. }
  152. productName=productInfo.productName;
  153. productRemark=productInfo.productRemark;
  154. li.innerHTML = '<a><div class="index-pro-tit">'+productInfo.productName+'</div>'
  155. +'<p class="mui-text-left">'+productInfo.productRemark+'<span style="float: right;color: #ff3b3b;">¥'+(productInfo.productDiscount/ 100).toFixed(2)+'</span></p></a>'
  156. +zen+'</br>'
  157. +'<a><img class="mui-media-object" src="'+productInfo.productIntroduceImg+'"></a>';
  158. table.appendChild(li);
  159. fenxiang();
  160. } else {
  161. mui.alert("获取数据失败!");
  162. }
  163. }
  164. },
  165. error: function(xhr, type, errorThrown) {
  166. console.log(xhr);
  167. mui.alert("获取数据失败!网络错误");
  168. }
  169. });
  170. });
  171. //callback为用户点击蒙版时自动执行的回调;
  172. var mask = mui.createMask(function() {
  173. $(".my-picker").remove();//移除颜色列表
  174. });
  175. var count = 0; //统计所有产品加减,数量默认0,当count<1的时候设置(结算)按钮失效
  176. //购物车数量加
  177. $(document).on('tap', '.mui-btn-numbox-plus', function() {
  178. ++count; //产品总数量
  179. var th = $(this);
  180. var val = mui(th.parent()[0]).numbox().getValue(); //获取当前产品数量
  181. if(count < 1) {
  182. $(".my-btn-buy-know").attr("disabled", "disabled"); //禁用结算按钮
  183. } else {
  184. $(".my-btn-buy-know").removeAttr("disabled"); //激活结算按钮
  185. }
  186. var parameter = {}; //ajax参数json集合
  187. if(typeof(th.attr("productid")) != "undefined") {
  188. parameter["productId"] = th.attr("productid"); //产品id
  189. if(typeof(th.attr("colorid")) != "undefined") {
  190. parameter["productColorId"] = th.attr("colorid"); //颜色id
  191. parameter["cartNum"] = 1; //需要减的产品数量,每次都是1
  192. $.ajax(base_path + '/wechat/cart/addProductToCart?dates=' + new Date().getTime(), {
  193. data: parameter,
  194. dataType: 'json',
  195. xhrFields: {
  196. withCredentials: true
  197. },
  198. crossDomain: true,
  199. type: 'post',
  200. timeout: 15000,
  201. success: function(dt) {
  202. if(dt.isRedirect) {
  203. location.href = dt.redirectURL;
  204. } else {
  205. if(dt.status) {
  206. th.parent().attr("cartid", dt.data);
  207. console.log("增加数量成功!");
  208. } else {
  209. mui.alert("增加数量失败!");
  210. }
  211. }
  212. },
  213. error: function(xhr, type, errorThrown) {
  214. console.log(xhr);
  215. mui.alert("增加数量失败!网络错误");
  216. }
  217. });
  218. } else {
  219. mui.alert("没有获取到产品颜色id");
  220. }
  221. } else {
  222. mui.alert("没有获取到产品id");
  223. }
  224. });
  225. //购物车数量减
  226. $(document).on('tap', '.mui-btn-numbox-minus', function() {
  227. --count; //产品总数量
  228. var th = $(this);
  229. var val = mui(th.parent()[0]).numbox().getValue(); //获取当前产品数量
  230. if(count < 1) {
  231. $(".my-btn-buy-know").attr("disabled", "disabled"); //禁用结算按钮
  232. } else {
  233. $(".my-btn-buy-know").removeAttr("disabled"); //激活结算按钮
  234. }
  235. var parameter = {}; //ajax参数json集合
  236. if(typeof(th.attr("colorid")) != "undefined") {
  237. parameter["productColorId"] = th.attr("colorid"); //产品颜色id
  238. parameter["cartNum"] = 1; //需要减的产品数量,每次都是1
  239. $.ajax(base_path + '/wechat/cart/deleteCart?dates=' + new Date().getTime(), {
  240. data: parameter,
  241. dataType: 'json',
  242. xhrFields: {
  243. withCredentials: true
  244. },
  245. crossDomain: true,
  246. type: 'get', //减少数量后台限制用get
  247. timeout: 15000,
  248. success: function(dt) {
  249. if(dt.isRedirect) {
  250. location.href = dt.redirectURL;
  251. } else {
  252. if(dt.status) {
  253. console.log("减少数量数量成功!");
  254. } else {
  255. mui.alert("减少数量数量失败!");
  256. }
  257. }
  258. },
  259. error: function(xhr, type, errorThrown) {
  260. console.log(xhr);
  261. mui.alert("减少数量失败!网络错误");
  262. }
  263. });
  264. } else {
  265. mui.alert("没有获取到产品颜色id");
  266. }
  267. });
  268. $(document).on('tap', '.icon-gouwuche,.div-btn-buy-know', function() {
  269. var th = $(this);
  270. mask.show(); //显示遮罩层
  271. //在body尾部增加-产品颜色列表父级ul
  272. $("body").append('<div class="my-picker"><ul class="mui-table-view mui-table-view-striped mui-table-view-condensed my-grid-view-no"></ul><button class="mui-btn my-btn-block my-btn-buy-know" disabled="disabled">确定</button></div>');
  273. $.ajax(base_path + '/wechat/product/selectProductColor?dates=' + new Date().getTime(), {
  274. data: {
  275. "productId": productId //productId产品id
  276. },
  277. dataType: 'json',
  278. xhrFields: {
  279. withCredentials: true
  280. },
  281. crossDomain: true,
  282. type: 'post',
  283. timeout: 15000,
  284. success: function(dt) {
  285. if(dt.isRedirect) {
  286. location.href = dt.redirectURL;
  287. } else {
  288. if(dt.status) {
  289. console.log(dt)
  290. var data = dt.data.productColorList;
  291. var table = document.body.querySelector('.my-picker>ul'); //产品颜色列表父级ul
  292. table.innerHTML = '';
  293. //循环遍历产品颜色数组
  294. mui(data).each(function(index) {
  295. var li = document.createElement('li'); //创建li标签
  296. li.className = 'my-table-view-cell'; //給li标签设置className
  297. //var val=index==0?1:0;
  298. li.innerHTML = '<div class="mui-table" ><div class="mui-table-cell mui-col-xs-3"><img class="my-media-object" src="' + this.colorProductPic + '" /></div><div class="mui-table-cell table-middle mui-col-xs-5">' + this.colorName + '<h6>极简生活、舒适百搭</h6></div><div class="mui-table-cell table-middle mui-col-xs-4"><div class="mui-numbox" data-numbox-min="0" data-numbox-max="99" cartid="' + this.cartId + '"><button class="mui-btn mui-btn-numbox-minus" type="button" productid="' + this.colorProductId + '" colorid="' + this.colorId + '">-</button><input class="mui-input-numbox" type="number" value="' + this.cartNum + '" readonly="readonly"/><button class="mui-btn mui-btn-numbox-plus" type="button" productid="' + this.colorProductId + '" colorid="' + this.colorId + '">+</button></div></div></div>';
  299. table.appendChild(li); //将li标签加入到-产品颜色列表父级ul
  300. console.log(count)
  301. if(typeof(this.cartNum) != "undefined") {
  302. count += parseInt(this.cartNum);
  303. }
  304. });
  305. $(".my-picker").addClass("active"); //显示产品颜色加减数量列表
  306. console.log(count)
  307. if(count > 0) {
  308. $(".my-btn-buy-know").removeAttr("disabled"); //激活结算按钮
  309. }
  310. if(th.hasClass("icon-gouwuche")) {
  311. $(".my-btn-buy-know").attr("cart", "cart");
  312. }
  313. mui(".mui-numbox").numbox(); //激活加减按钮组合
  314. } else {
  315. mui.alert("获取数据失败!");
  316. }
  317. }
  318. },
  319. error: function(xhr, type, errorThrown) {
  320. console.log(xhr);
  321. mui.alert("获取数据失败!网络错误");
  322. }
  323. });
  324. });
  325. //确定事件
  326. $(document).on('tap', '.my-btn-buy-know', function() {
  327. //判断是点立即购买还是加入购物车的
  328. if($(this).attr("cart") == "cart") {
  329. $(".mui-backdrop").css("opacity", 0).remove(); //移除遮罩层
  330. $(".my-picker").remove(); //移除选择颜色列表
  331. } else {
  332. var cartidList = ''; //购物项id集合
  333. $.each($(".my-picker .mui-numbox"), function(index) {
  334. var th = $(this);
  335. if(typeof(th.attr("cartid")) != "undefined") {
  336. var a = '';
  337. if(index != 0) {
  338. a = '-' + th.attr("cartid"); //组装购物项id
  339. } else {
  340. a = th.attr("cartid");
  341. }
  342. cartidList += a;
  343. }
  344. });
  345. if(!window.sessionStorage) {
  346. mui.alert("您的浏览器不支持sessionStorage");
  347. } else {
  348. //自定义json数据
  349. var obj = {
  350. text: [cartidList]
  351. };
  352. //json格式化插入 购物项id集合
  353. sessionStorage.setItem('pay_data', JSON.stringify(obj));
  354. location.href = 'clearing.html'; //跳转结算页面
  355. }
  356. }
  357. });
  358. //分享
  359. function fenxiang(){
  360. var src = location.href;
  361. src = "https://s.iamberry.com/aiberle/wechat/pro-details.html?productId="+productId;
  362. window.wxFriend = {
  363. "appId": "",
  364. "imgUrl": 'https://s.iamberry.com/aiberle/wechat/images/indexShare.jpg',
  365. "link": src,
  366. "desc": productRemark,
  367. "title": 'Aiberle爱贝源-'+productName,
  368. "netError": "您的网络异常,请刷新重试!如多次刷新无效,请向我们反应 ~",
  369. "shareTimeSuccess": "分享成功",
  370. "shareTimeCancel": "已取消分享",
  371. "shareAppSuccess": "分享成功!",
  372. "shareAppCancel": "已取消分享"
  373. };
  374. getConfig();
  375. }
  376. </script>
  377. </body>
  378. </html>