showgoods.html 51 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
  6. <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
  7. <title></title>
  8. <link rel="stylesheet" type="text/css" href="../../css/api.css" />
  9. <link rel="stylesheet" type="text/css" href="../../css/weui.min.css" />
  10. <link rel="stylesheet" type="text/css" href="../../css/iconfont.css" />
  11. <link rel="stylesheet" type="text/css" href="../../css/style.css" />
  12. <link rel="stylesheet" type="text/css" href="../../css/star-rating-svg.css" />
  13. <link rel="stylesheet" type="text/css" href="../../css/swiper.min.css" />
  14. <style>
  15. body, html{
  16. }
  17. .back-header {
  18. background: rgb(0, 0, 0, 0);
  19. }
  20. .swiper-container {
  21. width: 100% !important;
  22. height: 7.5rem;
  23. }
  24. .swiper-slide img {
  25. width: 7.5rem;
  26. height: 7.5rem;
  27. object-fit:cover;
  28. }
  29. .goods-btn{
  30. margin:auto;
  31. width:60%;
  32. }
  33. .goods-btn span{
  34. height:100%;
  35. width:50%;
  36. float:left;
  37. }
  38. .goods-btn-active{
  39. border-bottom:2px solid #D9251C;
  40. }
  41. .goods-desc{
  42. /*height:86px;*/
  43. }
  44. .font-rem11 {
  45. color: #000;
  46. }
  47. .goods-costprice {
  48. color: #999;
  49. }
  50. .goods-desc li{
  51. float:left;
  52. /*width:50%;*/
  53. }
  54. .buy-btn{
  55. width:100%;
  56. height: 1rem;
  57. /*border-top: 0.02rem solid #e8e8e8;*/
  58. position:fixed;
  59. bottom:0px;
  60. background:#ffffff;
  61. z-index: 9;
  62. }
  63. .buy-btn-wid{
  64. width:50px;
  65. }
  66. .buy-btn li{
  67. float: right;
  68. border-right: 0.01rem solid #e8e8e8;
  69. text-align:center;
  70. height: 1rem;
  71. line-height: 1rem;
  72. }
  73. .home-ads {
  74. height: auto;
  75. }
  76. .buy-btn img{
  77. width: 0.42rem;
  78. vertical-align: middle;
  79. }
  80. .buy-btn-item{
  81. width:50%;
  82. float:right;
  83. background: #d9251c;
  84. color:#ffffff;
  85. }
  86. .goods-desc-right{
  87. /*width:120px;height:100%;*/
  88. float:right;
  89. }
  90. .goods-desc-right ul{
  91. width:100%;
  92. margin:0px;
  93. }
  94. .goods-desc-right li{
  95. float:right;
  96. }
  97. .goods-desc-tag{
  98. }
  99. .goods-desc-mtotal {
  100. /*width:100%;*/
  101. text-align:right;
  102. padding: 0.5rem 0 0.3rem 0;
  103. clear:both;
  104. font-size: 0.24rem;
  105. color: #999;
  106. }
  107. span#goods_name.goods-desc-item.font-rem11 {
  108. white-space: nowrap;
  109. overflow: hidden;
  110. text-overflow: ellipsis;
  111. height: auto;
  112. line-height: unset;
  113. width: inherit;
  114. }
  115. .goods-desc-mtotal span#sale-number {
  116. color: #999;
  117. }
  118. .goods-desc-percentage{
  119. text-align: right;
  120. border-left: 0.01rem solid #e8e8e8;
  121. width: auto;
  122. padding: 0 0.07rem 0px 15px;
  123. font-size: 0.24rem;
  124. }
  125. .mask-goods{
  126. position:fixed;
  127. left:0px;right:0px;bottom: 1.001rem;
  128. background: rgba(0, 0, 0, 0.5);
  129. z-index:999999;
  130. }
  131. .goods-size{
  132. width:100%;
  133. position:absolute;
  134. left:0px;right:0px;
  135. bottom:0px;
  136. background:#ffffff;
  137. padding: 0 0.32rem 0.48rem 0.32rem;
  138. box-sizing:border-box;
  139. z-index:9999;
  140. }
  141. .goods-size-title li img#goods_image {
  142. width: 1.76rem;
  143. /*height: 1.76rem;*/
  144. position: absolute;
  145. top: -0.33rem;
  146. border-radius: 0.2em;
  147. }
  148. .goods-size-title li{
  149. float:left;
  150. }
  151. #regoods_price {
  152. font-size: 0.28rem;
  153. color: #000;
  154. padding: 0.28rem 0;
  155. }
  156. #goods-size-item {
  157. color: #777;
  158. font-size: 0.22rem;
  159. }
  160. .goods-tag-item{
  161. font-size: 0.24rem;
  162. width:100%;
  163. line-height: 0.6rem;
  164. height: 0.6rem;
  165. }
  166. .iconfont {
  167. color: #ffffff;
  168. }
  169. .goods-tag{
  170. font-size: 0.28rem;
  171. padding:8px;
  172. border:1px solid #e8e8e8;
  173. border-radius:3px;
  174. margin-right:5px;
  175. margin-top:5px;
  176. }
  177. .goods-tag-active{
  178. border:1px solid #d9251c;
  179. color:#d9251c;
  180. }
  181. .close-goods-size{
  182. font-size: 0.4rem;
  183. position:absolute;
  184. right: 0.32rem;
  185. top: 0rem;
  186. color:#999999;
  187. font-weight: 300;
  188. padding-top: 0.28rem;
  189. }
  190. .goods-tab-b-line{
  191. width: 100%;
  192. height: 0.8rem;
  193. line-height: 0.8rem;
  194. background: #fafafa;
  195. /*position: fixed;*/
  196. z-index: 3;
  197. }
  198. .goods-tab2 {
  199. padding-bottom: 1rem;
  200. /*padding-top: 0.7rem;*/
  201. }
  202. .goods-tab-b-line div{
  203. float:left;
  204. width:50%;
  205. text-align:center;
  206. box-sizing:border-box;
  207. }
  208. .goods-tab-active{
  209. color:#D9251C;
  210. border-bottom:2px solid #D9251C;
  211. }
  212. #goods-content img{
  213. width: 100%;
  214. margin-bottom: -0.03rem;
  215. }
  216. .add-num li {
  217. height: 0.6rem;
  218. line-height: 0.6rem;
  219. }
  220. .goods-tab-btn2{
  221. min-width:60px;
  222. }
  223. .chances{
  224. color:#d9251c;
  225. }
  226. .back-imgs{
  227. position: absolute;
  228. left:15px;
  229. top:15px;
  230. }
  231. #goods-issue{
  232. width: 100%;
  233. word-wrap:break-word;
  234. }
  235. .share-item{
  236. position:fixed;
  237. left:0px;right:0px;
  238. bottom:0px;
  239. height: 3.9rem;
  240. background:#f2f2f2;
  241. border-top:1px solid #E8E8E8;
  242. z-index:9999;
  243. }
  244. .share-item-tips{
  245. height: 0.28rem;
  246. line-height: 0.28rem;
  247. width:100%;
  248. text-align:center;
  249. font-size: 0.28rem;
  250. padding: 0.38rem 0;
  251. }
  252. .share-item-cent{
  253. height: 1.8rem;
  254. width: 100%;
  255. }
  256. .share-item-cent li{
  257. width:33.3%;
  258. text-align:center;
  259. float:left;
  260. font-size: 0.28rem;
  261. }
  262. .share-item-cent img{
  263. width: 0.9rem;
  264. }
  265. .share-item-cancel{
  266. height: 0.98rem;
  267. line-height: 0.98rem;
  268. width:100%;
  269. text-align:center;
  270. background:#ffffff;
  271. font-size: 0.28rem;
  272. }
  273. .header-mask{
  274. position:fixed;width:100%;height:70px;z-index:2;background:#ffffff;
  275. }
  276. .weui-mask {
  277. position: fixed;
  278. z-index: 3;
  279. top: 0;
  280. right: 0;
  281. left: 0;
  282. bottom: 0;
  283. background: rgba(0, 0, 0, .6);
  284. }
  285. .weui-mask_transparent{
  286. position: fixed;
  287. z-index: 3;
  288. top: 0;
  289. right: 0;
  290. left: 0;
  291. bottom: 0;
  292. }
  293. .swiper-container-horizontal>.swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction {
  294. bottom: 0;
  295. }
  296. .swiper-pagination-bullet {
  297. background: #fff;
  298. opacity: .8;
  299. }
  300. .swiper-pagination-bullet-active {
  301. background: #d9251c;
  302. }
  303. #goods_price_span span.down {
  304. color: #d9251c;
  305. padding-left: 0.2rem;
  306. font-size: 0.24rem;
  307. }
  308. .feed-item{
  309. /*width:100%;*/
  310. border-bottom: 1px solid #e8e8e8;
  311. position:relative;
  312. padding: 0.2rem 0.32rem;
  313. }
  314. .feed-item ul{
  315. width:100%;
  316. clear: both;
  317. }
  318. .fl {
  319. float:left;
  320. }
  321. .feed-item-right{
  322. padding-left: 0.2rem;
  323. }
  324. .feed-item-titel{
  325. font-size: 0.24rem;
  326. color: #999;
  327. padding: 0.2rem 0;
  328. }
  329. .user-head{
  330. width: 0.7rem;
  331. height: 0.7rem;
  332. border-radius:50%;
  333. }
  334. .feed-img{
  335. float: left;
  336. width: 1.2rem;
  337. height: 1.2rem;
  338. padding-right: 0.3rem;
  339. }
  340. .my-rating{
  341. position: absolute;
  342. right: 0.32rem;
  343. top: 0.2rem;
  344. }
  345. .my-rating .jq-star {
  346. width: 0.3rem !important;
  347. height: 0.3rem !important;
  348. }
  349. .no_active {
  350. border: #eee 1px solid;
  351. color: #aaa;
  352. }
  353. .back-top {
  354. bottom: 60px;
  355. }
  356. .nav_fixed {
  357. position: fixed;
  358. margin-top: 0.86rem;
  359. top: 0;
  360. }
  361. .goods-tab-b.goods-tab img {
  362. max-width: 100% !important;
  363. height: auto !important;
  364. }
  365. .buy-kuc-tip {
  366. display: none;
  367. }
  368. </style>
  369. <script>
  370. (function(w, d, m) {
  371. function r() {
  372. var t = 100,
  373. o = 750,
  374. e = d.documentElement.clientWidth || w.innerWidth,
  375. n = m.max(m.min(e, 480), 320),
  376. h = 50;
  377. 320 >= n && (h = m.floor(n / o * t * .99)),
  378. n > 320 && 362 >= n && (h = m.floor(n / o * t * 1)),
  379. n > 362 && 375 >= n && (h = m.floor(n / o * t * 1)),
  380. n > 375 && (h = m.floor(n / o * t * .97)),
  381. d.querySelector("html").style.fontSize = (e/7.5) + "px"
  382. };
  383. r();
  384. w.onresize = function() {
  385. r()
  386. }
  387. })(window, document, Math);
  388. </script>
  389. </head>
  390. <body class="box">
  391. <div class="topbar"></div>
  392. <header class="back-header" id="fix1">
  393. <ul>
  394. <li style="width: 0.66rem;" class="back-btn">
  395. <div class="hotel-top-back"><span class="iconfont">&#xe61e;</span></div>
  396. </li>
  397. <li style="width: 5.5rem;">
  398. <div class="goods-btn font-rem11" style="text-align: center;margin: auto;">
  399. <span class="goods-btn-active goods-tab-btn font-rem11 goods-tab-btn-a" tag="goods-tab-a">商品</span>
  400. <span class="goods-tab-btn font-rem11 goods-tab-btn-b" tag="goods-tab-b">详情</span>
  401. </div>
  402. </li>
  403. <li style="width: 0.66rem;">
  404. <div class="hotel-top-back" id="share-btn" style="float:right;"><span class="iconfont">&#xe648;</span></div>
  405. </li>
  406. </ul>
  407. </header>
  408. <div class="goods-tab-a goods-tab">
  409. <div class="home-ads">
  410. <div class="swiper-container">
  411. <div class="swiper-wrapper">
  412. </div>
  413. <div class="swiper-pagination"></div>
  414. </div>
  415. </div>
  416. <div class="h10"></div>
  417. <section>
  418. <div class="goods-desc">
  419. <ul>
  420. <li style="width: 5.1rem;">
  421. <span class="goods-desc-item font-rem11" id="goods_name"></span>
  422. <p style="font-size: 0.26rem;color: #999;padding: 0.2rem 0 0.2rem 0px;">购买得<span class="goods-costprice">0</span>圈币</p>
  423. <p class="goods-desc-item color-red" id="goods_price_span" style="color: #d9251c;">¥<span id="goods_price" class="color-red" style="color: #d9251c;"></span> <span class="line-through"></span></p>
  424. </li>
  425. <li style="width: 1.7rem;">
  426. <div class="goods-desc-right">
  427. <ul class="show-feedgoods">
  428. <li style="line-height: 0.58rem;"><span class="iconfont" style="color: #999;">&#xe62e;</span></li>
  429. <li class="goods-desc-percentage"><span class="goods-desc-item color-red" style="color: #d9251c;"><span id="praise" style="color: #d9251c;">0</span>%</span>
  430. <p>好评率</p>
  431. </li>
  432. </ul>
  433. <div class="goods-desc-mtotal">月销售 <span id="sale-number">0</span></div>
  434. </div>
  435. </li>
  436. </ul>
  437. </div>
  438. </section>
  439. <div class="back-h50"></div>
  440. <div class="my-order padding-08 select-goods-size font-rem11" style="border-bottom: none;">规格数量选择<span class="right-tag iconfont" style="color: #999;">&#xe62e;</span></div>
  441. <div class="back-h50"></div>
  442. <div class="feed-list">
  443. <div class="my-order padding-08 feedgoods font-rem11" style="border-bottom: none;">
  444. 评价<span class="right-tag iconfont" style="color: #999;">&#xe62e;</span>
  445. </div>
  446. </div>
  447. <div class="back-h50"></div>
  448. </div>
  449. <div class="mask-goods mask-hidden">
  450. <div class="goods-size mask-hidden">
  451. <div class="goods-size-title">
  452. <ul>
  453. <li style="position: relative;"><img id="goods_image" src="../../image/0002.jpg" /></li>
  454. <li style="margin-left: 1.95rem;color: #000;">¥<span id="regoods_price"></span>
  455. <p id="goods-size-item">
  456. <span class="default-item1">请选择规格数量</span>
  457. </p>
  458. </li>
  459. <li><span class="close-goods-size iconfont">&#xeb6a;</span></li>
  460. </ul>
  461. </div>
  462. <div class="h2" style="padding-top: 0.33rem;"></div>
  463. <div class="goods-size-item">
  464. </div>
  465. <div class="goods-tag-item"><span>数量</span>
  466. <div class="add-num">
  467. <ul>
  468. <li class="num-down">-</li>
  469. <li><input class="buy-num" id="buy-num" data-kuc="1" type="tel" value="1" /></li>
  470. <li style="border-right:none;" class="num-up">+</li>
  471. </ul>
  472. </div>
  473. </div>
  474. </div>
  475. </div>
  476. <div class="goods-tab-b goods-tab">
  477. <div class="goods-tab-b-line" id="nav_fixed">
  478. <div><span class="goods-tab-active font-rem11 goods-tab-btn2" tag="goods-tab-c">详情</span></div>
  479. <div><span class="font-rem11 goods-tab-btn2" tag="goods-tab-d">常见问题</span></div>
  480. </div>
  481. <section>
  482. <div id="goods-content" class="goods-tab2 goods-tab-c"></div>
  483. <div id="goods-issue" class="mask-hidden goods-tab2 goods-tab-d"></div>
  484. </section>
  485. </div>
  486. <div class="share-item mask-hidden">
  487. <div>
  488. <div class="share-item-tips">分享至</div>
  489. <div class="share-item-cent">
  490. <ul>
  491. <li class="share-item-friend"><img src="../../image/share_friend.png" />
  492. <p>微信好友</p>
  493. </li>
  494. <li class="share-item-cale"><img src="../../image/share_cale.png" />
  495. <p>微信朋友圈</p>
  496. </li>
  497. <li class="share-item-qq"><img src="../../image/share_qq.png" />
  498. <p>QQ</p>
  499. </li>
  500. </ul>
  501. </div>
  502. <div class="share-item-cancel">取消</div>
  503. </div>
  504. </div>
  505. <div class="buy-btn">
  506. <ul>
  507. <li class="buy-btn-item" style="width: 2.2rem;border-right:0px;">立即购买</li>
  508. <li class="add-buycar" style="width: 2.2rem">加入购物车</li>
  509. <li style="width: 1rem;" class="go-buycar">
  510. <img src="../../image/goods_buy_car.png" />
  511. <span class="msg-total mask-hidden" style="position: absolute;transform: translateY(75%) translateX(-37%);animation: bounceOut 2s;">10</span>
  512. </li>
  513. <li style="width: 1rem;" class="add-favorite"><img id="favorite" src="../../image/goods_buy_favorite.png" /></li>
  514. <li style="width: 1rem;" class="go-home"><img src="../../image/goods_buy_home.png" /></li>
  515. </ul>
  516. </div>
  517. <div class="weui-mask mask-hidden"></div>
  518. <div class="back-top mask-hidden" id="fix2"></div>
  519. </body>
  520. <script type="text/javascript" src="../../script/api.js"></script>
  521. <script type="text/javascript" src="../../script/jquery.min.js"></script>
  522. <script type="text/javascript" src="../../script/jquery.tap.js"></script>
  523. <script type="text/javascript" src="../../script/swiper.min.js"></script>
  524. <script type="text/javascript" src="../../script/imagesloaded.pkgd.min.js"></script>
  525. <script type="text/javascript" src="../../script/jquery.star-rating-svg.js"></script>
  526. <script type="text/javascript">
  527. var _keyid = '';
  528. var _size_item = new Array();
  529. var _single_price = '0.00';
  530. var _goods_id = '';
  531. var _sku_open = false;
  532. var _spot = '1';
  533. var _storeid = '';
  534. var _freight = '';
  535. var _images = [];
  536. var _isfavorite = false;
  537. var _shareimg = '';
  538. var _description = '';
  539. var _title = '';
  540. var _shareurl = '';
  541. var _storeid_url = '';
  542. var _sku_data = {};
  543. var _sku_spec_map = {};
  544. apiready = function() {
  545. _keyid = api.pageParam.keyid;
  546. _storeid = api.pageParam.storeid;
  547. // _spot = api.pageParam.spot;
  548. setIosTopBar();
  549. getRouteData(_keyid, _storeid);
  550. // chkfavorite();
  551. getfeed();
  552. api.addEventListener({
  553. name: 'longpress'
  554. }, function(ret, err) {
  555. save_img();
  556. });
  557. };
  558. function getRouteData(_keyid, _storeid) {
  559. $.ajax({
  560. url: siteurl + 'v2/goods/detail',
  561. data: {
  562. goods_commonid: _keyid,
  563. store_id: _storeid
  564. },
  565. headers: { "X-TOKEN": $api.getStorage("accesstoken") },
  566. dataType: 'json',
  567. type: 'post',
  568. success: function(datas) {
  569. if (datas.result) {
  570. if (datas.data.is_platform_store == '1') {
  571. _storeid_url = datas.data.store_id;
  572. _spot = '2';//公共商品,未进货
  573. } else {
  574. _storeid_url = datas.data.public_store_id;
  575. }
  576. $("#goods_name").html(datas.data.goods_name);
  577. _title = datas.data.goods_name;
  578. // _spot = datas.data.is_platform_store;
  579. _description = datas.data.goods_name;
  580. _shareurl = siteurl + 'v1/view/market.html'; //'home/goods/index/goods_id/' + datas.data.goods_commonid + '.html';
  581. $("#goods_price").html(datas.data.goods_price);
  582. $("#goods_image").attr("src", siteurl + "uploads/home/store/goods/" + datas.data.goods_image.substr(0, datas.data.goods_image.indexOf("\_")) + "/" + datas.data.goods_image);
  583. _shareimg = siteurl + "uploads/home/store/goods/" + datas.data.goods_image.substr(0, datas.data.goods_image.indexOf("\_")) + "/" + datas.data.goods_image;
  584. $("#regoods_price").html(datas.data.goods_price);
  585. $(".line-through").html(datas.data.goods_marketprice);
  586. $("#goods-content").html('<p></p>'+datas.data.goods_body);
  587. $("#goods-issue").html(datas.data.issue);
  588. $(".msg-total").html(datas.data.cart);
  589. if ( datas.data.cart > 0 ) {
  590. $(".msg-total").html(datas.data.cart);
  591. $(".msg-total").removeClass("mask-hidden");
  592. }
  593. if ( datas.data.has_collected == 1 ) {
  594. $("#favorite").attr("src", "../../image/favorite2.png");
  595. }
  596. if ( datas.data.hide_collect == 1 ) {
  597. $("#favorite").parent(".add-favorite").attr("nofav", true);
  598. }
  599. if (datas.data.store_id == 1) {//goods_storage
  600. $("#goods_price_span").append('<span class="down"> 已下架</span>');
  601. $(".add-buycar").data('state', '0');
  602. $(".buy-btn-item").data('state', '0');
  603. _spot = 2;
  604. } else {
  605. if ( datas.data.goods_state != 1 || datas.data.goods_storage < 1 ) {
  606. $("#goods_price_span").append('<span class="down"> 已下架</span>');
  607. $(".add-buycar").data('state', '0');
  608. $(".buy-btn-item").data('state', '0');
  609. _spot = 2;
  610. }
  611. }
  612. if (datas.data.points == 0) {
  613. //rgba(0, 0, 0, 0)
  614. $(".goods-costprice").css("color", "rgba(0, 0, 0, 0)");
  615. $(".goods-costprice").parent("p").css("color", "rgba(0, 0, 0, 0)");
  616. } else {
  617. $(".goods-costprice").html(datas.data.points);
  618. }
  619. $("#sale-number").html(datas.data.sale_number);
  620. $("#praise").html(datas.data.praise);
  621. $("#goods-costprice").html(datas.data.goods_costprice);
  622. var _html = '';
  623. if ( datas.data.spec_list.length > 0 ) {
  624. _sku_data = datas.data.goods_list;
  625. _sku_spec_map = datas.data.spec_map;
  626. var i = 0;
  627. $.each(datas.data.spec_name, function(index, item) {
  628. _html += '<div class="goods-tag-item" ptag="item' + index + '">' + item + '</div><div class="h2"></div><div class="tag_item">';
  629. $.each(datas.data.spec_value, function(index2, item2) {
  630. if (index == index2) {
  631. // var x = 0;
  632. $.each(item2, function(index3, item3) {
  633. // console.log(i)
  634. // console.log(index3)
  635. // if ( item2.length == 1 ) {
  636. _html += '<span class="goods-tag" id="sku_'+i+'_'+index3+'" ptag="item' + index + '" index="' + index2 + '" tag="' + index3 + '" spec_goods_image="" spec_goods_price="" spec_id="">' + item3 + '</span>';
  637. // } else {
  638. // if ( datas.data.goods_list[x].goods_storage > 0 ) {
  639. // _html += '<span class="goods-tag" ptag="item' + index + '" index="' + index2 + '" tag="' + index3 + '" spec_goods_image="'+datas.data.goods_list[x].goods_image+'" spec_goods_price="'+datas.data.goods_list[x].goods_price+'" spec_id="'+datas.data.goods_list[x].goods_id+'">' + item3 + '</span>';
  640. // } else {
  641. // _html += '<span class="goods-tag no_active" ptag="item' + index + '" index="' + index2 + '" tag="' + index3 + '" spec_goods_image="'+datas.data.goods_list[x].goods_image+'" spec_goods_price="'+datas.data.goods_list[x].goods_price+'" spec_id="'+datas.data.goods_list[x].goods_id+'">' + item3 + '</span>';
  642. // }
  643. // console.log(x)
  644. // x++;
  645. // }
  646. })
  647. // console.log(index, index2)
  648. }
  649. })
  650. _html += '</div><div class="h10"></div>';
  651. $("#goods-size-item").append('<span tag="" class="size-item item' + index + '"></span> ');
  652. i++;
  653. })
  654. $("#goods-size-item").append('<span class="buy-num-tip"></span><span class="buy-kuc-tip"></span>');
  655. } else {
  656. $("#goods-size-item").html('<span class="buy-num-tip"></span><span class="buy-kuc-tip"></span>');
  657. // 无规格
  658. $.each(datas.data.goods_list, function (index_n_spec, item_n_p) {
  659. // body...
  660. $("#regoods_price").html(item_n_p.goods_price);
  661. _goods_id = item_n_p.goods_id;
  662. _sku_open = true;
  663. _single_price = item_n_p.goods_price;
  664. if (item_n_p.goods_image) {
  665. $("#goods_image").attr("src", siteurl + "uploads/home/store/goods/" + item_n_p.goods_image.substr(0, item_n_p.goods_image.indexOf("\_")) + "/" + item_n_p.goods_image);
  666. }
  667. $("#buy-num").data("kuc", item_n_p.goods_storage);
  668. function_name();
  669. $(".buy-num-tip").text("x" + $("#buy-num").val());
  670. $(".buy-kuc-tip").text(' ( 库存 '+ item_n_p.goods_storage +' ) ');
  671. var _num = parseInt($("#buy-num").val());
  672. var _goods_price = _single_price * _num;
  673. $("#regoods_price").html(_goods_price.toFixed(2));
  674. });
  675. }
  676. if (datas.data.images.length > 0) {
  677. $.each(datas.data.images, function(index_b, item_b) {
  678. $(".swiper-wrapper").append('<div class="swiper-slide"><img src="' + siteurl + "uploads/home/store/goods/" + item_b.goodsimage_url.substr(0, item_b.goodsimage_url.indexOf("\_")) + "/" + item_b.goodsimage_url + '"/></div>');
  679. _images.push(siteurl + "uploads/home/store/goods/" + item_b.goodsimage_url.substr(0, item_b.goodsimage_url.indexOf("\_")) + "/" + item_b.goodsimage_url);
  680. })
  681. }
  682. var swiper = new Swiper('.swiper-container', {
  683. allowSlidePrev: true,
  684. pagination: {
  685. el: '.swiper-pagination',
  686. },
  687. });
  688. $(".goods-size-item").append(_html);
  689. set_checked_list();
  690. } else {
  691. errcode(datas, datas.code);
  692. }
  693. function_name();
  694. }
  695. });
  696. }
  697. $(function() {
  698. $(window).scroll(function() {
  699. var a = document.getElementById("nav_fixed").offsetTop;
  700. var b = document.getElementById("fix1").offsetTop;
  701. if (a > $(window).scrollTop() && a < ($(window).scrollTop() + $(window).height())) {
  702. $("#nav_fixed").removeClass("nav_fixed");
  703. }
  704. if (($("#nav_fixed").outerHeight() + a) <= $(window).scrollTop()) {
  705. $("#nav_fixed").removeClass("mask-hidden");
  706. $("#nav_fixed").addClass("nav_fixed");
  707. $(".goods-tab-b-line.nav_fixed").css("top", (b - 1) + 'px');
  708. }
  709. if ( a === 0 || a == b ) {
  710. $("#nav_fixed").addClass("mask-hidden");
  711. $(".goods-tab-a").removeClass("mask-hidden");
  712. }
  713. });
  714. var aa = [];
  715. var i = 0;
  716. var src = [];
  717. var json = null;
  718. aa = $('img');
  719. for (i = 1; i < aa.length; i++) {
  720. src[i] = aa[i].src;
  721. }
  722. $("img").click(function() {
  723. var index = $('img').index(this);
  724. // imagePreview(src[index],src);
  725. });
  726. })
  727. function spot_msg() {
  728. // body...
  729. if ( _spot == 2 ) {
  730. api.toast({ msg: '商品已下架' });
  731. return false;
  732. }
  733. }
  734. function get_checked_list() {
  735. var ret = [];
  736. $('.tag_item').each(function (index,element) {
  737. var ac = $(this).find('.goods-tag-active');
  738. if(ac.length > 0){
  739. var tag = ac.attr('tag');
  740. ret.push({
  741. line:index, key: tag
  742. });
  743. }
  744. })
  745. return ret;
  746. }
  747. function get_sku(goods_list, spec_map, checked_list) {
  748. var list = [];
  749. for (var i in spec_map) {
  750. list.push({"spec_map": i.split("_"), "key": spec_map[i]})
  751. }
  752. var ret = [];
  753. var checked_spec = [];
  754. var checked_neer = [];
  755. for (var i in checked_list) {
  756. checked_spec.push(checked_list[i].key);
  757. }
  758. for (var j in list) {
  759. var flag = [];
  760. var all_spec_key = [];
  761. for (var i in checked_list) {
  762. checked_neer.push(list[j].spec_map[checked_list[i].line]);
  763. if (list[j].spec_map.indexOf(checked_list[i].key.toString()) === checked_list[i].line * 1) {
  764. flag.push(list[j]);
  765. all_spec_key = (list[j].spec_map)
  766. }
  767. }
  768. if (checked_list.length == flag.length) {
  769. var goods_info = goods_list[list[j].key]
  770. if (goods_info.goods_storage > 0) {
  771. ret.push(all_spec_key)
  772. }
  773. }
  774. }
  775. return ret;
  776. }
  777. function spec_map_check(goods_list, spec_map, line, key, checked_list) {
  778. for(var i in checked_list){
  779. if(checked_list[i].key != key && checked_list[i].line == line){
  780. checked_list[i].key = key
  781. }
  782. }
  783. var e = get_sku(goods_list, spec_map, checked_list);
  784. if(e.length > 0){
  785. return true;
  786. }else{
  787. return false;
  788. }
  789. }
  790. $(".home-ads").on("tap", "img", function() {
  791. // console.log($(this).attr("src"));
  792. gallery_qz($(this).attr("src"));
  793. });
  794. $(".feed-list").on("tap", "img", function() {
  795. // console.log($(this).attr("src"));
  796. gallery_qz($(this).attr("src"));
  797. });
  798. $(".goods-content").on("tap", "img", function() {
  799. // console.log($(this).attr("src"));
  800. gallery_qz($(this).attr("src"));
  801. });
  802. function getfeed() {
  803. $.ajax({
  804. url: rooturl + '?do=getevaluategoods',
  805. data: {
  806. goodsid: _keyid
  807. },
  808. dataType: 'json',
  809. type: 'post',
  810. success: function(datas) {
  811. if (datas.length > 0) {
  812. $.each(datas, function(index, item) {
  813. if (index == 1) {
  814. return false;
  815. }
  816. var _html = '';
  817. if (item.geval_image) {
  818. var _imglist = item.geval_image.split(",");
  819. } else {
  820. var _imglist = '';
  821. }
  822. _html += '<div class="feed-item"><ul>';
  823. _html += '<li class="fl" style="width: 0.7rem;"><img src="' + item.member_avatar + '" class="user-head"/></li>';
  824. _html += '<li class="feed-item-right fl">' + item.member_truename + '<p class="feed-item-titel">' + item.geval_addtime + '</p></li>';
  825. _html += '<li><div class="my-rating my-rating' + index + '"></div></li></ul>';
  826. _html += '<ul><li>' + item.geval_content + '</li></ul><ul style="margin-top: 0.25rem;"><li>';
  827. if (_imglist.length > 0) {
  828. for (var i = 0; i < _imglist.length; i++) {
  829. _html += '<img src="' + _imglist[i] + '" style="width: 1.2rem;height: 1.2rem;margin-right: 0.3rem;"/>';
  830. }
  831. }
  832. _html += '</li></ul><div class="h50"></div></div>';
  833. $(".feed-list").append(_html);
  834. $(".my-rating" + index).starRating({
  835. starSize: 24,
  836. activeColor: '#d9251c',
  837. starShape: 'rounded',
  838. hoverColor: '#d9251c',
  839. useGradient: false,
  840. initialRating: item.geval_scores,
  841. readOnly: true,
  842. callback: function(currentRating, $el) {
  843. // make a server call here
  844. }
  845. });
  846. })
  847. }
  848. }
  849. });
  850. }
  851. function openPhotoBrowser(_index) {
  852. var UIPhotoViewer = api.require('UIPhotoViewer');
  853. UIPhotoViewer.open({
  854. images: _images,
  855. activeIndex: _index,
  856. placeholderImg: 'widget://image/loading_more.gif',
  857. bgColor: '#000'
  858. }, function(ret, err) {
  859. api.openFrame({
  860. name: 'TEST',
  861. url: './photoSwiperJson_frm.html',
  862. rect: {
  863. x: 0,
  864. marginTop: 10,
  865. w: 'auto',
  866. h: 100,
  867. marginBottom: 50
  868. }
  869. });
  870. api.bringFrameToFront({
  871. from: 'TEST'
  872. });
  873. });
  874. }
  875. function closePhotoViewer() {
  876. var UIPhotoViewer = api.require('UIPhotoViewer');
  877. UIPhotoViewer.close();
  878. }
  879. $(".share-item-friend").on("tap", function() {
  880. var wx = api.require('wx');
  881. wx.shareProgram({
  882. apiKey: '',
  883. scene: 'session',
  884. title: _title,
  885. description: _description,
  886. thumb: 'widget://image/logo2.png',
  887. webpageUrl: _shareurl,
  888. userName: 'gh_344fb21bce0f',
  889. path: 'pages/index/shop?id='+_keyid+'&store_id'+_storeid,
  890. }, function(ret, err) {
  891. if (ret.status) {
  892. alert('分享成功');
  893. } else {
  894. alert(err.code);
  895. }
  896. });
  897. /*wx.shareWebpage({
  898. scene: 'session',
  899. title: _title,
  900. description: _description,
  901. thumb: 'widget://image/logo2.png',
  902. contentUrl: _shareurl
  903. }, function(ret, err) {
  904. if (ret.status) {
  905. //alert("分享成功!");
  906. api.toast({ msg: '分享成功!' });
  907. setPoint();
  908. } else {
  909. // alert(err.code);
  910. api.toast({ msg: err.msg });
  911. }
  912. });*/
  913. $(".share-item").slideUp(500, function() {});
  914. $(".weui-mask").addClass("mask-hidden");
  915. _show = false;
  916. return false;
  917. })
  918. $(".share-item-cale").on("tap", function() {
  919. var wx = api.require('wx');
  920. wx.shareWebpage({
  921. scene: 'timeline',
  922. title: _title,
  923. description: _description,
  924. thumb: 'widget://image/logo2.png',
  925. contentUrl: _shareurl
  926. }, function(ret, err) {
  927. if (ret.status) {
  928. //alert("分享成功!");
  929. api.toast({ msg: '分享成功!' });
  930. setPoint();
  931. } else {
  932. // alert(err.code);
  933. api.toast({ msg: err.msg });
  934. }
  935. });
  936. $(".share-item").slideUp(500, function() {});
  937. $(".weui-mask").addClass("mask-hidden");
  938. _show = false;
  939. return false;
  940. })
  941. $(".share-item-qq").on("tap", function() {
  942. var qq = api.require('QQPlus');
  943. qq.shareNews({
  944. url: _shareurl,
  945. title: _title,
  946. description: _description,
  947. imgUrl: _shareimg
  948. }, function(ret, err) {
  949. if (ret.status) {
  950. //alert("分享成功!");
  951. api.toast({ msg: '分享成功!' });
  952. setPoint();
  953. } else {
  954. // alert(err.code);
  955. api.toast({ msg: err.msg });
  956. }
  957. });
  958. $(".share-item").slideUp(500, function() {});
  959. $(".weui-mask").addClass("mask-hidden");
  960. _show = false;
  961. return false;
  962. })
  963. var _show = false;
  964. $("#share-btn").on("tap", function() {
  965. if (_show == false) {
  966. $(".share-item").slideDown(500, function() {});
  967. $(".weui-mask").removeClass("mask-hidden");
  968. _show = true;
  969. } else {
  970. $(".share-item").slideUp(500, function() {});
  971. _show = false;
  972. }
  973. return false;
  974. })
  975. $(".share-item-cancel").on("tap", function() {
  976. $(".share-item").slideUp(500, function() {});
  977. $(".weui-mask").addClass("mask-hidden");
  978. _show = false;
  979. return false;
  980. })
  981. $(".goods-size-item").on("tap", ".goods-tag", function() {
  982. // $(this).addClass('goods-tag-active').siblings('.goods-tag-active').removeClass('goods-tag-active');
  983. if ( $(this).hasClass("no_active") ) {
  984. return false;
  985. }
  986. var _index = $(this).attr("index");
  987. $(".goods-tag").each(function() {
  988. if ($(this).attr("index") == _index) {
  989. $(this).removeClass("goods-tag-active");
  990. }
  991. })
  992. $(this).addClass("goods-tag-active");
  993. $(".default-item1").empty();
  994. $("." + $(this).attr("ptag")).text($(this).text());
  995. $("." + $(this).attr("ptag")).attr("tag", $(this).attr("tag"));
  996. _size_item = [];
  997. var _sku_spec_map_index = '';
  998. $(".size-item").each(function(xind) {
  999. if ($(this).text() != "") {
  1000. var _item = $(this).attr("tag") + ":" + $(this).text();
  1001. if (xind == 0) {
  1002. _sku_spec_map_index += $(this).attr("tag");
  1003. } else {
  1004. _sku_spec_map_index += '_' + $(this).attr("tag");
  1005. }
  1006. _size_item.push(_item);
  1007. }
  1008. })
  1009. // console.log(_sku_spec_map_index)
  1010. // console.log(_sku_spec_map[_sku_spec_map_index])
  1011. // console.log(_sku_data[_sku_spec_map[_sku_spec_map_index]].spec_img)
  1012. set_checked_list();
  1013. if (_size_item.length == $(".size-item").length) {
  1014. _single_price = _sku_data[_sku_spec_map[_sku_spec_map_index]].goods_price;//$(this).attr("spec_goods_price");
  1015. _goods_id = _sku_data[_sku_spec_map[_sku_spec_map_index]].goods_id;//$(this).attr("spec_id");
  1016. $("#goods_image").attr("src", _sku_data[_sku_spec_map[_sku_spec_map_index]].spec_img);
  1017. $("#buy-num").data("kuc", _sku_data[_sku_spec_map[_sku_spec_map_index]].goods_storage);
  1018. function_name();
  1019. $(".buy-num-tip").text("x" + $("#buy-num").val());
  1020. $(".buy-kuc-tip").text(' ( 库存'+_sku_data[_sku_spec_map[_sku_spec_map_index]].goods_storage+' )');
  1021. var _num = parseInt($("#buy-num").val());
  1022. var _goods_price = _single_price * _num;
  1023. $("#regoods_price").html(_goods_price.toFixed(2));
  1024. }
  1025. return false;
  1026. })
  1027. function set_checked_list() {
  1028. $('.tag_item').each(function (index, element) {
  1029. $(this).find('.goods-tag').each(function (i,e) {
  1030. var is_checked = spec_map_check( _sku_data, _sku_spec_map, index, $(e).attr('tag'), get_checked_list());
  1031. if(!is_checked){
  1032. $(e).addClass('no_active');
  1033. }else{
  1034. $(e).removeClass('no_active');
  1035. }
  1036. })
  1037. })
  1038. }
  1039. $(".select-goods-size").on("tap", function() {
  1040. showGoodsSize();
  1041. return false;
  1042. })
  1043. function showGoodsSize() {
  1044. $(".mask-goods").show();
  1045. $(".goods-size").show(100);
  1046. $(".weui-mask").removeClass("mask-hidden");
  1047. }
  1048. $(".close-goods-size").on("tap", function() {
  1049. $(".mask-goods").hide();
  1050. $(".goods-size").hide();
  1051. $(".weui-mask").addClass("mask-hidden");
  1052. return false;
  1053. })
  1054. $(".num-up").on("tap", function() {
  1055. if ( _spot == 2 ) {
  1056. api.toast({ msg: '商品已下架' });
  1057. return false;
  1058. }
  1059. var _num = parseInt($(".buy-num").val()) + 1;
  1060. var _kucun = $("#buy-num").data("kuc");
  1061. if (_num > _kucun) {
  1062. api.toast({ msg: '库存不足' });
  1063. return false;
  1064. }
  1065. $("#buy-num").val(_num);
  1066. $(".buy-num-tip").text("x" + $(".buy-num").val());
  1067. var _goods_price = _single_price * _num;
  1068. $("#regoods_price").html(_goods_price.toFixed(2));
  1069. return false;
  1070. })
  1071. $(".num-down").on("tap", function() {
  1072. if ( _spot == 2 ) {
  1073. api.toast({ msg: '商品已下架' });
  1074. return false;
  1075. }
  1076. if (parseInt($("#buy-num").val()) > 1) {
  1077. var _num = parseInt($(".buy-num").val()) - 1;
  1078. $("#buy-num").val(_num);
  1079. $(".buy-num-tip").text("x" + $(".buy-num").val());
  1080. var _goods_price = _single_price * _num;
  1081. $("#regoods_price").html(_goods_price.toFixed(2));
  1082. }
  1083. return false;
  1084. })
  1085. $(".buy-btn-item").on("tap", function() {
  1086. if ( _spot == 2 ) {
  1087. api.toast({ msg: '商品已下架' });
  1088. return false;
  1089. }
  1090. // if ($(".buy-btn-item").data("state") == 0) {
  1091. // api.toast({ msg: '商品已下架!' });
  1092. // return false;
  1093. // }
  1094. if (_goods_id == "") {
  1095. //api.toast({ msg:'请选择商品参数!'});
  1096. showGoodsSize();
  1097. return false;
  1098. }
  1099. if (_sku_open) {
  1100. showGoodsSize();
  1101. _sku_open = false;
  1102. return false;
  1103. }
  1104. var _goodsx = [];
  1105. _goodsx.push({"goods_id": _goods_id, "buy_num": $("#buy-num").val() });
  1106. $.ajax({
  1107. url: siteurl + 'v1/order/save_og',//'?do=saveordergoods',
  1108. data: {
  1109. store_id: _storeid,
  1110. goods: JSON.stringify(_goodsx),
  1111. goods_id: _goods_id,
  1112. buy_num: $("#buy-num").val(),
  1113. buyer_id: $api.getStorage("memberid")
  1114. },
  1115. headers: { "X-TOKEN": $api.getStorage("accesstoken") },
  1116. dataType: 'json',
  1117. type: 'post',
  1118. success: function(datas) {
  1119. if (datas.result) {
  1120. // var _gorderid = datas.gorderid;
  1121. api.openWin({
  1122. name: 'postaddr',
  1123. url: 'postaddr.html',
  1124. bounces: false,
  1125. pageParam: {
  1126. gorderid: datas.data.order_id,
  1127. storeid: _storeid
  1128. }
  1129. });
  1130. } else {
  1131. errcode(datas, datas.code);
  1132. }
  1133. }
  1134. });
  1135. return false;
  1136. })
  1137. $(".feedgoods,.show-feedgoods").on("tap", function() {
  1138. api.openWin({
  1139. name: 'feedgoods',
  1140. url: 'feedgoods.html',
  1141. bounces: false,
  1142. pageParam: {
  1143. keyid: _keyid
  1144. }
  1145. });
  1146. return false;
  1147. })
  1148. $(".go-home").on("tap", function() {
  1149. api.openWin({
  1150. name: 'hoteldtl',
  1151. url: 'hoteldtl.html',
  1152. bounces: false,
  1153. animation: {
  1154. type: 'push',
  1155. subType: 'from_left'
  1156. },
  1157. pageParam: {
  1158. keyid: _storeid
  1159. }
  1160. });
  1161. setTimeCloseWin("showgoods");
  1162. return false;
  1163. })
  1164. $(".go-buycar").on("tap", function() {
  1165. // if ( _spot == 2 ) {
  1166. // api.toast({ msg: '商品已下架' });
  1167. // return false;
  1168. // }
  1169. api.openWin({
  1170. name: 'buycar',
  1171. url: 'buycar.html',
  1172. bounces: false,
  1173. pageParam: {
  1174. keyid: _keyid,
  1175. storeid: _storeid
  1176. }
  1177. });
  1178. return false;
  1179. })
  1180. $(".add-buycar").on("tap", function() {
  1181. if ( _spot == 2 ) {
  1182. api.toast({ msg: '商品已下架' });
  1183. return false;
  1184. }
  1185. // if ($(".add-buycar").data("state") == 0) {
  1186. // api.toast({ msg: '商品已下架' });
  1187. // return false;
  1188. // }
  1189. if (_goods_id == "") {
  1190. showGoodsSize();
  1191. return false;
  1192. }
  1193. if (_sku_open) {
  1194. showGoodsSize();
  1195. _sku_open = false;
  1196. return false;
  1197. }
  1198. $(".msg-total").css("animation", "");
  1199. $.ajax({
  1200. url: siteurl + 'v2/order/add_cart',//'?do=addbuycar',
  1201. data: {
  1202. goods_id: _goods_id,
  1203. store_id: _storeid,
  1204. goods_num: $("#buy-num").val(),
  1205. buyer_id: $api.getStorage("memberid")
  1206. },
  1207. headers: { "X-TOKEN": $api.getStorage("accesstoken") },
  1208. dataType: 'json',
  1209. type: 'post',
  1210. success: function(datas) {
  1211. if (datas.result) {
  1212. $(".msg-total").css("animation", "bounceOut 2s");
  1213. var num_car = $(".msg-total").html()*1 + $("#buy-num").val()*1;
  1214. $(".msg-total").removeClass("mask-hidden");
  1215. $(".msg-total").html(num_car);
  1216. api.toast({ msg: datas.msg });
  1217. // chkfavorite();
  1218. } else {
  1219. errcode(datas, datas.code);
  1220. }
  1221. }
  1222. });
  1223. return false;
  1224. })
  1225. $(".add-favorite").on("tap", function() {
  1226. var xx = $(this).attr("nofav");
  1227. $("#favorite").css("animation", "");
  1228. if (xx) {
  1229. api.toast({ msg: "该商品暂不支持收藏" });
  1230. return false;
  1231. }
  1232. // if (!_isfavorite) {
  1233. $.ajax({
  1234. url: siteurl + 'v1/favorites/collect',//'?do=addfavorite',
  1235. data: {
  1236. fav_id: _keyid,
  1237. buyer_id: $api.getStorage("memberid"),
  1238. type: 'goods'
  1239. },
  1240. headers: { "X-TOKEN": $api.getStorage("accesstoken") },
  1241. dataType: 'json',
  1242. type: 'post',
  1243. success: function(datas) {
  1244. if (datas.result) {
  1245. // api.toast({ msg: '加入收藏成功!' });
  1246. $("#favorite").css("animation", "bounceOut 2s");
  1247. if (datas.data.action == 'add') {
  1248. _isfavorite = true;
  1249. $("#favorite").attr("src", "../../image/favorite2.png");
  1250. } else {
  1251. _isfavorite = false;
  1252. $("#favorite").attr("src", "../../image/goods_buy_favorite.png");
  1253. }
  1254. } else {
  1255. errcode(datas, datas.code);
  1256. }
  1257. }
  1258. });
  1259. // } else {
  1260. // $.ajax({
  1261. // url: rooturl + '?do=delfavorite',
  1262. // data: {
  1263. // goods_id: _keyid,
  1264. // buyer_id: $api.getStorage("memberid")
  1265. // },
  1266. // dataType: 'json',
  1267. // type: 'post',
  1268. // success: function(datas) {
  1269. // if (datas.result) {
  1270. // //api.toast({ msg:'删除收藏!'});
  1271. // _isfavorite = false;
  1272. // $("#favorite").attr("src", "../../image/goods_buy_favorite.png");
  1273. // }
  1274. // }
  1275. // });
  1276. // }
  1277. return false;
  1278. })
  1279. $(".goods-tab-btn").on("tap", function() {
  1280. $(".goods-tab").addClass("mask-hidden");
  1281. $(".header-mask").addClass("mask-hidden");
  1282. $("." + $(this).attr("tag")).removeClass("mask-hidden");
  1283. $(".goods-tab-btn").removeClass("goods-btn-active");
  1284. $(this).addClass("goods-btn-active");
  1285. $(".goods-tab-b-line").addClass("nav_fixed");
  1286. $(".goods-tab-b-line").addClass("mask-hidden");
  1287. // $(".goods-tab").removeClass("mask-hidden");
  1288. var tag = $(this).attr("tag");
  1289. console.log(tag)
  1290. if (tag == 'goods-tab-a') {
  1291. $(".goods-tab-b").removeClass("mask-hidden");
  1292. }
  1293. $('html , body').animate({ scrollTop: 0 }, 'slow');
  1294. return false;
  1295. })
  1296. $(".goods-tab-btn2").on("tap", function() {
  1297. $(".goods-tab2").addClass("mask-hidden");
  1298. $("." + $(this).attr("tag")).removeClass("mask-hidden");
  1299. $(".goods-tab-btn2").removeClass("goods-tab-active");
  1300. $(this).addClass("goods-tab-active");
  1301. return false;
  1302. })
  1303. function touch() {
  1304. $("body").on('touchstart', function(e) {
  1305. var touch = e.originalEvent;
  1306. startX = e.originalEvent.changedTouches[0].pageX;
  1307. startY = e.originalEvent.changedTouches[0].pageY;
  1308. $(".box").on('touchmove', function(e) {
  1309. e.preventDefault();
  1310. touch = e.originalEvent.touches[0] || e.originalEvent.changedTouches[0];
  1311. if (touch.pageX - startX > 10) {
  1312. } else if (touch.pageX - startX < -10) {
  1313. };
  1314. if (touch.pageY - startY > 3) {
  1315. if ($(window).scrollTop() <= 30) {
  1316. $(".goods-tab").addClass("mask-hidden");
  1317. $(".header-mask").addClass("mask-hidden");
  1318. $(".goods-tab-a").removeClass("mask-hidden");
  1319. $(".goods-tab-btn").removeClass("goods-btn-active");
  1320. $(".goods-tab-btn-a").addClass("goods-btn-active");
  1321. }
  1322. } else if (touch.pageY - startY < -5) {
  1323. $(".goods-tab").addClass("mask-hidden");
  1324. $(".header-mask").removeClass("mask-hidden");
  1325. $(".goods-tab-b").removeClass("mask-hidden");
  1326. $(".goods-tab-btn").removeClass("goods-btn-active");
  1327. $(".goods-tab-btn-b").addClass("goods-btn-active");
  1328. };
  1329. $(".box").off('touchmove');
  1330. });
  1331. return false;
  1332. }).on('touchend', function() {
  1333. $(".box").off('touchmove');
  1334. })
  1335. }
  1336. function chkfavorite() {
  1337. $(".msg-total").addClass("mask-hidden");
  1338. $.ajax({
  1339. url: rooturl + '?do=chkfavorite',
  1340. data: {
  1341. goods_id: _keyid,
  1342. store_id: _storeid,
  1343. buyer_id: $api.getStorage("memberid")
  1344. },
  1345. dataType: 'json',
  1346. type: 'post',
  1347. success: function(datas) {
  1348. if (datas.fav) {
  1349. _isfavorite = true;
  1350. $("#favorite").attr("src", "../../image/favorite2.png");
  1351. }
  1352. $(".msg-total").html(datas.cart);
  1353. $(".msg-total").removeClass("mask-hidden");
  1354. }
  1355. });
  1356. }
  1357. function save_img() {
  1358. // body...
  1359. var _img_url = $("body .weui-gallery").data("imgurl");
  1360. if ( typeof(_img_url) == "undefined" ) {
  1361. console.log(_img_url)
  1362. } else {
  1363. var _img_arr = '';
  1364. // alert(_img_url);
  1365. _img_arr = _img_url.substr((_img_url.lastIndexOf("/")+1));
  1366. console.log(_img_arr)
  1367. console.log(_img_url)
  1368. api.confirm({
  1369. title: '保存图片',
  1370. buttons: ['取消', '确定']
  1371. }, function (ret, err) {
  1372. // body...
  1373. // alert(JSON.stringify(ret))
  1374. var index = ret.buttonIndex;
  1375. if (index == 2) {
  1376. download_img(_img_url, _img_arr)
  1377. }
  1378. })
  1379. }
  1380. }
  1381. function download_img(img_url, save_name) {
  1382. // body...
  1383. api.download({
  1384. url: img_url,
  1385. encode: false,
  1386. cache: true,
  1387. savePath: 'fs://' + save_name,
  1388. }, function (ret, err) {
  1389. // body...
  1390. if (ret.state == 1) {
  1391. api.saveMediaToAlbum({
  1392. path: 'fs://' + save_name
  1393. }, function (ret, err) {
  1394. // body...
  1395. if (ret && ret.status) {
  1396. api.toast({msg: '保存成功'})
  1397. } else {
  1398. api.toast({msg: '保存失败'})
  1399. }
  1400. })
  1401. } else {
  1402. api.toast({msg: '下载失败' })
  1403. }
  1404. })
  1405. }
  1406. function setPoint() {
  1407. $.ajax({
  1408. url: siteurl + 'v1/member/point',
  1409. data: {
  1410. memberid: $api.getStorage("memberid"),
  1411. stage: 'share'
  1412. },
  1413. headers: { "X-TOKEN": $api.getStorage("accesstoken") },
  1414. dataType: 'json',
  1415. type: 'post',
  1416. success: function(datas) {
  1417. if (datas.result) {
  1418. //
  1419. } else {
  1420. errcode(datas, datas.code);
  1421. }
  1422. }
  1423. });
  1424. }
  1425. $(".back-top").on("tap", function() {
  1426. $('html , body').animate({ scrollTop: 0 }, 'slow');
  1427. return false;
  1428. });
  1429. $.fn.fixedDiv = function(actCls) {
  1430. var that = $(this),
  1431. offsetTop = that.offset().top,
  1432. scrollTop;
  1433. function fix() {
  1434. scrollTop = $(document).scrollTop();
  1435. if (scrollTop > offsetTop) {
  1436. that.addClass(actCls);
  1437. $("#nav_fixed").removeClass("mask-hidden");
  1438. } else {
  1439. that.removeClass(actCls);
  1440. }
  1441. }
  1442. fix();
  1443. $(window).scroll(fix);
  1444. }
  1445. $.fn.fixedDivx = function(actCls) {
  1446. var that = $(this),
  1447. offsetTop = that.offset().top,
  1448. scrollTop;
  1449. function fix() {
  1450. scrollTop = $(document).scrollTop();
  1451. if (scrollTop > offsetTop) {
  1452. that.removeClass(actCls);
  1453. } else {
  1454. that.addClass(actCls);
  1455. }
  1456. }
  1457. fix();
  1458. $(window).scroll(fix);
  1459. }
  1460. $('#fix1').fixedDiv('white-back');
  1461. $('#fix2').fixedDivx('mask-hidden');
  1462. </script>
  1463. </html>