Commit 2176743cfb8e41c94c7d0dbcabf532d1c7883359
Merge branch 'dev' into 'test'
Dev See merge request !537
Showing
43 changed files
with
5431 additions
and
101 deletions
app.json
| 1 | 1 | { |
| 2 | 2 | "pages": [ |
| 3 | - | |
| 4 | 3 | "pages/index/index/index", |
| 5 | 4 | "pages/justTest/justTest", |
| 6 | 5 | "pages/goods/categoryList/categoryList", |
| ... | ... | @@ -103,7 +102,12 @@ |
| 103 | 102 | "pages/quan_list/quan_list", |
| 104 | 103 | "pages/quan_pro/quan_pro", |
| 105 | 104 | "pages/liveStream/liveStream", |
| 106 | - "pages/liveStreamDetails/liveStreamDetails" | |
| 105 | + "pages/liveStreamDetails/liveStreamDetails", | |
| 106 | + "pages/shop_details/shop_details", | |
| 107 | + "pages/goods_share/goods_share", | |
| 108 | + "pages/activity_share/activity_share", | |
| 109 | + "pages/live_share/live_share", | |
| 110 | + "pages/addCustomer/addCustomer" | |
| 107 | 111 | ] |
| 108 | 112 | |
| 109 | 113 | }], | ... | ... |
app.wxss
| 1 | - | |
| 1 | +.pdt20 { | |
| 2 | + padding-top: 20rpx; | |
| 3 | +} | |
| 4 | +.pdt40 { | |
| 5 | + padding-top: 40rpx; | |
| 6 | +} | |
| 2 | 7 | .flex { |
| 3 | 8 | display: flex; |
| 4 | 9 | } |
| ... | ... | @@ -409,8 +414,107 @@ background: #ffe3e2; |
| 409 | 414 | flex-wrap:wrap; |
| 410 | 415 | } |
| 411 | 416 | |
| 417 | +.line-through { | |
| 418 | + text-decoration:line-through; | |
| 419 | +} | |
| 420 | + | |
| 421 | + | |
| 412 | 422 | |
| 413 | 423 | .lh1 { |
| 414 | 424 | line-height: 1; |
| 415 | 425 | } |
| 416 | 426 | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | +/* 图标字体(ty) */ | |
| 434 | +@font-face { | |
| 435 | + font-family: 'iconfont'; /* project id 2054717 */ | |
| 436 | + src: url('//at.alicdn.com/t/font_2054717_eqd24qr0g9a.eot'); | |
| 437 | + src: url('//at.alicdn.com/t/font_2054717_eqd24qr0g9a.eot?#iefix') format('embedded-opentype'), | |
| 438 | + url('//at.alicdn.com/t/font_2054717_eqd24qr0g9a.woff2') format('woff2'), | |
| 439 | + url('//at.alicdn.com/t/font_2054717_eqd24qr0g9a.woff') format('woff'), | |
| 440 | + url('//at.alicdn.com/t/font_2054717_eqd24qr0g9a.ttf') format('truetype'), | |
| 441 | + url('//at.alicdn.com/t/font_2054717_eqd24qr0g9a.svg#iconfont') format('svg'); | |
| 442 | +} | |
| 443 | + | |
| 444 | +.iconfont { | |
| 445 | + font-family: "iconfont" !important; | |
| 446 | + font-size: 16px; | |
| 447 | + font-style: normal; | |
| 448 | + -webkit-font-smoothing: antialiased; | |
| 449 | + -moz-osx-font-smoothing: grayscale; | |
| 450 | +} | |
| 451 | + | |
| 452 | +.icon-save:before { | |
| 453 | + content: "\e6bb"; | |
| 454 | +} | |
| 455 | + | |
| 456 | +.icon-close:before { | |
| 457 | + content: "\e62e"; | |
| 458 | +} | |
| 459 | + | |
| 460 | +.icon-info:before { | |
| 461 | + content: "\e603"; | |
| 462 | +} | |
| 463 | + | |
| 464 | +.icon-people:before { | |
| 465 | + content: "\e66a"; | |
| 466 | +} | |
| 467 | + | |
| 468 | +.icon-fire:before { | |
| 469 | + content: "\e694"; | |
| 470 | +} | |
| 471 | + | |
| 472 | +.icon-live:before { | |
| 473 | + content: "\e664"; | |
| 474 | +} | |
| 475 | + | |
| 476 | +.icon-clock:before { | |
| 477 | + content: "\e608"; | |
| 478 | +} | |
| 479 | + | |
| 480 | +.icon-hot:before { | |
| 481 | + content: "\e680"; | |
| 482 | +} | |
| 483 | + | |
| 484 | +.icon-img:before { | |
| 485 | + content: "\e8c1"; | |
| 486 | +} | |
| 487 | + | |
| 488 | +.icon-shang:before { | |
| 489 | + content: "\e604"; | |
| 490 | +} | |
| 491 | + | |
| 492 | +.icon-xia:before { | |
| 493 | + content: "\e650"; | |
| 494 | +} | |
| 495 | + | |
| 496 | +.icon-daohang:before { | |
| 497 | + content: "\e748"; | |
| 498 | +} | |
| 499 | + | |
| 500 | +.icon-phone:before { | |
| 501 | + content: "\e602"; | |
| 502 | +} | |
| 503 | + | |
| 504 | +.icon-up:before { | |
| 505 | + content: "\e601"; | |
| 506 | +} | |
| 507 | + | |
| 508 | +.icon-arrow_right:before { | |
| 509 | + content: "\e61f"; | |
| 510 | +} | |
| 511 | + | |
| 512 | +.icon-arrow_down:before { | |
| 513 | + content: "\e600"; | |
| 514 | +} | |
| 515 | + | |
| 516 | +.icon-weizhi:before { | |
| 517 | + content: "\e615"; | |
| 518 | +} | |
| 519 | + | |
| 520 | + | ... | ... |
components/nodata/nodata.js
0 → 100644
components/nodata/nodata.json
0 → 100644
components/nodata/nodata.wxml
0 → 100644
components/nodata/nodata.wxss
0 → 100644
| 1 | +@font-face { | |
| 2 | + font-family: 'iconfont'; /* project id 1949577 */ | |
| 3 | + src: url('//at.alicdn.com/t/font_1949577_r1bys5v0lz.eot'); | |
| 4 | + src: url('//at.alicdn.com/t/font_1949577_r1bys5v0lz.eot?#iefix') format('embedded-opentype'), | |
| 5 | + url('//at.alicdn.com/t/font_1949577_r1bys5v0lz.woff2') format('woff2'), | |
| 6 | + url('//at.alicdn.com/t/font_1949577_r1bys5v0lz.woff') format('woff'), | |
| 7 | + url('//at.alicdn.com/t/font_1949577_r1bys5v0lz.ttf') format('truetype'), | |
| 8 | + url('//at.alicdn.com/t/font_1949577_r1bys5v0lz.svg#iconfont') format('svg'); | |
| 9 | +} | |
| 10 | +.iconfont { | |
| 11 | + font-family: "iconfont" !important; | |
| 12 | + font-size: 32rpx; | |
| 13 | + font-style: normal; | |
| 14 | + -webkit-font-smoothing: antialiased; | |
| 15 | + -moz-osx-font-smoothing: grayscale; | |
| 16 | +} | |
| 17 | +.icon-nodata:before { | |
| 18 | + content: "\e636"; | |
| 19 | +} | |
| 20 | +.nodata-container { | |
| 21 | + text-align: center; | |
| 22 | +} | |
| 23 | +.nodata-icon { | |
| 24 | + font-size: 220rpx; | |
| 25 | + color: #ddd; | |
| 26 | + padding-top: 50rpx; | |
| 27 | +} | |
| 28 | +.nodata-title { | |
| 29 | + padding-top: 40rpx; | |
| 30 | + padding-bottom: 40rpx; | |
| 31 | + color: #bbb; | |
| 32 | +} | |
| 0 | 33 | \ No newline at end of file | ... | ... |
components/share/share.js
0 → 100644
| 1 | +Component({ | |
| 2 | + /*** 页面的初始数据***/ | |
| 3 | + data: { | |
| 4 | + type:0,// 0默认情况发送好友和海报 1只有发送好友 | |
| 5 | + }, | |
| 6 | + methods: { | |
| 7 | + cancel() { | |
| 8 | + this.triggerEvent('cancel',{},{bubbles: true}); | |
| 9 | + }, | |
| 10 | + share_img(){ | |
| 11 | + this.triggerEvent('share_img',{},{bubbles: true}); | |
| 12 | + }, | |
| 13 | + set_type(type){ | |
| 14 | + this.setData({type:type}) | |
| 15 | + } | |
| 16 | + | |
| 17 | + } | |
| 18 | +}) | |
| 0 | 19 | \ No newline at end of file | ... | ... |
components/share/share.json
0 → 100644
components/share/share.wxml
0 → 100644
| 1 | +<view class="container" hidden="{{hiddenShare}}"> | |
| 2 | + <view class="container-wrap animated slideInUp"> | |
| 3 | + <view class="flex"> | |
| 4 | + <block wx:if="{{type==0}}"> | |
| 5 | + <button open-type="share" class="btn"> | |
| 6 | + <view class="icon-container bg-green"><view class="iconfont icon-weixin"></view></view> | |
| 7 | + <view class="title">发送给好友</view> | |
| 8 | + </button> | |
| 9 | + <view class="btn" bindtap="share_img"> | |
| 10 | + <view class="icon-container bg-red"><view class="iconfont icon-pic"></view></view> | |
| 11 | + <view class="title">生成海报分享</view> | |
| 12 | + </view> | |
| 13 | + </block> | |
| 14 | + <block wx:else> | |
| 15 | + <button open-type="share" class="btn" style="width: 100%;"> | |
| 16 | + <view class="icon-container bg-green"><view class="iconfont icon-weixin"></view></view> | |
| 17 | + <view class="title">发送给好友</view> | |
| 18 | + </button> | |
| 19 | + </block> | |
| 20 | + </view> | |
| 21 | + <view class="btn-cancel" bindtap="cancel">取消</view> | |
| 22 | + </view> | |
| 23 | +</view> | |
| 0 | 24 | \ No newline at end of file | ... | ... |
components/share/share.wxss
0 → 100644
| 1 | +@charset "UTF-8"; | |
| 2 | +@font-face { | |
| 3 | + font-family: 'iconfont'; | |
| 4 | + /* project id 2125414 */ | |
| 5 | + src: url('//at.alicdn.com/t/font_2125414_o4quhtfqnbr.eot'); | |
| 6 | + src: url('//at.alicdn.com/t/font_2125414_o4quhtfqnbr.eot?#iefix') format('embedded-opentype'), | |
| 7 | + url('//at.alicdn.com/t/font_2125414_o4quhtfqnbr.woff2') format('woff2'), | |
| 8 | + url('//at.alicdn.com/t/font_2125414_o4quhtfqnbr.woff') format('woff'), | |
| 9 | + url('//at.alicdn.com/t/font_2125414_o4quhtfqnbr.ttf') format('truetype'), | |
| 10 | + url('//at.alicdn.com/t/font_2125414_o4quhtfqnbr.svg#iconfont') format('svg'); | |
| 11 | +} | |
| 12 | + | |
| 13 | +.iconfont { | |
| 14 | + font-family: "iconfont" !important; | |
| 15 | + font-size: 32rpx; | |
| 16 | + font-style: normal; | |
| 17 | + -webkit-font-smoothing: antialiased; | |
| 18 | + -moz-osx-font-smoothing: grayscale; | |
| 19 | +} | |
| 20 | + | |
| 21 | +.icon-weixin:before { | |
| 22 | + content: "\e677"; | |
| 23 | +} | |
| 24 | + | |
| 25 | +.icon-pic:before { | |
| 26 | + content: "\e620"; | |
| 27 | +} | |
| 28 | + | |
| 29 | +.container { | |
| 30 | + background-color: white; | |
| 31 | + position: fixed; | |
| 32 | + width: 100%; | |
| 33 | + height: 100%; | |
| 34 | + left: 0; | |
| 35 | + top: 0; | |
| 36 | + background-color: rgba(0,0,0,.5); | |
| 37 | + z-index: 100; | |
| 38 | +} | |
| 39 | +.container-wrap { | |
| 40 | + background-color: white; | |
| 41 | + position: absolute; | |
| 42 | + bottom: 0; | |
| 43 | + width: 100%; | |
| 44 | +} | |
| 45 | +.flex { | |
| 46 | + display: flex; | |
| 47 | +} | |
| 48 | + | |
| 49 | +.btn { | |
| 50 | + box-sizing: border-box; | |
| 51 | + width: 50%; | |
| 52 | + padding: 30rpx; | |
| 53 | + text-align: center; | |
| 54 | +} | |
| 55 | + | |
| 56 | +.icon-container { | |
| 57 | + width: 80rpx; | |
| 58 | + height: 80rpx; | |
| 59 | + line-height: 80rpx; | |
| 60 | + color: white; | |
| 61 | + border-radius: 50%; | |
| 62 | + text-align: center; | |
| 63 | + margin: 0 auto; | |
| 64 | +} | |
| 65 | + | |
| 66 | +.iconfont { | |
| 67 | + font-size: 40rpx; | |
| 68 | +} | |
| 69 | + | |
| 70 | +.bg-green { | |
| 71 | + background-color: #2ECB38; | |
| 72 | +} | |
| 73 | + | |
| 74 | +.bg-red { | |
| 75 | + background-color: #F86C6C; | |
| 76 | +} | |
| 77 | + | |
| 78 | +.title { | |
| 79 | + font-size: 28rpx; | |
| 80 | + color: #7b7b7b; | |
| 81 | + padding-top: 10rpx; | |
| 82 | +} | |
| 83 | + | |
| 84 | +.btn-cancel { | |
| 85 | + padding: 20rpx; | |
| 86 | + text-align: center; | |
| 87 | + color: #7b7b7b; | |
| 88 | + background-color: #f9f9f9; | |
| 89 | + font-size: 28rpx; | |
| 90 | + line-height: 2; | |
| 91 | +} | |
| 92 | + | |
| 93 | +.animated { | |
| 94 | + -webkit-animation-duration: .5s; | |
| 95 | + animation-duration: .5s; | |
| 96 | + -webkit-animation-fill-mode: both; | |
| 97 | + animation-fill-mode: both | |
| 98 | +} | |
| 99 | + | |
| 100 | +.animated.infinite { | |
| 101 | + -webkit-animation-iteration-count: infinite; | |
| 102 | + animation-iteration-count: infinite | |
| 103 | +} | |
| 104 | + | |
| 105 | +.animated.hinge { | |
| 106 | + -webkit-animation-duration: 2s; | |
| 107 | + animation-duration: 2s | |
| 108 | +} | |
| 109 | + | |
| 110 | +@-webkit-keyframes slideInUp { | |
| 111 | + 0% { | |
| 112 | + opacity: 0; | |
| 113 | + -webkit-transform: translateY(2000px); | |
| 114 | + transform: translateY(2000px) | |
| 115 | + } | |
| 116 | + | |
| 117 | + 100% { | |
| 118 | + opacity: 1; | |
| 119 | + -webkit-transform: translateY(0); | |
| 120 | + transform: translateY(0) | |
| 121 | + } | |
| 122 | +} | |
| 123 | + | |
| 124 | +@keyframes slideInUp { | |
| 125 | + 0% { | |
| 126 | + opacity: 0; | |
| 127 | + -webkit-transform: translateY(100px); | |
| 128 | + -ms-transform: translateY(100px); | |
| 129 | + transform: translateY(100px) | |
| 130 | + } | |
| 131 | + | |
| 132 | + 100% { | |
| 133 | + opacity: 1; | |
| 134 | + -webkit-transform: translateY(0); | |
| 135 | + -ms-transform: translateY(0); | |
| 136 | + transform: translateY(0) | |
| 137 | + } | |
| 138 | +} | |
| 139 | + | |
| 140 | +.slideInUp { | |
| 141 | + -webkit-animation-name: slideInUp; | |
| 142 | + animation-name: slideInUp | |
| 143 | +} | |
| 144 | + | |
| 145 | +button{ | |
| 146 | + border: none; | |
| 147 | +} | |
| 148 | + | |
| 149 | +button::after { | |
| 150 | + border: none; | |
| 151 | +} | |
| 0 | 152 | \ No newline at end of file | ... | ... |
packageA/pages/activity_share/activity_share.js
0 → 100644
| 1 | +// packageA//pages/goods_share/goods_share.js | |
| 2 | +var app=getApp(),oo = app.globalData.setting,os=oo,ut = require("../../../utils/util.js"); | |
| 3 | +var regeneratorRuntime = require('../../../utils/runtime.js'); | |
| 4 | +Page({ | |
| 5 | + /** | |
| 6 | + * 页面的初始数据 | |
| 7 | + */ | |
| 8 | + data: { | |
| 9 | + // tab | |
| 10 | + tab: ['秒杀','拼单','促销','专享礼包'], | |
| 11 | + currentIndex: 0, | |
| 12 | + //促销页tab | |
| 13 | + tab2: ['订单促销','搭配促销','优惠促销'], | |
| 14 | + currentIndex2: 0, | |
| 15 | + //秒杀和拼单底部tab | |
| 16 | + currentIndex3: 0, | |
| 17 | + // 控制价格 | |
| 18 | + active1: false, | |
| 19 | + // 控制佣金 | |
| 20 | + active2: false, | |
| 21 | + url:oo.imghost, | |
| 22 | + //popup | |
| 23 | + hiddenPopup: true, | |
| 24 | + | |
| 25 | + list:[], | |
| 26 | + is_load:0, //是否正在加载 | |
| 27 | + is_no_data:0, //没有数据 | |
| 28 | + is_no_more:0, //没有更多数据 | |
| 29 | + key_str:'', | |
| 30 | + pattern:0, //分成的方式 | |
| 31 | + currentPage:1, //当前的页码 | |
| 32 | + | |
| 33 | + canvasHidden: 1, //-- 隐藏画布 -- | |
| 34 | + dis_switch:0, //-- 分销开关 -- | |
| 35 | + pattern:0, //-- 分成的方式 -- | |
| 36 | + share_hidden:1, //-- 分享的按钮隐藏 -- | |
| 37 | + share_good:null, //--- 要分享的商品 --- | |
| 38 | + | |
| 39 | + timer:0, | |
| 40 | + hui_active:null, //优惠活动分享 | |
| 41 | + | |
| 42 | + //点击活动详情的时候的响应 | |
| 43 | + list2:[], | |
| 44 | + is_load2:0, | |
| 45 | + is_no_data2:0, //没有数据 | |
| 46 | + is_no_more2:0, //没有更多数据 | |
| 47 | + currentPage2:1, //页码 | |
| 48 | + prom_goods:null, //优惠活动的条件 | |
| 49 | + | |
| 50 | + }, | |
| 51 | + | |
| 52 | + /** | |
| 53 | + * 生命周期函数--监听页面加载 | |
| 54 | + */ | |
| 55 | + onLoad: function (options) { | |
| 56 | + var th=this; | |
| 57 | + //接受有没有导购的参数 | |
| 58 | + var first_leader=options.first_leader; | |
| 59 | + if(first_leader){ | |
| 60 | + //-- user_id代过来免登陆 -- | |
| 61 | + getApp().globalData.user_id=first_leader; | |
| 62 | + getApp().getUserFir(); | |
| 63 | + } | |
| 64 | + | |
| 65 | + this.requestGoodsList(); | |
| 66 | + //-- 自定义海报 -- | |
| 67 | + getApp().request.promiseGet("/api/weshop/goods/poster/page",{ | |
| 68 | + data:{store_id:os.stoid, type:1, is_use:1 } | |
| 69 | + }).then(res=>{ | |
| 70 | + if(res.data.code==0){ | |
| 71 | + | |
| 72 | + var poster_data=res.data.data.pageData[0]; | |
| 73 | + var json_str=poster_data.jsonStr; | |
| 74 | + | |
| 75 | + if(json_str){ | |
| 76 | + var json_data=JSON.parse(json_str); | |
| 77 | + if(json_data.bg_img){ | |
| 78 | + | |
| 79 | + //-- 把图片那到本地 -- | |
| 80 | + wx.getImageInfo({ | |
| 81 | + src:json_data.bg_img, | |
| 82 | + success: function(res) { | |
| 83 | + var path= res.path; | |
| 84 | + th.setData({share_b_img:path}) | |
| 85 | + }, | |
| 86 | + fail: function(res) {} | |
| 87 | + }); | |
| 88 | + } | |
| 89 | + | |
| 90 | + th.setData({poster:json_data}) | |
| 91 | + | |
| 92 | + } | |
| 93 | + } | |
| 94 | + }) | |
| 95 | + | |
| 96 | + //获取分销的配置 | |
| 97 | + getApp().request.promiseGet("/api/weshop/storeDistribut/get/"+oo.stoid,{}).then(res=>{ | |
| 98 | + if(res.data.code==0){ | |
| 99 | + th.setData({dis_switch:res.data.data.switch,pattern:res.data.data.pattern}); | |
| 100 | + } | |
| 101 | + }) | |
| 102 | + | |
| 103 | + //获取用户设备信息,屏幕宽度 | |
| 104 | + wx.getSystemInfo({ | |
| 105 | + success: res => { | |
| 106 | + th.setData({ | |
| 107 | + screenWidth: res.screenWidth | |
| 108 | + }) | |
| 109 | + } | |
| 110 | + }); | |
| 111 | + | |
| 112 | + //-- ---秒杀和拼团都要有定时器--- | |
| 113 | + if(!options.currentIndex || options.currentIndex<=1){ | |
| 114 | + //设置全局定时器 | |
| 115 | + th.data.timer=setInterval(function () { | |
| 116 | + th.countDown(); | |
| 117 | + },1000); | |
| 118 | + } | |
| 119 | + }, | |
| 120 | + | |
| 121 | + /** | |
| 122 | + * 生命周期函数--监听页面显示 | |
| 123 | + */ | |
| 124 | + onShow: function () {}, | |
| 125 | + /** | |
| 126 | + * 生命周期函数--监听页面隐藏 | |
| 127 | + */ | |
| 128 | + onHide: function () { | |
| 129 | + //--清理定时器-- | |
| 130 | + clearInterval(this.timer); | |
| 131 | + }, | |
| 132 | + /**e | |
| 133 | + * 页面上拉触底事件的处理函数 | |
| 134 | + */ | |
| 135 | + onReachBottom: function () {}, | |
| 136 | + | |
| 137 | + /** | |
| 138 | + * 用户点击右上角分享 | |
| 139 | + */ | |
| 140 | + onShareAppMessage: function () { | |
| 141 | + var th = this; | |
| 142 | + //礼包的转发 | |
| 143 | + if(th.data.currentIndex==3){ | |
| 144 | + var lbid=th.data.hui_active.lbId; | |
| 145 | + var url="pages/giftpack/giftpacklist/giftpacklist?lbId="+lbid+"&isBuy=1"; | |
| 146 | + if(getApp().globalData.user_id){ | |
| 147 | + url+="&first_leader="+getApp().globalData.user_id; | |
| 148 | + } | |
| 149 | + var img=this.data.share_img; | |
| 150 | + var title=th.data.hui_active.giftTitle; | |
| 151 | + | |
| 152 | + var ob={ | |
| 153 | + title:title, | |
| 154 | + path:url, | |
| 155 | + imageUrl: img, | |
| 156 | + }; | |
| 157 | + th.setData({share_hidden:1}); | |
| 158 | + return ob; | |
| 159 | + | |
| 160 | + }else{ | |
| 161 | + //---秒杀,拼团,促销--- | |
| 162 | + var item=this.data.share_good; | |
| 163 | + if(item){ | |
| 164 | + var price = item.shop_price; | |
| 165 | + var title= item.goods_name; | |
| 166 | + var img=this.data.url+item.original_img; | |
| 167 | + var url="/pages/goods/goodsInfo/goodsInfo?goods_id=" + th.data.gid; | |
| 168 | + if(getApp().globalData.user_id){ | |
| 169 | + url+="&first_leader="+getApp().globalData.user_id; | |
| 170 | + } | |
| 171 | + var ob={ | |
| 172 | + title: price + "元 " +title, | |
| 173 | + path:url, | |
| 174 | + imageUrl: img, | |
| 175 | + }; | |
| 176 | + th.setData({share_hidden:1,share_good:null}); | |
| 177 | + return ob; | |
| 178 | + }else{ | |
| 179 | + var url="/pages/index/index/index"; | |
| 180 | + if(getApp().globalData.user_id){ | |
| 181 | + url+="?first_leader="+getApp().globalData.user_id; | |
| 182 | + } | |
| 183 | + var hui_active=this.data.hui_active; | |
| 184 | + var title=hui_active.name; | |
| 185 | + if(!title) title=hui_active.main_goods_name; | |
| 186 | + if(!title) title=hui_active.giftTitle; | |
| 187 | + | |
| 188 | + var ob={ | |
| 189 | + title: title, | |
| 190 | + path:url, | |
| 191 | + }; | |
| 192 | + th.setData({share_hidden:1,share_good:null}); | |
| 193 | + return ob; | |
| 194 | + } | |
| 195 | + } | |
| 196 | + | |
| 197 | + }, | |
| 198 | + | |
| 199 | + | |
| 200 | + //-- 点击tab -- | |
| 201 | + clickTab(e) { | |
| 202 | + var th=this; | |
| 203 | + if(this.data.currentIndex!=e.target.dataset.index){ | |
| 204 | + this.setData({ | |
| 205 | + currentIndex: e.target.dataset.index,is_no_data:0,is_no_more:0,list:[], | |
| 206 | + }); | |
| 207 | + this.data.is_load=0; | |
| 208 | + this.data.currentPage=1; | |
| 209 | + this.requestGoodsList(); | |
| 210 | + if(e.target.dataset.index<=1){ | |
| 211 | + //设置全局定时器 | |
| 212 | + this.data.timer=setInterval(function () { | |
| 213 | + th.countDown(); | |
| 214 | + },1000); | |
| 215 | + }else{ | |
| 216 | + clearInterval(this.timer); | |
| 217 | + } | |
| 218 | + } | |
| 219 | + }, | |
| 220 | + | |
| 221 | + //-- 点击促销页tab -- | |
| 222 | + clickTab2(e) { | |
| 223 | + if(this.data.currentIndex2!=e.target.dataset.index){ | |
| 224 | + this.setData({ | |
| 225 | + currentIndex2: e.target.dataset.index,is_no_data:0,is_no_more:0,list:[], | |
| 226 | + }); | |
| 227 | + this.data.is_load=0; | |
| 228 | + this.data.currentPage=1; | |
| 229 | + this.requestGoodsList(); | |
| 230 | + } | |
| 231 | + | |
| 232 | + }, | |
| 233 | + //-- 点击秒杀和拼单底部tab,火热进行和即将开始 -- | |
| 234 | + clickTab3(e) { | |
| 235 | + if(this.data.currentIndex3!=e.target.dataset.index){ | |
| 236 | + this.setData({ | |
| 237 | + currentIndex3: e.target.dataset.index,is_no_data:0,is_no_more:0,list:[], | |
| 238 | + }); | |
| 239 | + this.data.is_load=0; | |
| 240 | + this.data.currentPage=1; | |
| 241 | + this.requestGoodsList(); | |
| 242 | + } | |
| 243 | + }, | |
| 244 | + // 关闭弹出层 | |
| 245 | + closePopup() { | |
| 246 | + this.setData({ | |
| 247 | + hiddenPopup: true | |
| 248 | + }); | |
| 249 | + }, | |
| 250 | + | |
| 251 | + //--- 显示弹出层 --- | |
| 252 | + showPopup(e) { | |
| 253 | + var th=this; | |
| 254 | + var index=e.currentTarget.dataset.index; | |
| 255 | + var hui_active=this.data.list[index]; | |
| 256 | + | |
| 257 | + //---搭配促销-- | |
| 258 | + this.setData({hui_active: hui_active}); | |
| 259 | + ////---搭配促销-- | |
| 260 | + if(this.data.currentIndex2==2){ | |
| 261 | + this.get_prom_goods(); | |
| 262 | + }else{ | |
| 263 | + //-- 获取搭配购的从商品的信息 -- | |
| 264 | + getApp().request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + hui_active.main_goods_id,{}).then(res=>{ | |
| 265 | + if(res.data.code==0){ | |
| 266 | + var info=res.data.data | |
| 267 | + th.setData({['hui_active.ginfo']:info}); | |
| 268 | + } | |
| 269 | + }) | |
| 270 | + this.get_colloction(); | |
| 271 | + } | |
| 272 | + this.setData({hiddenPopup:false}); | |
| 273 | + | |
| 274 | + }, | |
| 275 | + | |
| 276 | + get_colloction: async function(){ | |
| 277 | + var list=null; | |
| 278 | + //-- 获取搭配购的从商品的信息 -- | |
| 279 | + await app.request.promiseGet("/api/weshop/goods/getGoodsPromList/"+oo.stoid+"/"+this.data.hui_active.main_goods_id+"/2",{}).then(res=>{ | |
| 280 | + if(res.data.code==0){ | |
| 281 | + list=res.data.data.collocationList; | |
| 282 | + } | |
| 283 | + }) | |
| 284 | + if(list){ | |
| 285 | + for(var i in list){ | |
| 286 | + await app.request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + list[i].goods_id,{}).then(res=>{ | |
| 287 | + if(res.data.code==0){ | |
| 288 | + var info=res.data.data | |
| 289 | + list[i].shop_price=info.shop_price; | |
| 290 | + } | |
| 291 | + }) | |
| 292 | + } | |
| 293 | + } | |
| 294 | + this.setData({list2:list});//把数据弄到前台 | |
| 295 | + | |
| 296 | + }, | |
| 297 | + //-- 获取优惠商品的活动 -- | |
| 298 | + get_prom_goods:function(){ | |
| 299 | + var list=null; | |
| 300 | + var th=this; | |
| 301 | + var prom_goods=null; | |
| 302 | + var hui_active=this.data.hui_active; | |
| 303 | + | |
| 304 | + //-- 获取优惠活动的详情信息 -- | |
| 305 | + app.request.promiseGet("/api/weshop/promgoodslist/getPromGoodsInfo/"+hui_active.id,{}).then(res=>{ | |
| 306 | + if(res.data.code==0){ | |
| 307 | + prom_goods=res.data.data; | |
| 308 | + th.setData({prom_goods:prom_goods}); | |
| 309 | + } | |
| 310 | + }) | |
| 311 | + //-- 指定商品参与,才有商品列表分 -- | |
| 312 | + if(hui_active.good_object==1){ | |
| 313 | + this.request_prom_goods(); | |
| 314 | + } | |
| 315 | + | |
| 316 | + }, | |
| 317 | + | |
| 318 | + //-- -------获取商品列表-------- | |
| 319 | + requestGoodsList:function(){ | |
| 320 | + var th=this; | |
| 321 | + if(th.data.is_load) return false; //-- 正在加载 | |
| 322 | + if(th.data.is_no_data) return false; //-- 没有数据 | |
| 323 | + if(th.data.is_no_more) return false; //-- 没有更多 | |
| 324 | + th.data.is_load=1; | |
| 325 | + var url=""; | |
| 326 | + var req_data={ | |
| 327 | + page:this.data.currentPage, | |
| 328 | + store_id:oo.stoid, | |
| 329 | + } | |
| 330 | + | |
| 331 | + switch(th.data.currentIndex){ | |
| 332 | + case 0: //--秒杀-- | |
| 333 | + url="/api/ms/flash_sale/spikepage"; | |
| 334 | + if(th.data.currentIndex3==0){ | |
| 335 | + url+="?timetype=1"; //火热进行中 | |
| 336 | + }else{ | |
| 337 | + url+="?timetype=0"; //即将开始 | |
| 338 | + } | |
| 339 | + req_data.is_show=1; | |
| 340 | + req_data.is_end=0; | |
| 341 | + | |
| 342 | + if(th.data.key_str && th.data.key_str.trim()){ | |
| 343 | + req_data.key_str=th.data.key_str.trim(); | |
| 344 | + } | |
| 345 | + break; | |
| 346 | + case 1: //--拼团-- | |
| 347 | + url="/api/weshop/teamlist/pageteam"; | |
| 348 | + if(th.data.currentIndex3==0){ | |
| 349 | + url+="/1"; //火热进行中 | |
| 350 | + }else{ | |
| 351 | + url+="/0"; //即将开始 | |
| 352 | + } | |
| 353 | + req_data.is_show=1; | |
| 354 | + req_data.is_end=0; | |
| 355 | + | |
| 356 | + if(th.data.key_str && th.data.key_str.trim()){ | |
| 357 | + req_data.key_str=th.data.key_str.trim(); | |
| 358 | + } | |
| 359 | + break; | |
| 360 | + case 2: //--促销-- | |
| 361 | + if(th.data.currentIndex2==0){ | |
| 362 | + url="//api/weshop/promorder/page"; | |
| 363 | + if(th.data.key_str && th.data.key_str.trim()){ | |
| 364 | + req_data.name=th.data.key_str.trim(); | |
| 365 | + } | |
| 366 | + }else if(th.data.currentIndex2==1){ | |
| 367 | + url="/api/weshop/prom/collocation/pageCollocationGoods"; | |
| 368 | + if(th.data.key_str && th.data.key_str.trim()){ | |
| 369 | + req_data.name=th.data.key_str.trim(); | |
| 370 | + } | |
| 371 | + }else{ | |
| 372 | + url="/api/weshop/promgoods/page"; | |
| 373 | + if(th.data.key_str && th.data.key_str.trim()){ | |
| 374 | + req_data.name=th.data.key_str.trim(); | |
| 375 | + } | |
| 376 | + } | |
| 377 | + break; | |
| 378 | + case 3: //专享礼包 | |
| 379 | + url='/api/weshop/marketing/giftbag/pageMd'; | |
| 380 | + if(th.data.key_str && th.data.key_str.trim()){ | |
| 381 | + req_data.key_str=th.data.key_str.trim(); | |
| 382 | + } | |
| 383 | + break; | |
| 384 | + } | |
| 385 | + | |
| 386 | + if(this.data.key_str && this.data.key_str.trim()){ | |
| 387 | + var str=this.data.key_str.trim(); | |
| 388 | + req_data.key_str=str; | |
| 389 | + } | |
| 390 | + //-- ---调用接口---- | |
| 391 | + app.request.promiseGet(url,{data:req_data,isShowLoading:1}).then(res=>{ | |
| 392 | + th.data.is_load=0; | |
| 393 | + if(res.data.code==0 && res.data.data.pageData && res.data.data.pageData.length>0){ | |
| 394 | + th.data.currentPage++; | |
| 395 | + var data=res.data.data.pageData; | |
| 396 | + if(res.data.data.page*10>res.data.data.total){th.setData({is_no_more:1});} | |
| 397 | + var list=th.data.list; | |
| 398 | + list=list.concat(data); | |
| 399 | + th.setData({list:list}); | |
| 400 | + }else{ | |
| 401 | + if(th.data.currentPage==1){ | |
| 402 | + th.setData({is_no_data:1}); | |
| 403 | + } | |
| 404 | + } | |
| 405 | + }) | |
| 406 | + }, | |
| 407 | + | |
| 408 | + //-- -------获取活动详情的商品的列表-------- | |
| 409 | + request_prom_goods:function(){ | |
| 410 | + var th=this; | |
| 411 | + if(th.data.is_load2) return false; //-- 正在加载 | |
| 412 | + if(th.data.is_no_data2) return false; //-- 没有数据 | |
| 413 | + if(th.data.is_no_more2) return false; //-- 没有更多 | |
| 414 | + th.data.is_load2=1; | |
| 415 | + | |
| 416 | + var req_data={ | |
| 417 | + page:th.data.currentPage2 | |
| 418 | + } | |
| 419 | + app.request.promiseGet("/api/weshop/goods/page?store_id="+oo.stoid+"&prom_type=3&prom_id="+th.data.hui_active.id,{ | |
| 420 | + data:req_data,isShowLoading:1 | |
| 421 | + }).then(res=>{ | |
| 422 | + th.data.is_load2=0; | |
| 423 | + if(res.data.code==0 && res.data.data.pageData && res.data.data.pageData.length>0){ | |
| 424 | + th.data.currentPage2++; | |
| 425 | + var data=res.data.data.pageData; | |
| 426 | + if(res.data.data.page*10>res.data.data.total){th.setData({is_no_more2:1});} | |
| 427 | + var list=th.data.list2; | |
| 428 | + list=list.concat(data); | |
| 429 | + th.setData({list2:list}); | |
| 430 | + }else{ | |
| 431 | + if(th.data.currentPage==1){ | |
| 432 | + th.setData({is_no_data2:1}); | |
| 433 | + } | |
| 434 | + } | |
| 435 | + }) | |
| 436 | + }, | |
| 437 | + | |
| 438 | + //--- 获取卡类列表 --- | |
| 439 | + getPlusCardType: function (func) { | |
| 440 | + var storid = oo.stoid; | |
| 441 | + var th = this; | |
| 442 | + getApp().request.promiseGet("/api/weshop/plus/vip/mem/bership/list?" + "storeId=" + storid, {}).then(res => { | |
| 443 | + var plusCard = res.data.data; | |
| 444 | + var arr = [1219, 2089, 3031]; | |
| 445 | + var new_arr = new Array(); | |
| 446 | + var card_name_map=new Map(); | |
| 447 | + var user = getApp().globalData.userInfo; | |
| 448 | + for (var i = 0; i < plusCard.length; i++) { | |
| 449 | + if ((user.card_field==null || user.card_field=="") && (plusCard[i].IsStopBuy==true)) { | |
| 450 | + continue; | |
| 451 | + } | |
| 452 | + var name="card"+plusCard[i].CorrPrice.toLowerCase(); | |
| 453 | + card_name_map.set(name,plusCard[i].CardName); | |
| 454 | + new_arr.push(plusCard[i]); | |
| 455 | + } | |
| 456 | + | |
| 457 | + var ob={"card_list":new_arr,"name_map":card_name_map}; | |
| 458 | + func(ob); | |
| 459 | + }) | |
| 460 | + }, | |
| 461 | + | |
| 462 | + | |
| 463 | + //---图片失败,默认图片--- | |
| 464 | + bind_bnerr2: function (e) { | |
| 465 | + var _errImg = e.target.dataset.errorimg; | |
| 466 | + var _errObj = {}; | |
| 467 | + _errObj[_errImg] ="/miniapp/images/default_g_img.gif"; | |
| 468 | + this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ; | |
| 469 | + }, | |
| 470 | + //-- ---更多加载---- | |
| 471 | + refresh:function(){ | |
| 472 | + this.requestGoodsList(); | |
| 473 | + }, | |
| 474 | + | |
| 475 | + //--定义的保存图片方法,分享团--- | |
| 476 | + saveImageToPhotosAlbum: function() { | |
| 477 | + //--先判断会员状态-- | |
| 478 | + var user_info = getApp().globalData.userInfo; | |
| 479 | + if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { | |
| 480 | + //getApp().my_warnning("请先登录",0,this); | |
| 481 | + wx.navigateTo({ url: '/pages/togoin/togoin', }) | |
| 482 | + return false; | |
| 483 | + } | |
| 484 | + //类型 0普通商品 1秒杀商品 2商家和会员团 3阶梯团 | |
| 485 | + var type = 0; | |
| 486 | + wx.showLoading({ | |
| 487 | + title: '生成中...', | |
| 488 | + }) | |
| 489 | + var that = this, th = that; | |
| 490 | + //设置画板显示,才能开始绘图,并关闭底部按钮 | |
| 491 | + that.setData({ | |
| 492 | + canvasHidden: false,share_hidden:1 | |
| 493 | + }) | |
| 494 | + | |
| 495 | + var app = getApp(); | |
| 496 | + var unit = that.data.screenWidth / 750 * 1.35; //基础单位, | |
| 497 | + var scene = th.data.gid+""; | |
| 498 | + var user_id=getApp().globalData.user_id?getApp().globalData.user_id:0; | |
| 499 | + if(user_id>0){ | |
| 500 | + scene+="_"+user_id; | |
| 501 | + } | |
| 502 | + | |
| 503 | + ///二微码 | |
| 504 | + var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" + | |
| 505 | + os.stoid + "?sceneValue=" + scene + "&pageValue=pages/goods/goodsInfo/goodsInfo"; | |
| 506 | + | |
| 507 | + //读取文件成功则OK-- | |
| 508 | + wx.getImageInfo({ | |
| 509 | + src: path3, | |
| 510 | + success: function(res) { | |
| 511 | + //回调写法 | |
| 512 | + th.get_head_temp(th.get_goods_temp, function() { | |
| 513 | + var vpath = res.path; | |
| 514 | + var context = wx.createCanvasContext('share'); | |
| 515 | + //先画背景 | |
| 516 | + var pg_path = "../../../images/share/share_bg.png"; | |
| 517 | + | |
| 518 | + //-- 如果有自定义海报的时候,判断背景的图片 -- | |
| 519 | + if(th.data.share_b_img){ | |
| 520 | + pg_path=th.data.share_b_img; | |
| 521 | + } | |
| 522 | + context.drawImage(pg_path, 0, 0, 554 * unit, 899 * unit); | |
| 523 | + | |
| 524 | + //-- 是自定义海报的情况下 -- | |
| 525 | + if(th.data.poster && parseInt(th.data.poster.style)==2){ | |
| 526 | + //在线上分享人的情况下 | |
| 527 | + if(parseInt(th.data.poster.show_headpic)){ | |
| 528 | + //获取坐标 | |
| 529 | + var x=parseFloat(th.data.poster.head_x)*2; | |
| 530 | + var y=parseFloat(th.data.poster.head_y)*2; | |
| 531 | + var x1=(x+90) *unit; | |
| 532 | + var y1=(y+50) *unit; | |
| 533 | + //--昵称--- | |
| 534 | + context.setFontSize(24 * unit) | |
| 535 | + context.setFillStyle("black") | |
| 536 | + context.fillText(app.globalData.userInfo.nickname, x1, y1); | |
| 537 | + var width = 24 * app.globalData.userInfo.nickname.length * unit + 4 * unit; | |
| 538 | + //强烈推荐 改许程 | |
| 539 | + var tj_path = "../../../images/share/q_tj.png"; | |
| 540 | + context.drawImage(tj_path, x1 + width, y1-22*unit, 85 * unit, 30 * unit); | |
| 541 | + context.setFontSize(16 * unit) | |
| 542 | + context.setLineJoin('round'); //交点设置成圆角 | |
| 543 | + context.setFillStyle("white") | |
| 544 | + context.fillText('强烈推荐', x1 + width+8*unit, y1-1*unit); | |
| 545 | + } | |
| 546 | + }else{ | |
| 547 | + //--昵称--- | |
| 548 | + context.setFontSize(24 * unit) | |
| 549 | + context.setFillStyle("black") | |
| 550 | + context.fillText(app.globalData.userInfo.nickname, 152 * unit, 76 * unit); | |
| 551 | + var width = 24 * app.globalData.userInfo.nickname.length * unit + 2 * unit; | |
| 552 | + //强烈推荐 改许程 | |
| 553 | + var tj_path = "../../../images/share/q_tj.png"; | |
| 554 | + context.drawImage(tj_path, 152 * unit + width, 54 * unit, 85 * unit, 30 * unit); | |
| 555 | + context.setFontSize(16 * unit) | |
| 556 | + context.setLineJoin('round'); //交点设置成圆角 | |
| 557 | + context.setFillStyle("white") | |
| 558 | + context.fillText('强烈推荐', 149 * unit + width + 15 * unit, 76 * unit); | |
| 559 | + } | |
| 560 | + | |
| 561 | + | |
| 562 | + //---产品名称--- | |
| 563 | + //文本换行 参数:1、canvas对象,2、文本 3、距离左侧的距离 4、距离顶部的距离 5、6、文本的宽度 | |
| 564 | + context.setFillStyle("black"); | |
| 565 | + context.setFontSize(21.3 * unit) | |
| 566 | + th.draw_Text(context, th.data.share_good.goods_name, | |
| 567 | + 38 * unit, 180 * unit, 200 * unit, 279 * unit, unit); | |
| 568 | + //------产品的价格------- | |
| 569 | + context.setFontSize(23 * unit) | |
| 570 | + context.setFillStyle("red") | |
| 571 | + context.fillText("¥", 416 * unit, 185 * unit); | |
| 572 | + context.setFontSize(31 * unit) | |
| 573 | + var pri0 = th.data.share_good.shop_price; | |
| 574 | + if (th.data.prom_act) | |
| 575 | + pri0 = th.data.prom_act.price; | |
| 576 | + | |
| 577 | + pri0 = parseFloat(pri0).toFixed(2); | |
| 578 | + context.fillText(pri0, 438 * unit, 185 * unit); | |
| 579 | + //---市场价划掉--- | |
| 580 | + context.setFillStyle("gray") | |
| 581 | + context.setFontSize(22 * unit) | |
| 582 | + context.fillText("¥" + th.data.share_good.market_price, 426 * unit, 213 * unit); | |
| 583 | + context.setStrokeStyle('gray') | |
| 584 | + context.setLineWidth(1 * unit) | |
| 585 | + context.moveTo(426 * unit, 206 * unit) | |
| 586 | + context.lineTo(510 * unit, 206 * unit) | |
| 587 | + context.stroke(); | |
| 588 | + //---中间大图--- | |
| 589 | + context.drawImage(th.data.share_goods_img, 68 * unit, 242 * unit, 410 * unit, 410 * unit); | |
| 590 | + //-------大图后面就不一样了----------- | |
| 591 | + switch (type) { | |
| 592 | + case 0: //普通商品的展示 | |
| 593 | + //中间的几个字 | |
| 594 | + if(th.data.poster && parseInt(th.data.poster.style)==2 ){ | |
| 595 | + if(parseInt(th.data.poster.show_quality)){ | |
| 596 | + var g_path = "../../../images/share/s_gou.png"; | |
| 597 | + context.drawImage(g_path, 56 * unit, 670 * unit, 22 * unit, 22 * unit); | |
| 598 | + context.setFillStyle("red") | |
| 599 | + context.setFontSize(18 * unit) | |
| 600 | + context.fillText("正品保证", 84 * unit, 690 * unit); | |
| 601 | + | |
| 602 | + context.drawImage(g_path, 218 * unit, 670 * unit, 22 * unit, 22 * unit); | |
| 603 | + context.setFillStyle("red") | |
| 604 | + context.setFontSize(18 * unit) | |
| 605 | + context.fillText("纯实体店", 246 * unit, 690 * unit); | |
| 606 | + | |
| 607 | + context.drawImage(g_path, 388 * unit, 670 * unit, 22 * unit, 22 * unit); | |
| 608 | + context.setFillStyle("red") | |
| 609 | + context.setFontSize(18 * unit) | |
| 610 | + context.fillText("官方验证", 420 * unit, 690 * unit); | |
| 611 | + } | |
| 612 | + | |
| 613 | + }else{ | |
| 614 | + var g_path = "../../../images/share/s_gou.png"; | |
| 615 | + context.drawImage(g_path, 56 * unit, 670 * unit, 22 * unit, 22 * unit); | |
| 616 | + context.setFillStyle("red") | |
| 617 | + context.setFontSize(18 * unit) | |
| 618 | + context.fillText("正品保证", 84 * unit, 690 * unit); | |
| 619 | + | |
| 620 | + context.drawImage(g_path, 218 * unit, 670 * unit, 22 * unit, 22 * unit); | |
| 621 | + context.setFillStyle("red") | |
| 622 | + context.setFontSize(18 * unit) | |
| 623 | + context.fillText("纯实体店", 246 * unit, 690 * unit); | |
| 624 | + | |
| 625 | + context.drawImage(g_path, 388 * unit, 670 * unit, 22 * unit, 22 * unit); | |
| 626 | + context.setFillStyle("red") | |
| 627 | + context.setFontSize(18 * unit) | |
| 628 | + context.fillText("官方验证", 420 * unit, 690 * unit); | |
| 629 | + } | |
| 630 | + | |
| 631 | + //---画线--- | |
| 632 | + context.setLineWidth(1 * unit) | |
| 633 | + context.moveTo(32 * unit, 710 * unit) | |
| 634 | + context.lineTo(520 * unit, 710 * unit) | |
| 635 | + context.stroke(); | |
| 636 | + //---文字--- | |
| 637 | + context.setFillStyle("black") | |
| 638 | + context.setFontSize(22 * unit) | |
| 639 | + // 原来start ---> | |
| 640 | + context.fillText("优惠乐翻天,精彩就在你身边", 40 * unit, 776 * unit); | |
| 641 | + context.fillText("长按识别二维码,立即开始抢购", 40 * unit, 826 * unit); | |
| 642 | + | |
| 643 | + //---二维吗图--- | |
| 644 | + //-- 自定义海报 -- | |
| 645 | + if(th.data.poster){ | |
| 646 | + var erm_x= parseFloat(th.data.poster.ewm_x)*2; | |
| 647 | + var erm_y= parseFloat(th.data.poster.ewm_y)*2; | |
| 648 | + context.drawImage(vpath, erm_x * unit, erm_y * unit, 120 * unit, 120 * unit); | |
| 649 | + }else{ | |
| 650 | + //---二维吗图--- | |
| 651 | + context.drawImage(vpath, 420 * unit, 726 * unit, 120 * unit, 120 * unit); | |
| 652 | + } | |
| 653 | + | |
| 654 | + break; | |
| 655 | + case 1: //秒杀商品的展示 | |
| 656 | + //---画线--- | |
| 657 | + context.setLineWidth(1 * unit) | |
| 658 | + context.moveTo(32 * unit, 670 * unit) | |
| 659 | + context.lineTo(520 * unit, 670 * unit) | |
| 660 | + context.stroke(); | |
| 661 | + | |
| 662 | + //画秒杀的图片 | |
| 663 | + var miaos_path = '../../../images/share/miao_share.png'; | |
| 664 | + context.drawImage(miaos_path, 43 * unit, 700 * unit, 222 * unit, 40 * unit); | |
| 665 | + | |
| 666 | + //---文字--- | |
| 667 | + context.setFontSize(22 * unit) | |
| 668 | + context.setFillStyle("black") | |
| 669 | + context.fillText("特惠好物,限时秒杀", 40 * unit, 806 * unit); | |
| 670 | + context.fillText("长按识别二维码,立即开始抢购", 40 * unit, 846 * unit); | |
| 671 | + //---二维吗图--- | |
| 672 | + //-- 自定义海报 -- | |
| 673 | + if(th.data.poster){ | |
| 674 | + var erm_x= parseFloat(th.data.poster.ewm_x)*2; | |
| 675 | + var erm_y= parseFloat(th.data.poster.ewm_y)*2; | |
| 676 | + context.drawImage(vpath, erm_x * unit, erm_y * unit, 120 * unit, 120 * unit); | |
| 677 | + }else{ | |
| 678 | + //---二维吗图--- | |
| 679 | + context.drawImage(vpath, 420 * unit, 726 * unit, 120 * unit, 120 * unit); | |
| 680 | + } | |
| 681 | + break; | |
| 682 | + | |
| 683 | + case 2: //会员团和商家团的展示 | |
| 684 | + //---画线--- | |
| 685 | + context.setLineWidth(1 * unit) | |
| 686 | + context.moveTo(32 * unit, 670 * unit) | |
| 687 | + context.lineTo(520 * unit, 670 * unit) | |
| 688 | + context.stroke(); | |
| 689 | + //---文字--- | |
| 690 | + context.setFontSize(22 * unit) | |
| 691 | + context.font = 'normal bold'; | |
| 692 | + context.setFillStyle("black") | |
| 693 | + context.fillText("好物拼起来,拼拼更划算", 40 * unit, 726 * unit); | |
| 694 | + | |
| 695 | + //绘制成团图片 | |
| 696 | + var ct_img = "../../../images/share/ct_num.png"; | |
| 697 | + context.drawImage(ct_img, 40 * unit, 740 * unit, 120 * unit, 30 * unit); | |
| 698 | + var ct_num = th.data.prom_act.ct_num; | |
| 699 | + context.setFontSize(14 * unit) | |
| 700 | + context.font = 'normal'; | |
| 701 | + context.setFillStyle("red") | |
| 702 | + if (ct_num < 10) { | |
| 703 | + context.fillText(ct_num + "人拼团", 92 * unit, 760 * unit); | |
| 704 | + } else { | |
| 705 | + context.fillText(ct_num + "人拼团", 86 * unit, 760 * unit); | |
| 706 | + } | |
| 707 | + context.setFontSize(22 * unit) | |
| 708 | + context.fillText("已拼" + th.data.prom_act.buy_num + "份", 166 * unit, 763 * unit); | |
| 709 | + context.setFillStyle("gray") | |
| 710 | + context.fillText("快来和我一起拼团吧!", 40 * unit, 826 * unit); | |
| 711 | + context.setFillStyle("black") | |
| 712 | + context.font = 'normal bold 18px sans-serif'; | |
| 713 | + context.setFontSize(21.3 * unit) | |
| 714 | + context.fillText("长按识别二维码,立即参团", 40 * unit, 856 * unit); | |
| 715 | + //---二维吗图--- | |
| 716 | + //-- 自定义海报 -- | |
| 717 | + if(th.data.poster){ | |
| 718 | + var erm_x= parseFloat(th.data.poster.ewm_x)*2; | |
| 719 | + var erm_y= parseFloat(th.data.poster.ewm_y)*2; | |
| 720 | + context.drawImage(vpath, erm_x * unit, erm_y * unit, 120 * unit, 120 * unit); | |
| 721 | + }else{ | |
| 722 | + //---二维吗图--- | |
| 723 | + context.drawImage(vpath, 420 * unit, 726 * unit, 120 * unit, 120 * unit); | |
| 724 | + } | |
| 725 | + break | |
| 726 | + case 3: //阶梯团的展示 | |
| 727 | + //---画线--- | |
| 728 | + context.setLineWidth(1 * unit) | |
| 729 | + context.moveTo(32 * unit, 670 * unit) | |
| 730 | + context.lineTo(520 * unit, 670 * unit) | |
| 731 | + context.stroke(); | |
| 732 | + //---文字--- | |
| 733 | + context.setFontSize(22 * unit) | |
| 734 | + context.font = 'normal bold'; | |
| 735 | + context.setFillStyle("black") | |
| 736 | + context.fillText("好物拼起来,拼拼更划算", 40 * unit, 726 * unit); | |
| 737 | + //---绘制中间阶梯的价格--- | |
| 738 | + var list = th.data.prom_act.ct_rylist; | |
| 739 | + for (var i = 0; i < list.length; i++) { | |
| 740 | + var item = list[i]; | |
| 741 | + var wi = i * 90 * unit; | |
| 742 | + context.font = 'normal'; | |
| 743 | + context.setFontSize(16 * unit) | |
| 744 | + context.setFillStyle("red") | |
| 745 | + context.fillText("¥", 40 * unit + wi, 756 * unit); | |
| 746 | + context.setFontSize(22 * unit) | |
| 747 | + var pri = parseFloat(item.price).toFixed(2); | |
| 748 | + context.fillText(pri, 56 * unit + wi, 756 * unit); | |
| 749 | + context.setFillStyle("gray") | |
| 750 | + context.fillText("满" + item.rynum + "人", 40 * unit + wi, 786 * unit); | |
| 751 | + } | |
| 752 | + //----------------下面部分---------------- | |
| 753 | + context.setFillStyle("gray") | |
| 754 | + context.fillText("快来和我一起拼团吧!", 40 * unit, 830 * unit); | |
| 755 | + context.setFillStyle("black") | |
| 756 | + context.font = 'normal bold 18px sans-serif'; | |
| 757 | + context.setFontSize(22 * unit) | |
| 758 | + context.fillText("长按识别二维码,立即参团", 40 * unit, 860 * unit); | |
| 759 | + | |
| 760 | + //-- 自定义海报 -- | |
| 761 | + if(th.data.poster){ | |
| 762 | + var erm_x= parseFloat(th.data.poster.ewm_x)*2; | |
| 763 | + var erm_y= parseFloat(th.data.poster.ewm_y)*2; | |
| 764 | + context.drawImage(vpath, erm_x * unit, erm_y * unit, 120 * unit, 120 * unit); | |
| 765 | + }else{ | |
| 766 | + //---二维吗图--- | |
| 767 | + context.drawImage(vpath, 420 * unit, 726 * unit, 120 * unit, 120 * unit); | |
| 768 | + } | |
| 769 | + break | |
| 770 | + } | |
| 771 | + | |
| 772 | + | |
| 773 | + //--- 如果是自定义海报的时候 --- | |
| 774 | + if(th.data.poster && parseInt(th.data.poster.style)==2){ | |
| 775 | + //如果显示会员信息的话 | |
| 776 | + if(parseInt(th.data.poster.show_headpic)){ | |
| 777 | + //获取坐标 | |
| 778 | + var x= parseFloat(th.data.poster.head_x)*2; | |
| 779 | + var y=parseFloat(th.data.poster.head_y)*2; | |
| 780 | + //---绘制圆形要放在最后---- | |
| 781 | + context.save(); | |
| 782 | + context.beginPath(); | |
| 783 | + var h_x = x* unit; | |
| 784 | + var h_y = y * unit; | |
| 785 | + var h_r = 40 * unit; | |
| 786 | + var cx = h_x + h_r; | |
| 787 | + var cy = h_y + h_r; | |
| 788 | + context.arc(cx, cy, h_r, 0, Math.PI * 2, false); | |
| 789 | + context.closePath(); | |
| 790 | + context.fill(); | |
| 791 | + context.clip(); | |
| 792 | + context.drawImage(th.data.share_head, h_x, h_y, h_r * 2, h_r * 2); | |
| 793 | + context.restore(); | |
| 794 | + } | |
| 795 | + | |
| 796 | + }else{ | |
| 797 | + //---绘制圆形要放在最后---- | |
| 798 | + context.save(); | |
| 799 | + context.beginPath(); | |
| 800 | + var h_x = 60 * unit; | |
| 801 | + var h_y = 24 * unit; | |
| 802 | + var h_r = 40 * unit; | |
| 803 | + var cx = h_x + h_r; | |
| 804 | + var cy = h_y + h_r; | |
| 805 | + context.arc(cx, cy, h_r, 0, Math.PI * 2, false); | |
| 806 | + context.closePath(); | |
| 807 | + context.fill(); | |
| 808 | + context.clip(); | |
| 809 | + context.drawImage(th.data.share_head, h_x, h_y, h_r * 2, h_r * 2); | |
| 810 | + context.restore(); | |
| 811 | + } | |
| 812 | + | |
| 813 | + | |
| 814 | + //把画板内容绘制成图片,并回调 画板图片路径 | |
| 815 | + context.draw(false, function() { | |
| 816 | + setTimeout(function() { | |
| 817 | + wx.canvasToTempFilePath({ | |
| 818 | + x: 0, | |
| 819 | + y: 0, | |
| 820 | + width: 750, | |
| 821 | + height: 1217, | |
| 822 | + destWidth: 1.2 * 750 * 750 / that.data.screenWidth, | |
| 823 | + destHeight: 1.2 * 1217 * 750 / that.data.screenWidth, | |
| 824 | + canvasId: 'share', | |
| 825 | + success: function(res) { | |
| 826 | + that.setData({ | |
| 827 | + shareImgPath: res.tempFilePath, | |
| 828 | + canvasHidden: true | |
| 829 | + }) | |
| 830 | + if (!res.tempFilePath) { | |
| 831 | + wx.showModal({ | |
| 832 | + title: '提示', | |
| 833 | + content: '图片绘制中,请稍后重试', | |
| 834 | + showCancel: false | |
| 835 | + }) | |
| 836 | + return false; | |
| 837 | + } | |
| 838 | + wx.previewImage({ | |
| 839 | + //将图片预览出来 | |
| 840 | + urls: [that.data.shareImgPath] | |
| 841 | + }); | |
| 842 | + //-- 将商品清空 -- | |
| 843 | + th.setData({share_good:null}); | |
| 844 | + | |
| 845 | + wx.hideLoading(); | |
| 846 | + } | |
| 847 | + }) | |
| 848 | + }, 500) | |
| 849 | + | |
| 850 | + }); | |
| 851 | + }); | |
| 852 | + } | |
| 853 | + }); | |
| 854 | + | |
| 855 | + }, | |
| 856 | + //---点击分享优惠活动--- | |
| 857 | + share_index:function(e){ | |
| 858 | + | |
| 859 | + //--先判断会员状态-- | |
| 860 | + var user_info = getApp().globalData.userInfo; | |
| 861 | + if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { | |
| 862 | + //getApp().my_warnning("请先登录",0,this); | |
| 863 | + wx.navigateTo({ url: '/pages/togoin/togoin', }) | |
| 864 | + return false; | |
| 865 | + } | |
| 866 | + | |
| 867 | + var index=e.currentTarget.dataset.index; | |
| 868 | + var item=this.data.list[index]; | |
| 869 | + this.setData({share_hidden:0,hui_active:item}); | |
| 870 | + | |
| 871 | + var com = this.selectComponent("#share_button"); //组件的id | |
| 872 | + com.set_type(1); | |
| 873 | + }, | |
| 874 | + //---点击分享商品--- | |
| 875 | + share_good:function(e){ | |
| 876 | + | |
| 877 | + //--先判断会员状态-- | |
| 878 | + var user_info = getApp().globalData.userInfo; | |
| 879 | + if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { | |
| 880 | + //getApp().my_warnning("请先登录",0,this); | |
| 881 | + wx.navigateTo({ url: '/pages/togoin/togoin', }) | |
| 882 | + return false; | |
| 883 | + } | |
| 884 | + | |
| 885 | + var index=e.currentTarget.dataset.index; | |
| 886 | + var item=this.data.list[index]; | |
| 887 | + this.setData({share_hidden:0,share_good:item}); | |
| 888 | + | |
| 889 | + var com = this.selectComponent("#share_button"); //组件的id | |
| 890 | + com.set_type(0); | |
| 891 | + }, | |
| 892 | + | |
| 893 | + //----活动详情里面的分享--- | |
| 894 | + share_good2:function(e){ | |
| 895 | + //--先判断会员状态-- | |
| 896 | + var user_info = getApp().globalData.userInfo; | |
| 897 | + if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { | |
| 898 | + //getApp().my_warnning("请先登录",0,this); | |
| 899 | + wx.navigateTo({ url: '/pages/togoin/togoin', }) | |
| 900 | + return false; | |
| 901 | + } | |
| 902 | + | |
| 903 | + var index=e.currentTarget.dataset.index; | |
| 904 | + var item=this.data.list2[index]; | |
| 905 | + this.setData({share_hidden:0,share_good:item}); | |
| 906 | + var com = this.selectComponent("#share_button"); //组件的id | |
| 907 | + com.set_type(0); | |
| 908 | + }, | |
| 909 | + | |
| 910 | + //-----详情里面的分享------- | |
| 911 | + share_detail:function(e){ | |
| 912 | + | |
| 913 | + //--先判断会员状态-- | |
| 914 | + var user_info = getApp().globalData.userInfo; | |
| 915 | + if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { | |
| 916 | + //getApp().my_warnning("请先登录",0,this); | |
| 917 | + wx.navigateTo({ url: '/pages/togoin/togoin', }) | |
| 918 | + return false; | |
| 919 | + } | |
| 920 | + | |
| 921 | + var com = this.selectComponent("#share_button"); //组件的id | |
| 922 | + com.set_type(0); | |
| 923 | + | |
| 924 | + var idx=e.currentTarget.dataset.index; | |
| 925 | + var item=this.data.list2[index]; | |
| 926 | + this.setData({share_hidden:0,share_good:item}); | |
| 927 | + }, | |
| 928 | + | |
| 929 | + cancel:function(){ | |
| 930 | + this.setData({share_hidden:1}); | |
| 931 | + }, | |
| 932 | + | |
| 933 | + //--获取头像的本地缓存,回调写法-- | |
| 934 | + get_head_temp: function(tt, func) { | |
| 935 | + var ee = this; | |
| 936 | + if (ee.data.share_head) { | |
| 937 | + tt(func); | |
| 938 | + return false; | |
| 939 | + } | |
| 940 | + //---获取分享图片的本地地址,头像和商品图片---- | |
| 941 | + var path2 = getApp().globalData.userInfo.head_pic; | |
| 942 | + if (path2 == "") { | |
| 943 | + ee.data.share_head = "../../../images/share/hui_hear_pic.png"; | |
| 944 | + tt(func); | |
| 945 | + } else { | |
| 946 | + path2 = path2.replace("http://thirdwx.qlogo.cn", "https://wx.qlogo.cn"); | |
| 947 | + path2 = path2.replace("https://thirdwx.qlogo.cn", "https://wx.qlogo.cn"); | |
| 948 | + wx.getImageInfo({ | |
| 949 | + src: path2, | |
| 950 | + success: function(res) { | |
| 951 | + //res.path是网络图片的本地地址 | |
| 952 | + ee.data.share_head = res.path; | |
| 953 | + tt(func); | |
| 954 | + }, | |
| 955 | + fail: function(res) { | |
| 956 | + ee.data.share_head = "../../../images/share/hui_hear_pic.png"; //分享的图片不能用网络的 | |
| 957 | + tt(func); | |
| 958 | + } | |
| 959 | + }); | |
| 960 | + } | |
| 961 | + }, | |
| 962 | + //--获取商品图片的本地缓存,回调写法-- | |
| 963 | + get_goods_temp: function(tt) { | |
| 964 | + var ee = this; | |
| 965 | + //获取商品是分享图信息 | |
| 966 | + wx.getImageInfo({ | |
| 967 | + src: ee.data.url+ee.data.share_good.original_img, | |
| 968 | + success: function(res) { | |
| 969 | + //res.path是网络图片的本地地址 | |
| 970 | + ee.data.share_goods_img = res.path; | |
| 971 | + tt(); | |
| 972 | + }, | |
| 973 | + fail: function(res) { | |
| 974 | + ee.data.share_goods_img = "../../../images/share/default_g_img.gif"; //分享的图片不能用网络的 | |
| 975 | + tt(); | |
| 976 | + } | |
| 977 | + }); | |
| 978 | + }, | |
| 979 | + | |
| 980 | + //文本换行 参数:1、canvas对象,2、文本 3、距离左侧的距离 4、距离顶部的距离 5、6、文本的宽度 | |
| 981 | + draw_Text: function(ctx, str, leftWidth, initHeight, titleHeight, canvasWidth, unit) { | |
| 982 | + var lineWidth = 0; | |
| 983 | + var lastSubStrIndex = 0; //每次开始截取的字符串的索引 | |
| 984 | + var han = 0; | |
| 985 | + for (let i = 0; i < str.length; i++) { | |
| 986 | + if (han == 2) return; | |
| 987 | + //lineWidth += ctx.measureText(str[i]).width; | |
| 988 | + lineWidth += ut.measureText(str[i], 21.3 * unit); | |
| 989 | + if (lineWidth > canvasWidth) { | |
| 990 | + han++; | |
| 991 | + | |
| 992 | + if (han == 2) | |
| 993 | + ctx.fillText(str.substring(lastSubStrIndex, i) + '...', leftWidth, initHeight); //绘制截取部分 | |
| 994 | + else | |
| 995 | + ctx.fillText(str.substring(lastSubStrIndex, i), leftWidth, initHeight); | |
| 996 | + | |
| 997 | + initHeight += 22; //22为字体的高度 | |
| 998 | + lineWidth = 0; | |
| 999 | + lastSubStrIndex = i; | |
| 1000 | + titleHeight += 20; | |
| 1001 | + } | |
| 1002 | + if (i == str.length - 1) { //绘制剩余部分 | |
| 1003 | + ctx.fillText(str.substring(lastSubStrIndex, i + 1), leftWidth, initHeight); | |
| 1004 | + } | |
| 1005 | + } | |
| 1006 | + }, | |
| 1007 | + | |
| 1008 | + //---小于10的格式化函数---- | |
| 1009 | + timeFormat(param) { | |
| 1010 | + return param < 10 ? '0' + param : param; | |
| 1011 | + }, | |
| 1012 | + | |
| 1013 | + //----倒计时函数----- | |
| 1014 | + countDown() { | |
| 1015 | + if(!this.data.timer) return false; | |
| 1016 | + var th=this; | |
| 1017 | + // 获取当前时间,同时得到活动结束时间数组 | |
| 1018 | + let newTime =ut.gettimestamp(); | |
| 1019 | + var endTimeList = this.data.list; | |
| 1020 | + if(endTimeList==null) return null | |
| 1021 | + // 对结束时间进行处理渲染到页面 | |
| 1022 | + for (var i = 0; i < endTimeList.length;i++){ | |
| 1023 | + var o = endTimeList[i]; | |
| 1024 | + var endTime = o.end_time; | |
| 1025 | + let obj = null; | |
| 1026 | + // 如果活动未结束,对时间进行处理 | |
| 1027 | + if (endTime - newTime > 0){ | |
| 1028 | + let time = (endTime - newTime); | |
| 1029 | + // 获取天、时、分、秒 | |
| 1030 | + let day = parseInt(time / (60 * 60 * 24)); | |
| 1031 | + let hou = parseInt(time % (60 * 60 * 24) / 3600); | |
| 1032 | + let min = parseInt(time % (60 * 60 * 24) % 3600 / 60); | |
| 1033 | + let sec = parseInt(time % (60 * 60 * 24) % 3600 % 60); | |
| 1034 | + obj = { | |
| 1035 | + day: this.timeFormat(day), hou: this.timeFormat(hou), min: this.timeFormat(min), sec: this.timeFormat(sec), hide: 1 | |
| 1036 | + } | |
| 1037 | + }else{ | |
| 1038 | + //活动已结束,全部设置为'00' | |
| 1039 | + obj = { day: '00', hou: '00', min: '00', sec: '00' } | |
| 1040 | + } | |
| 1041 | + var txt ="list["+i+"].djs"; | |
| 1042 | + th.setData({ [txt]: obj}); | |
| 1043 | + } | |
| 1044 | + }, | |
| 1045 | + | |
| 1046 | + //-------搜索的相关功能------ | |
| 1047 | + set_search_value:function(e){ | |
| 1048 | + var key_str=e.detail.value; | |
| 1049 | + if(key_str) key_str=key_str.trim(); | |
| 1050 | + this.setData({key_str:key_str}); | |
| 1051 | + | |
| 1052 | + }, | |
| 1053 | + search_data:function(){ | |
| 1054 | + this.setData({ | |
| 1055 | + is_no_data:0,is_no_more:0,list:[], | |
| 1056 | + }); | |
| 1057 | + this.data.is_load=0; | |
| 1058 | + this.data.currentPage=1; | |
| 1059 | + this.requestGoodsList(); | |
| 1060 | + } | |
| 1061 | + | |
| 1062 | + | |
| 1063 | +}) | |
| 0 | 1064 | \ No newline at end of file | ... | ... |
packageA/pages/activity_share/activity_share.json
0 → 100644
packageA/pages/activity_share/activity_share.wxml
0 → 100644
| 1 | +<wxs module="g_filter" src="g_filter.wxs"></wxs> | |
| 2 | +<view class="container"> | |
| 3 | + <!-- 搜索框 --> | |
| 4 | + <view class="search-container"> | |
| 5 | + <view class="input-container"><input bindinput="set_search_value" class="search" type="text" placeholder="请输入您想查找的商品信息"/></view> | |
| 6 | + <view bindtap="search_data" class="btn-search">搜索</view> | |
| 7 | + </view> | |
| 8 | + | |
| 9 | + <!-- 列表 --> | |
| 10 | + <view class="list-container"> | |
| 11 | + <!-- 标题 --> | |
| 12 | + <view class="title" > | |
| 13 | + <block wx:for="{{tab}}"> | |
| 14 | + <view class="title-item {{currentIndex == index ? 'active':''}}" data-index="{{index}}" bindtap="clickTab">{{item}}</view> | |
| 15 | + </block> | |
| 16 | + </view> | |
| 17 | + <!-- 促销页标题 --> | |
| 18 | + <view class="subTab-title flex" wx:if="{{currentIndex == 2}}"> | |
| 19 | + <block wx:for="{{tab2}}"> | |
| 20 | + <view class="subTab-titleItem {{currentIndex2 == index ? 'active':''}}" data-index="{{index}}" bindtap="clickTab2">{{item}}</view> | |
| 21 | + </block> | |
| 22 | + </view> | |
| 23 | + <!-- 列表项 --> | |
| 24 | + <scroll-view | |
| 25 | + class="list {{currentIndex == 2?'active1':''}} {{currentIndex == 3?'active2':''}}" | |
| 26 | + scroll-y="true" | |
| 27 | + bindscrolltolower="refresh" | |
| 28 | + scroll-anchoring | |
| 29 | + refresher-enabled> | |
| 30 | + | |
| 31 | + <block wx:for="{{list}}"> | |
| 32 | + | |
| 33 | + <!-- 拼单和秒杀 --> | |
| 34 | + <block wx:if="{{currentIndex == 0 || currentIndex == 1}}"> | |
| 35 | + <view class class="list-item"> | |
| 36 | + <view class="img-container"> | |
| 37 | + <image src="{{url+item.original_img}}" style="width: 100%; height: 100%;" | |
| 38 | + binderror="bind_bnerr2" lazy-load="true" | |
| 39 | + data-errorimg="list[{{index}}].original_img"></image> | |
| 40 | + | |
| 41 | + </view> | |
| 42 | + <view class="details"> | |
| 43 | + <view class="fs28 name ellipsis-2">{{item.title}}</view> | |
| 44 | + <view> | |
| 45 | + <!-- 点击秒杀时显示 --> | |
| 46 | + <view class="flex ai-center pdtb8" wx:if="{{currentIndex == 0}}"> | |
| 47 | + <view class="progress-container"> | |
| 48 | + <progress class="progress" percent="{{100*(item.goods_num-item.buy_num)/item.goods_num}}" border-radius="6" stroke-width="14" activeColor="#FE6867" backgroundColor="#ccc"></progress> | |
| 49 | + <text class="percent fs20">剩余{{g_filter.toFix(100*(item.goods_num-item.buy_num)/item.goods_num,2) }}%</text> | |
| 50 | + </view> | |
| 51 | + <view class="fs22 gray">已抢{{item.buy_num}}件</view> | |
| 52 | + </view> | |
| 53 | + <!-- 点击拼单时显示 --> | |
| 54 | + <view class="flex pdtb6" wx:if="{{currentIndex == 1}}"> | |
| 55 | + <view class="group-num">已拼{{item.buy_num}}份</view> | |
| 56 | + <view class="group-type">1人团</view> | |
| 57 | + </view> | |
| 58 | + <!-- 公共项 --> | |
| 59 | + <view class="fs22 red">剩余: | |
| 60 | + <text class='tui-conutdown-box'> {{item.djs.day}}</text>天 | |
| 61 | + <text class='tui-conutdown-box'>{{item.djs.hou}}</text>时 | |
| 62 | + <text class='tui-conutdown-box'>{{item.djs.min}}</text>分 | |
| 63 | + <text class='tui-conutdown-box tui-countdown-bg'>{{item.djs.sec}}</text>秒 | |
| 64 | + </view> | |
| 65 | + </view> | |
| 66 | + <view class="red flex ai-center"> | |
| 67 | + <view>¥{{item.price}}</view> | |
| 68 | + <view class="retail">零售价:¥{{item.market_price}}</view> | |
| 69 | + </view> | |
| 70 | + <view bindtap="share_good" data-index="{{index}}" class="t-r fs28"><text class="btn-share">分享</text></view> | |
| 71 | + </view> | |
| 72 | + </view> | |
| 73 | + </block> | |
| 74 | + | |
| 75 | + <!-- 促销 - 订单促销 --> | |
| 76 | + <block wx:if="{{currentIndex == 2}}"> | |
| 77 | + <view class="subTab-container"> | |
| 78 | + <view class="subTab-list"> | |
| 79 | + <view class="subTab-item"> | |
| 80 | + <view class="bdr-b"> | |
| 81 | + <view class="flex"> | |
| 82 | + <view wx:if="{{currentIndex2==1 && item.type==0}}" class="badge">折</view> | |
| 83 | + <view wx:if="{{currentIndex2==1 && item.type==1}}" class="badge">减</view> | |
| 84 | + <view wx:if="{{currentIndex2==1}}" class="badge">配</view> | |
| 85 | + <view wx:if="{{currentIndex2==2}}" class="badge">惠</view> | |
| 86 | + <view wx:if="{{currentIndex2==1}}" class="ellipsis-1">{{item.main_goods_name}}</view> | |
| 87 | + <view wx:else class="ellipsis-1">{{item.name}}</view> | |
| 88 | + </view> | |
| 89 | + <view class="pdv10 fs28">促销时间:{{g_filter.format_time(item.start_time,1)}} 到 {{g_filter.format_time(item.end_time,1)}}</view> | |
| 90 | + </view> | |
| 91 | + <view class="flex-space-between" wx:if="{{currentIndex2 == 0}}"> | |
| 92 | + <view class="fs28"> | |
| 93 | + <view class="pdv10">需购买金额:¥{{g_filter.toFix(item.money,2)}}</view> | |
| 94 | + <view wx:if="{{item.type==0}}">折扣:{{item.expression}}(%)</view> | |
| 95 | + <view wx:if="{{item.type==1}}">优惠金额:{{g_filter.toFix(item.expression,2)}}</view> | |
| 96 | + </view> | |
| 97 | + <view bindtap="share_index" data-index="{{index}}" class="btn-container"><text class="btn-share">分享</text></view> | |
| 98 | + </view> | |
| 99 | + <view class="flex-equality pdt20" wx:else> | |
| 100 | + <view bindtap="showPopup" data-index="{{index}}" class="btn-container" ><text class="btn-share">活动详情</text></view> | |
| 101 | + <view bindtap="share_index" data-index="{{index}}" class="btn-container"><text class="btn-share w164">分享</text></view> | |
| 102 | + </view> | |
| 103 | + </view> | |
| 104 | + </view> | |
| 105 | + </view> | |
| 106 | + </block> | |
| 107 | + | |
| 108 | + <!-- 专享礼包 --> | |
| 109 | + <block wx:if="{{currentIndex == 3}}"> | |
| 110 | + <view class class="list-item"> | |
| 111 | + <view class="img-container"> | |
| 112 | + <image src="{{url+item.lbUrl}}" style="width: 100%; height: 100%;" | |
| 113 | + binderror="bind_bnerr2" lazy-load="true" | |
| 114 | + data-errorimg="list[{{index}}].lbUrl"></image> | |
| 115 | + </view> | |
| 116 | + <view class="details"> | |
| 117 | + <view class="ellipsis-2 fs28 name">{{item.giftTitle}}</view> | |
| 118 | + <view class="pdt14 red"> | |
| 119 | + <tex wx:if="{{item.payMoney}}">¥{{g_filter.toFix(item.payMoney,2)}}</tex> | |
| 120 | + <text wx:if="{{item.payMoney && item.payIntegral}}">/</text> | |
| 121 | + <text wx:if="{{item.payIntegral}}">{{item.payIntegral}}积分</text> | |
| 122 | + </view> | |
| 123 | + <view class="fs22 line-through gray">零售价:¥{{item.giftPosPrice}}</view> | |
| 124 | + <!-- <view class="fs22">已售:<text class="red">3</text></view> --> | |
| 125 | + <view bindtap="share_index" data-index="{{index}}" class="t-r fs28"><view class="btn-share">分享</view></view> | |
| 126 | + </view> | |
| 127 | + </view> | |
| 128 | + </block> | |
| 129 | + | |
| 130 | + </block><!--for的闭合 --> | |
| 131 | + <view style="height: 1rpx;"></view> | |
| 132 | + <nodata wx:if="{{list.length==0}}" nodataContainer="nodata">暂无数据</nodata> | |
| 133 | + <view wx:if="{{is_no_more}}" class="no-more t-c">- 已全部加载 -</view> | |
| 134 | + </scroll-view> | |
| 135 | + </view> | |
| 136 | + | |
| 137 | + <!-- 底部栏 --> | |
| 138 | + <view class="tabbar flex" wx:if="{{currentIndex == 0 || currentIndex == 1}}" bindtap="clickTab3"> | |
| 139 | + <view class="tabbar-item {{currentIndex3 == 0?'active':''}}" data-index="0"> | |
| 140 | + <text class="iconfont icon-hot"></text>火热进行 | |
| 141 | + </view> | |
| 142 | + <view class="tabbar-item {{currentIndex3 == 1?'active':''}}" data-index="1"> | |
| 143 | + <text class="iconfont icon-clock"></text>即将开始 | |
| 144 | + </view> | |
| 145 | + </view> | |
| 146 | + | |
| 147 | + <!-- 弹出层 --> | |
| 148 | + <view class="popup-container" hidden="{{hiddenPopup}}"> | |
| 149 | + <view class="popup"> | |
| 150 | + <view class="popup-content {{currentIndex2 == 2?'active':''}}"> | |
| 151 | + <view class="popup-title dash-b">活动详情</view> | |
| 152 | + <!-- 搭配促销 --> | |
| 153 | + <block wx:if="{{currentIndex2 == 1}}"> | |
| 154 | + <view class="pdv20 dash-b fs28"> | |
| 155 | + <view class="popup-title2">必买商品</view> | |
| 156 | + <view class="popup-title3">商品编号:{{hui_active.goods_sn}}</view> | |
| 157 | + <view class="popup-title3">{{hui_active.main_goods_name}}</view> | |
| 158 | + <view class="popup-title3 red">手店价:¥{{g_filter.toFix(hui_active.ginfo.shop_price,2)}}</view> | |
| 159 | + </view> | |
| 160 | + <view class="pdv20"> | |
| 161 | + <view class="popup-title2 fs28">搭配商品</view> | |
| 162 | + <view class="fs28"> | |
| 163 | + <view class="flex t-c bold pdv10"> | |
| 164 | + <view class="w25">序号</view> | |
| 165 | + <view class="w25">商品信息</view> | |
| 166 | + <view class="w25">手店价</view> | |
| 167 | + <view class="w25">搭配价</view> | |
| 168 | + </view> | |
| 169 | + <view class="popup-list t-c"> | |
| 170 | + <block wx:for="{{list2}}"> | |
| 171 | + <view class="flex ai-center pdb10"> | |
| 172 | + <view class="w25">{{index+1}}</view> | |
| 173 | + <view class="w25 ellipsis-2">{{item.goods_name}}</view> | |
| 174 | + <view class="w25">¥{{g_filter.toFix(item.shop_price,2)}}</view> | |
| 175 | + <view class="w25 red">¥{{g_filter.toFix(item.price,2)}}</view> | |
| 176 | + </view> | |
| 177 | + </block> | |
| 178 | + | |
| 179 | + </view> | |
| 180 | + </view> | |
| 181 | + </view> | |
| 182 | + </block> | |
| 183 | + | |
| 184 | + <!-- 优惠促销 --> | |
| 185 | + <block wx:if="{{currentIndex2 == 2}}"> | |
| 186 | + <view class="pdv20 dash-b"> | |
| 187 | + <view class="popup-title2 fs28">参与对象</view> | |
| 188 | + <view class="flex ai-center t-c fs28 pdv20"> | |
| 189 | + <view class="w50"> | |
| 190 | + <radio wx:if="{{hui_active.good_object==0}}" checked="true" disabled/> | |
| 191 | + <radio wx:else disabled/> | |
| 192 | + 全部商品 | |
| 193 | + </view> | |
| 194 | + <view class="w50"> | |
| 195 | + <radio wx:if="{{hui_active.good_object==1}}" checked="true" disabled/> | |
| 196 | + <radio wx:else disabled/> | |
| 197 | + 指定商品 | |
| 198 | + </view> | |
| 199 | + </view> | |
| 200 | + <view class="fs28"> | |
| 201 | + <view class="flex t-c bold pdv10"> | |
| 202 | + <view class="w25">序号</view> | |
| 203 | + <view class="w25">商品信息</view> | |
| 204 | + <view class="w25">手店价</view> | |
| 205 | + <view class="w25">操作</view> | |
| 206 | + </view> | |
| 207 | + <view class="t-c"> | |
| 208 | + <block wx:for="{{list2}}"> | |
| 209 | + <view class="flex ai-center pdb10"> | |
| 210 | + <view class="w25">{{index+1}}</view> | |
| 211 | + <view class="w25 ellipsis-2">{{item.goods_name}}</view> | |
| 212 | + <view class="w25">¥{{item.shop_price}}</view> | |
| 213 | + <view bindtap="share_good2" data-index="{{index}}" class="w25"><text class="btn-share">分享</text></view> | |
| 214 | + </view> | |
| 215 | + </block> | |
| 216 | + </view> | |
| 217 | + </view> | |
| 218 | + </view> | |
| 219 | + <view class="pdv20"> | |
| 220 | + <view class="popup-title2 fs28">活动详情</view> | |
| 221 | + <view class="fs28"> | |
| 222 | + <block wx:for="{{prom_goods}}"> | |
| 223 | + <view class="pdv10">需购买:{{item.condition}} | |
| 224 | + <text wx:if="{{item.prom_type==0}}">元</text> | |
| 225 | + <text wx:else>件</text> | |
| 226 | + </view> | |
| 227 | + <view class="pdl20"> | |
| 228 | + <view class="flex pdb20"> | |
| 229 | + <view class="w50" wx:if="{{item.money}}"><radio checked="true" disabled/>减现金 <text class="red">-{{item.money}}</text></view> | |
| 230 | + <view class="w50" wx:if="{{item.sale}}"><radio checked="true" disabled/>打折 <text class="red">{{item.sale}}%</text></view> | |
| 231 | + </view> | |
| 232 | + <view class="flex pdb20"> | |
| 233 | + <view class="w50"><radio wx:if="{{item.past}}" checked="true" disabled/><radio wx:else disabled/>包邮</view> | |
| 234 | + <view class="w50"> | |
| 235 | + <block wx:if="{{item.intValue}}"> | |
| 236 | + <radio disabled/>积分 <text class="red">{{item.intValue}}</text> | |
| 237 | + </block> | |
| 238 | + <block wx:else> | |
| 239 | + <radio disabled/>积分 | |
| 240 | + </block> | |
| 241 | + </view> | |
| 242 | + </view> | |
| 243 | + <view class="pdb20"><radio wx:if="{{item.couponId}}" checked="true" disabled/> <radio wx:else disabled/>优惠券</view> | |
| 244 | + <view class="pdb20"><radio wx:if="{{item.gift_id}}" checked="true" disabled/> <radio wx:else disabled/>赠品</view> | |
| 245 | + <view><radio wx:if="{{item.lb_id}}" checked="true" disabled/> <radio wx:else disabled/>礼包</view> | |
| 246 | + </view> | |
| 247 | + </block> | |
| 248 | + | |
| 249 | + </view> | |
| 250 | + </view> | |
| 251 | + </block> | |
| 252 | + </view> | |
| 253 | + <view class="popup-btn t-c"><text class="iconfont icon-close" bindtap="closePopup"></text></view> | |
| 254 | + </view> | |
| 255 | + </view> | |
| 256 | +</view> | |
| 257 | + | |
| 258 | +<!--二维码显示页面--> | |
| 259 | +<canvas canvas-id='share' style='width:750rpx;height:1217rpx;' wx:if='{{!canvasHidden}}'></canvas> | |
| 260 | +<!-- 分享控件,底部弹出 --> | |
| 261 | +<share_button id="share_button" bind:cancel="cancel" bind:share_img="saveImageToPhotosAlbum" wx:if="{{!share_hidden}}"></share_button> | ... | ... |
packageA/pages/activity_share/activity_share.wxss
0 → 100644
| 1 | +/* packageA//pages/goods_share/goods_share.wxss */ | |
| 2 | +.red { | |
| 3 | + color: #FE6867; | |
| 4 | +} | |
| 5 | +.gray { | |
| 6 | + color: #7b7b7b; | |
| 7 | +} | |
| 8 | +.w25 { | |
| 9 | + width: 25%; | |
| 10 | +} | |
| 11 | +.w50 { | |
| 12 | + width: 50%; | |
| 13 | +} | |
| 14 | +.w164 { | |
| 15 | + width: 164rpx; | |
| 16 | +} | |
| 17 | +.bold { | |
| 18 | + font-weight: bold; | |
| 19 | +} | |
| 20 | +page { | |
| 21 | + background-color: #f2f2f2; | |
| 22 | + height: 100%; | |
| 23 | +} | |
| 24 | +.container { | |
| 25 | + background-color: white; | |
| 26 | + height: 100%; | |
| 27 | +} | |
| 28 | +.search-container { | |
| 29 | + display: flex; | |
| 30 | + padding: 26rpx 20rpx; | |
| 31 | + border-bottom: 2rpx solid #f8f8f8; | |
| 32 | +} | |
| 33 | +.input-container { | |
| 34 | + flex: 1; | |
| 35 | + border-radius: 6rpx 0 0 6rpx; | |
| 36 | + overflow: hidden; | |
| 37 | +} | |
| 38 | +.search { | |
| 39 | + background-color: #f0f0f0; | |
| 40 | + padding: 10rpx 20rpx; | |
| 41 | + font-size: 28rpx; | |
| 42 | +} | |
| 43 | +.btn-search { | |
| 44 | + background-color: #FE6867; | |
| 45 | + color: white; | |
| 46 | + padding: 0 30rpx; | |
| 47 | + display: flex; | |
| 48 | + align-items: center; | |
| 49 | + border-radius: 0 6rpx 6rpx 0; | |
| 50 | +} | |
| 51 | +.title { | |
| 52 | + display: flex; | |
| 53 | + font-size: 30rpx; | |
| 54 | + border-bottom: 2rpx solid #f8f8f8; | |
| 55 | +} | |
| 56 | +.title .iconfont { | |
| 57 | + color: #ccc; | |
| 58 | + font-size: 16rpx; | |
| 59 | + margin-left: 8rpx; | |
| 60 | +} | |
| 61 | +.title-item { | |
| 62 | + width: 25%; | |
| 63 | + box-sizing: border-box; | |
| 64 | + text-align: center; | |
| 65 | + padding: 20rpx; | |
| 66 | + position: relative; | |
| 67 | +} | |
| 68 | +.title-item.active { | |
| 69 | + color: #FE6867; | |
| 70 | + font-weight: bold; | |
| 71 | +} | |
| 72 | +.title-item.active:after { | |
| 73 | + content:''; | |
| 74 | + position: absolute; | |
| 75 | + width: 50%; | |
| 76 | + height: 4rpx; | |
| 77 | + background-color: #FE6867; | |
| 78 | + left: 0; | |
| 79 | + right: 0; | |
| 80 | + bottom: 0; | |
| 81 | + margin: 0 auto; | |
| 82 | +} | |
| 83 | +.list-container { | |
| 84 | + height: calc(100% - 118rpx); | |
| 85 | +} | |
| 86 | +.list { | |
| 87 | + box-sizing: border-box; | |
| 88 | + height: calc(100% - 82rpx); | |
| 89 | + background-color: #f2f2f2; | |
| 90 | + padding-bottom: 102rpx; | |
| 91 | +} | |
| 92 | +.list.active1 { | |
| 93 | + height: calc(100% - 82rpx - 78rpx); | |
| 94 | + padding-bottom: 0; | |
| 95 | +} | |
| 96 | +.list.active2 { | |
| 97 | + padding-bottom: 0; | |
| 98 | +} | |
| 99 | +.list-item { | |
| 100 | + display: flex; | |
| 101 | + padding: 20rpx; | |
| 102 | + border-bottom: 2rpx solid #f8f8f8; | |
| 103 | + background-color: white; | |
| 104 | +} | |
| 105 | +.img-container { | |
| 106 | + background-color: #f0f0f0; | |
| 107 | + width: 280rpx; | |
| 108 | + height: 248rpx; | |
| 109 | + display: flex; | |
| 110 | + align-items: center; | |
| 111 | + justify-content: center; | |
| 112 | +} | |
| 113 | +.img-container:after { | |
| 114 | + | |
| 115 | +} | |
| 116 | +.details { | |
| 117 | + flex: 1; | |
| 118 | + padding-left: 20rpx; | |
| 119 | +} | |
| 120 | +.btn-share { | |
| 121 | + box-sizing: border-box; | |
| 122 | + display: inline-block; | |
| 123 | + background-color: #FE6867; | |
| 124 | + color: white; | |
| 125 | + padding: 8rpx 30rpx; | |
| 126 | + border-radius: 6rpx; | |
| 127 | + text-align: center; | |
| 128 | +} | |
| 129 | +.pdt14 { | |
| 130 | + padding-top: 14rpx; | |
| 131 | +} | |
| 132 | +.pdtb6 { | |
| 133 | + padding-top: 6rpx; | |
| 134 | + padding-bottom: 6rpx; | |
| 135 | +} | |
| 136 | +.pdtb8 { | |
| 137 | + padding-top: 8rpx; | |
| 138 | + padding-bottom: 8rpx; | |
| 139 | +} | |
| 140 | +.pdl20 { | |
| 141 | + padding-left: 104rpx; | |
| 142 | +} | |
| 143 | + | |
| 144 | + | |
| 145 | +.no-more { | |
| 146 | + line-height: 3; | |
| 147 | + color: #ccc; | |
| 148 | + /* background-color: #f2f2f2; */ | |
| 149 | +} | |
| 150 | +.nodata { | |
| 151 | + text-align: center; | |
| 152 | + background-color: #f2f2f2; | |
| 153 | +} | |
| 154 | +.progress-container { | |
| 155 | + width: 55%; | |
| 156 | + padding-right: 10rpx; | |
| 157 | + position: relative; | |
| 158 | + text-align: center; | |
| 159 | +} | |
| 160 | +.retail { | |
| 161 | + color: #7b7b7b; | |
| 162 | + text-decoration: line-through; | |
| 163 | + font-size: 22rpx; | |
| 164 | + padding-left: 20rpx; | |
| 165 | +} | |
| 166 | +.name { | |
| 167 | + height: 76rpx; | |
| 168 | + overflow: hidden; | |
| 169 | +} | |
| 170 | + | |
| 171 | +.percent { | |
| 172 | + position: absolute; | |
| 173 | + top: 0; | |
| 174 | + bottom: 0; | |
| 175 | + left: 0; | |
| 176 | + right: 0; | |
| 177 | + margin: auto; | |
| 178 | + color: white; | |
| 179 | +} | |
| 180 | +.tabbar { | |
| 181 | + position: fixed; | |
| 182 | + width: 100%; | |
| 183 | + bottom: 0; | |
| 184 | + background-color: white; | |
| 185 | +} | |
| 186 | +.tabbar:after { | |
| 187 | + position: absolute; | |
| 188 | + content: ''; | |
| 189 | + width: 2rpx; | |
| 190 | + height: 50%; | |
| 191 | + top: 0; | |
| 192 | + bottom: 0; | |
| 193 | + left: 0; | |
| 194 | + right: 0; | |
| 195 | + margin: auto; | |
| 196 | + background-color: #f0f0f0; | |
| 197 | +} | |
| 198 | +.tabbar-item { | |
| 199 | + width: 50%; | |
| 200 | + text-align: center; | |
| 201 | + padding-top: 30rpx; | |
| 202 | + padding-bottom: 30rpx; | |
| 203 | +} | |
| 204 | +.tabbar-item .iconfont { | |
| 205 | + margin-right: 10rpx; | |
| 206 | +} | |
| 207 | +.tabbar-item.active { | |
| 208 | + color: #FE6867; | |
| 209 | +} | |
| 210 | + | |
| 211 | + | |
| 212 | +.group-type, | |
| 213 | +.group-num { | |
| 214 | + position: relative; | |
| 215 | + font-size: 22rpx; | |
| 216 | +} | |
| 217 | +.group-type:before, | |
| 218 | +.group-num:before { | |
| 219 | + font-family: iconfont; | |
| 220 | +} | |
| 221 | +.group-type:before { | |
| 222 | + content: '\e66a'; | |
| 223 | + color: white; | |
| 224 | + background-color: #FE6867; | |
| 225 | + position: absolute; | |
| 226 | + left: 0; | |
| 227 | + top: 0; | |
| 228 | + bottom: 0; | |
| 229 | + padding-left: 6rpx; | |
| 230 | + padding-right: 10rpx; | |
| 231 | + line-height: 30rpx; | |
| 232 | +} | |
| 233 | +.group-num:before { | |
| 234 | + padding-right: 6rpx; | |
| 235 | +} | |
| 236 | +.group-num:before { | |
| 237 | + content: '\e694'; | |
| 238 | + position: relative; | |
| 239 | +} | |
| 240 | +.group-num { | |
| 241 | + color: white; | |
| 242 | + background-color: #FE6867; | |
| 243 | + border-radius: 34rpx; | |
| 244 | + padding-left: 10rpx; | |
| 245 | + padding-right: 10rpx; | |
| 246 | + margin-right: 14rpx; | |
| 247 | +} | |
| 248 | +.group-type { | |
| 249 | + color: #FE6867; | |
| 250 | + border: 2rpx solid #FE6867; | |
| 251 | + padding-left: 42rpx; | |
| 252 | + padding-right: 4rpx; | |
| 253 | + border-radius: 6rpx; | |
| 254 | +} | |
| 255 | + | |
| 256 | +.badge { | |
| 257 | + color: white; | |
| 258 | + padding: 0 20rpx; | |
| 259 | + border-radius: 6rpx; | |
| 260 | + background-color: #FE6867; | |
| 261 | + margin-right: 10rpx; | |
| 262 | +} | |
| 263 | + | |
| 264 | +.subTab-title { | |
| 265 | + text-align: center; | |
| 266 | + justify-content: center; | |
| 267 | + align-items: center; | |
| 268 | + font-size: 28rpx; | |
| 269 | +} | |
| 270 | +.subTab-list { | |
| 271 | + padding: 20rpx; | |
| 272 | +} | |
| 273 | +.subTab-titleItem { | |
| 274 | + box-sizing: border-box; | |
| 275 | + width: calc(100% / 3); | |
| 276 | + padding: 20rpx 40rpx; | |
| 277 | + background-color: white; | |
| 278 | + border-right: 2rpx solid #f8f8f8; | |
| 279 | +} | |
| 280 | +.subTab-titleItem:last-child { | |
| 281 | + border-right: none; | |
| 282 | +} | |
| 283 | +.subTab-titleItem.active { | |
| 284 | + background-color: #FE6867; | |
| 285 | + color: white; | |
| 286 | +} | |
| 287 | +.subTab-item { | |
| 288 | + padding: 20rpx; | |
| 289 | + border-bottom: 2rpx solid #f8f8f8; | |
| 290 | + background-color: white; | |
| 291 | + border-radius: 8rpx; | |
| 292 | + box-shadow: 0 8px 12px #e7e9eb; | |
| 293 | +} | |
| 294 | +.subTab-item ~ .subTab-item { | |
| 295 | + margin-top: 20rpx; | |
| 296 | +} | |
| 297 | +.pdv10 { | |
| 298 | + padding-top: 10rpx; | |
| 299 | + padding-bottom: 10rpx; | |
| 300 | +} | |
| 301 | +.pdv20 { | |
| 302 | + padding-top: 20rpx; | |
| 303 | + padding-bottom: 20rpx; | |
| 304 | +} | |
| 305 | +.pdb10 { | |
| 306 | + padding-bottom: 10rpx; | |
| 307 | +} | |
| 308 | +.pdb20 { | |
| 309 | + padding-bottom: 20rpx; | |
| 310 | +} | |
| 311 | +.bdr-b { | |
| 312 | + border-bottom: 2rpx solid #f8f8f8; | |
| 313 | +} | |
| 314 | +.dash-b { | |
| 315 | + border-bottom: 2rpx dashed #ddd; | |
| 316 | +} | |
| 317 | +.btn-container { | |
| 318 | + display: flex; | |
| 319 | + align-items: flex-end; | |
| 320 | + font-size: 26rpx; | |
| 321 | +} | |
| 322 | + | |
| 323 | + | |
| 324 | +.popup-container { | |
| 325 | + content:''; | |
| 326 | + position: fixed; | |
| 327 | + top: 0; | |
| 328 | + bottom: 0; | |
| 329 | + left: 0; | |
| 330 | + right: 0; | |
| 331 | + z-index: 3; | |
| 332 | + background-color: rgba(0,0,0,.6); | |
| 333 | + display: flex; | |
| 334 | + align-items: center; | |
| 335 | + justify-content: center; | |
| 336 | +} | |
| 337 | +.popup { | |
| 338 | + width: 90%; | |
| 339 | +} | |
| 340 | +.popup-content { | |
| 341 | + box-sizing: border-box; | |
| 342 | + width: 100%; | |
| 343 | + background-color: white; | |
| 344 | + padding: 0 20rpx; | |
| 345 | + border-radius: 10rpx; | |
| 346 | + max-height: 1038rpx; | |
| 347 | +} | |
| 348 | +.icon-close { | |
| 349 | + font-size: 60rpx; | |
| 350 | + color: white; | |
| 351 | +} | |
| 352 | +.popup-btn { | |
| 353 | + padding-top: 30rpx; | |
| 354 | +} | |
| 355 | + | |
| 356 | +.popup-title { | |
| 357 | + /* font-size: 28rpx; */ | |
| 358 | + font-weight: bold; | |
| 359 | + padding: 20rpx 0; | |
| 360 | +} | |
| 361 | +.popup-title2 { | |
| 362 | + /* padding: 10rpx 0; */ | |
| 363 | + padding-bottom: 8rpx; | |
| 364 | +} | |
| 365 | +.popup-title3 { | |
| 366 | + padding-left: 34rpx; | |
| 367 | + font-size: 30rpx; | |
| 368 | +} | |
| 369 | +.popup-list { | |
| 370 | + max-height: 602rpx; | |
| 371 | + overflow-y: auto; | |
| 372 | +} | |
| 373 | + | |
| 374 | + | |
| 375 | +radio .wx-radio-input { | |
| 376 | + width: 28rpx; | |
| 377 | + height: 28rpx; | |
| 378 | +} | |
| 379 | + | |
| 380 | + | |
| 381 | +radio .wx-radio-input.wx-radio-input-checked { | |
| 382 | + background-color: #FE6867; | |
| 383 | + border-color: #FE6867; | |
| 384 | +} | |
| 385 | +radio .wx-radio-input.wx-radio-input-checked::before{ | |
| 386 | + color: white; | |
| 387 | +} | |
| 388 | + | |
| 389 | +.popup-content.active { | |
| 390 | + max-height: 982rpx; | |
| 391 | + overflow: auto; | |
| 392 | +} | |
| 393 | + | |
| 394 | + | ... | ... |
packageA/pages/activity_share/g_filter.wxs
0 → 100644
| 1 | +var g_filters = { | |
| 2 | + //-- 判断是不是有等级价 -- | |
| 3 | + is_has_rank:function(rank_switch,item){ | |
| 4 | + if(!rank_switch) return false; | |
| 5 | + if(item.cardprice1 || item.cardprice2 || item.cardprice3) {return true} | |
| 6 | + return false; | |
| 7 | + }, | |
| 8 | + | |
| 9 | + //-- 判断,不是等级会员时候,要显示的最低等级价和名称 -- | |
| 10 | + get_card_price:function(goods,all_card,type){ | |
| 11 | + var price1=parseFloat(goods['cardprice1']); | |
| 12 | + var price2=parseFloat(goods['cardprice2']); | |
| 13 | + var price3=parseFloat(goods['cardprice3']); | |
| 14 | + if(!all_card){ | |
| 15 | + if(type==0) return 0; | |
| 16 | + return ""; | |
| 17 | + } | |
| 18 | + | |
| 19 | + var arr=[]; | |
| 20 | + var min_price= 0; | |
| 21 | + var min_name=""; | |
| 22 | + | |
| 23 | + var min_price=null; | |
| 24 | + var min_name=null; | |
| 25 | + //---设置对应的价格名字---- | |
| 26 | + for(var i=0;i<3;i++) { | |
| 27 | + var vl=all_card[i]; | |
| 28 | + if(!vl) continue; | |
| 29 | + if(vl['CorrPrice']=="Price1" && price1>0) | |
| 30 | + { | |
| 31 | + if(min_price==null) { | |
| 32 | + min_price=price1;min_name=vl['CardName']; | |
| 33 | + } | |
| 34 | + else if(price1<min_price) { | |
| 35 | + min_price=price1;min_name=vl['CardName']; | |
| 36 | + } | |
| 37 | + } | |
| 38 | + if(vl['CorrPrice']=="Price2" && price2>0) | |
| 39 | + { | |
| 40 | + if(min_price==null) { | |
| 41 | + min_price=price2;min_name=vl['CardName']; | |
| 42 | + } | |
| 43 | + else if(price2<min_price) { | |
| 44 | + min_price=price2;min_name=vl['CardName']; | |
| 45 | + } | |
| 46 | + } | |
| 47 | + | |
| 48 | + if(vl['CorrPrice']=="Price3" && price3>0) | |
| 49 | + { | |
| 50 | + if(min_price==null) { | |
| 51 | + min_price=price3;min_name=vl['CardName']; | |
| 52 | + } | |
| 53 | + else if(price3<min_price) { | |
| 54 | + min_price=price3;min_name=vl['CardName']; | |
| 55 | + } | |
| 56 | + } | |
| 57 | + | |
| 58 | + } | |
| 59 | + if(min_price==null){ | |
| 60 | + if(type==0) return 0; | |
| 61 | + return ""; | |
| 62 | + } | |
| 63 | + | |
| 64 | + //if(type==0) return arr.length; | |
| 65 | + //--进行排序,升序--- | |
| 66 | + /*--- | |
| 67 | + arr.sort(function(a,b){ | |
| 68 | + if (a.price < b.price) { | |
| 69 | + return -1; | |
| 70 | + } else if (a.fee == b.fee) { | |
| 71 | + return 0; | |
| 72 | + } else { | |
| 73 | + return 1; | |
| 74 | + } | |
| 75 | + })--*/ | |
| 76 | + //-- 获取最下价钱,和相应的卡的名称 -- | |
| 77 | + if(type==0) return min_price.toFixed(2); | |
| 78 | + if(min_name.length>4) min_name=min_name.substring(0, 8); | |
| 79 | + return min_name; | |
| 80 | + }, | |
| 81 | + | |
| 82 | + toFix: function (val, count) { | |
| 83 | + val = parseFloat(val); | |
| 84 | + return val.toFixed(count) | |
| 85 | + }, | |
| 86 | + format_time: function (ts, isFull) { | |
| 87 | + // 如果数值位数为1,则补0 | |
| 88 | + function appendZero(obj) { | |
| 89 | + if (obj < 10) { | |
| 90 | + return "0" + "" + obj; | |
| 91 | + } else { | |
| 92 | + return obj; | |
| 93 | + } | |
| 94 | + }; | |
| 95 | + | |
| 96 | + if (ts == null || ts == undefined || ts == '') return ""; | |
| 97 | + var d = getDate(ts * 1000) | |
| 98 | + var fm = [d.getFullYear(), d.getMonth() + 1, d.getDate()].join('-'); | |
| 99 | + var md = (d.getMonth() + 1) + '月' + d.getDate() + '日'; | |
| 100 | + if (isFull == 1) | |
| 101 | + fm = fm + ' ' + [d.getHours(), d.getMinutes(), d.getSeconds()].join(':'); | |
| 102 | + if (isFull == 2) { | |
| 103 | + fm = md + ' ' + [appendZero(d.getHours()), appendZero(d.getMinutes())].join(':'); | |
| 104 | + } | |
| 105 | + return fm; | |
| 106 | + }, | |
| 107 | + | |
| 108 | +} | |
| 109 | +module.exports = { | |
| 110 | + is_has_rank:g_filters.is_has_rank, | |
| 111 | + get_card_price:g_filters.get_card_price, | |
| 112 | + toFix:g_filters.toFix, | |
| 113 | + format_time:g_filters.format_time, | |
| 114 | +} | |
| 0 | 115 | \ No newline at end of file | ... | ... |
packageA/pages/addCustomer/addCustomer.js
0 → 100644
| 1 | +// packageA//pages/quan/quan.js | |
| 2 | +Page({ | |
| 3 | + | |
| 4 | + /** | |
| 5 | + * 页面的初始数据 | |
| 6 | + */ | |
| 7 | + data: { | |
| 8 | + | |
| 9 | + }, | |
| 10 | + | |
| 11 | + /** | |
| 12 | + * 生命周期函数--监听页面加载 | |
| 13 | + */ | |
| 14 | + onLoad: function (options) { | |
| 15 | + | |
| 16 | + }, | |
| 17 | + | |
| 18 | + /** | |
| 19 | + * 生命周期函数--监听页面初次渲染完成 | |
| 20 | + */ | |
| 21 | + onReady: function () { | |
| 22 | + | |
| 23 | + }, | |
| 24 | + | |
| 25 | + /** | |
| 26 | + * 生命周期函数--监听页面显示 | |
| 27 | + */ | |
| 28 | + onShow: function () { | |
| 29 | + | |
| 30 | + }, | |
| 31 | + | |
| 32 | + /** | |
| 33 | + * 生命周期函数--监听页面隐藏 | |
| 34 | + */ | |
| 35 | + onHide: function () { | |
| 36 | + | |
| 37 | + }, | |
| 38 | + | |
| 39 | + /** | |
| 40 | + * 生命周期函数--监听页面卸载 | |
| 41 | + */ | |
| 42 | + onUnload: function () { | |
| 43 | + | |
| 44 | + }, | |
| 45 | + | |
| 46 | + /** | |
| 47 | + * 页面相关事件处理函数--监听用户下拉动作 | |
| 48 | + */ | |
| 49 | + onPullDownRefresh: function () { | |
| 50 | + | |
| 51 | + }, | |
| 52 | + | |
| 53 | + /** | |
| 54 | + * 页面上拉触底事件的处理函数 | |
| 55 | + */ | |
| 56 | + onReachBottom: function () { | |
| 57 | + | |
| 58 | + }, | |
| 59 | + | |
| 60 | + /** | |
| 61 | + * 用户点击右上角分享 | |
| 62 | + */ | |
| 63 | + onShareAppMessage: function () { | |
| 64 | + | |
| 65 | + } | |
| 66 | +}) | |
| 0 | 67 | \ No newline at end of file | ... | ... |
packageA/pages/addCustomer/addCustomer.json
0 → 100644
packageA/pages/addCustomer/addCustomer.wxml
0 → 100644
| 1 | +<view class="container"> | |
| 2 | + <view class="panel t-c"> | |
| 3 | + <view class="avatar"></view> | |
| 4 | + <view class="nickname">微信昵称</view> | |
| 5 | + <view class="gray">hello,我是您的专属顾问</view> | |
| 6 | + <view class="gray">扫描下方二维码,加我微信吧~</view> | |
| 7 | + <view class="qrcode"></view> | |
| 8 | + </view> | |
| 9 | + <view class="flex bottom t-c gray pdv10"> | |
| 10 | + <view class="w50"> | |
| 11 | + <image src="../../images/wx.png" class="wx"></image> | |
| 12 | + <view class="fs26">发给客户</view> | |
| 13 | + </view> | |
| 14 | + <view class="w50 save"> | |
| 15 | + <text class="iconfont icon-save"></text> | |
| 16 | + <view class="fs26 mgt12">保存图片</view> | |
| 17 | + </view> | |
| 18 | + </view> | |
| 19 | +</view> | |
| 0 | 20 | \ No newline at end of file | ... | ... |
packageA/pages/addCustomer/addCustomer.wxss
0 → 100644
| 1 | +/* packageA//pages/goods_share/goods_share.wxss */ | |
| 2 | +.red { | |
| 3 | + color: #FE6867; | |
| 4 | +} | |
| 5 | +.gray { | |
| 6 | + color: #7b7b7b; | |
| 7 | +} | |
| 8 | +.w25 { | |
| 9 | + width: 25%; | |
| 10 | +} | |
| 11 | +.w50 { | |
| 12 | + width: 50%; | |
| 13 | +} | |
| 14 | +.w164 { | |
| 15 | + width: 164rpx; | |
| 16 | +} | |
| 17 | +.bold { | |
| 18 | + font-weight: bold; | |
| 19 | +} | |
| 20 | +.mgt12 { | |
| 21 | + margin-top: 12rpx; | |
| 22 | +} | |
| 23 | +page, | |
| 24 | +.container { | |
| 25 | + /* background-color: #f2f2f2; */ | |
| 26 | + height: 100%; | |
| 27 | + background-color: pink; | |
| 28 | +} | |
| 29 | +.container { | |
| 30 | + /* background-color: white; */ | |
| 31 | + /* position: fixed; | |
| 32 | + width: 100%; | |
| 33 | + bottom: 0; */ | |
| 34 | + box-sizing: border-box; | |
| 35 | + padding: 160rpx 40rpx 0; | |
| 36 | + background-image: linear-gradient(to top, #4481eb 0%, #04befe 100%); | |
| 37 | + /* padding-bottom: 128rpx; */ | |
| 38 | +} | |
| 39 | +.search-container { | |
| 40 | + display: flex; | |
| 41 | + padding: 26rpx 20rpx; | |
| 42 | + border-bottom: 2rpx solid #f8f8f8; | |
| 43 | +} | |
| 44 | +.input-container { | |
| 45 | + flex: 1; | |
| 46 | + border-radius: 6rpx 0 0 6rpx; | |
| 47 | + overflow: hidden; | |
| 48 | +} | |
| 49 | +.search { | |
| 50 | + background-color: #f0f0f0; | |
| 51 | + padding: 10rpx 20rpx; | |
| 52 | + font-size: 28rpx; | |
| 53 | +} | |
| 54 | +.btn-search { | |
| 55 | + background-color: #FE6867; | |
| 56 | + color: white; | |
| 57 | + padding: 0 30rpx; | |
| 58 | + display: flex; | |
| 59 | + align-items: center; | |
| 60 | + border-radius: 0 6rpx 6rpx 0; | |
| 61 | +} | |
| 62 | +.title { | |
| 63 | + display: flex; | |
| 64 | + font-size: 30rpx; | |
| 65 | + border-bottom: 2rpx solid #f8f8f8; | |
| 66 | +} | |
| 67 | +.title .iconfont { | |
| 68 | + color: #ccc; | |
| 69 | + font-size: 16rpx; | |
| 70 | + margin-left: 8rpx; | |
| 71 | +} | |
| 72 | +.title-item { | |
| 73 | + width: 25%; | |
| 74 | + box-sizing: border-box; | |
| 75 | + text-align: center; | |
| 76 | + padding: 20rpx; | |
| 77 | + position: relative; | |
| 78 | +} | |
| 79 | +.title-item.active { | |
| 80 | + color: #FE6867; | |
| 81 | + font-weight: bold; | |
| 82 | +} | |
| 83 | +.title-item.active:after { | |
| 84 | + content:''; | |
| 85 | + position: absolute; | |
| 86 | + width: 50%; | |
| 87 | + height: 4rpx; | |
| 88 | + background-color: #FE6867; | |
| 89 | + left: 0; | |
| 90 | + right: 0; | |
| 91 | + bottom: 0; | |
| 92 | + margin: 0 auto; | |
| 93 | +} | |
| 94 | +.list-container { | |
| 95 | + height: calc(100% - 118rpx); | |
| 96 | +} | |
| 97 | +.list { | |
| 98 | + box-sizing: border-box; | |
| 99 | + height: calc(100% - 82rpx); | |
| 100 | + background-color: #f2f2f2; | |
| 101 | + /* padding-bottom: 102rpx; */ | |
| 102 | +} | |
| 103 | +.list.active1 { | |
| 104 | + height: calc(100% - 82rpx - 78rpx); | |
| 105 | + padding-bottom: 0; | |
| 106 | +} | |
| 107 | +.list.active2 { | |
| 108 | + padding-bottom: 0; | |
| 109 | +} | |
| 110 | +.list-item { | |
| 111 | + display: flex; | |
| 112 | + padding: 20rpx; | |
| 113 | + border-bottom: 2rpx solid #f8f8f8; | |
| 114 | + background-color: white; | |
| 115 | +} | |
| 116 | +.img-container { | |
| 117 | + background-color: #f0f0f0; | |
| 118 | + width: 280rpx; | |
| 119 | + height: 248rpx; | |
| 120 | + display: flex; | |
| 121 | + align-items: center; | |
| 122 | + justify-content: center; | |
| 123 | + position: relative; | |
| 124 | +} | |
| 125 | +.img-container:after { | |
| 126 | + font-family: iconfont; | |
| 127 | + content: '\e8c1'; | |
| 128 | + color: #bbb; | |
| 129 | + font-size: 80rpx; | |
| 130 | +} | |
| 131 | + | |
| 132 | + | |
| 133 | +.img-container.live:before { | |
| 134 | + content: '\e664'; | |
| 135 | +} | |
| 136 | +.img-container.coming:before { | |
| 137 | + content: '\e608'; | |
| 138 | +} | |
| 139 | +.img-container.playback:before { | |
| 140 | + content: '\e603'; | |
| 141 | +} | |
| 142 | +.img-container.live:before, | |
| 143 | +.img-container.coming:before, | |
| 144 | +.img-container.playback:before { | |
| 145 | + font-family: iconfont; | |
| 146 | + background-color: #FE6867; | |
| 147 | + color: white; | |
| 148 | + width: 50rpx; | |
| 149 | + height: 50rpx; | |
| 150 | + line-height: 50rpx; | |
| 151 | + text-align: center; | |
| 152 | + border-radius: 50%; | |
| 153 | + position: absolute; | |
| 154 | + left: 10rpx; | |
| 155 | + top: 10rpx; | |
| 156 | +} | |
| 157 | +.details { | |
| 158 | + flex: 1; | |
| 159 | + padding-left: 20rpx; | |
| 160 | +} | |
| 161 | +.btn-share { | |
| 162 | + box-sizing: border-box; | |
| 163 | + display: inline-block; | |
| 164 | + background-color: #FE6867; | |
| 165 | + color: white; | |
| 166 | + padding: 8rpx 30rpx; | |
| 167 | + border-radius: 6rpx; | |
| 168 | + text-align: center; | |
| 169 | +} | |
| 170 | +.pdt10 { | |
| 171 | + padding-top: 10rpx; | |
| 172 | +} | |
| 173 | +.pdt14 { | |
| 174 | + padding-top: 14rpx; | |
| 175 | +} | |
| 176 | +.pdtb6 { | |
| 177 | + padding-top: 6rpx; | |
| 178 | + padding-bottom: 6rpx; | |
| 179 | +} | |
| 180 | +.pdtb8 { | |
| 181 | + padding-top: 8rpx; | |
| 182 | + padding-bottom: 8rpx; | |
| 183 | +} | |
| 184 | +.pdl20 { | |
| 185 | + padding-left: 104rpx; | |
| 186 | +} | |
| 187 | + | |
| 188 | + | |
| 189 | +.no-more { | |
| 190 | + line-height: 3; | |
| 191 | + color: #ccc; | |
| 192 | + /* background-color: #f2f2f2; */ | |
| 193 | +} | |
| 194 | +.nodata { | |
| 195 | + text-align: center; | |
| 196 | + background-color: #f2f2f2; | |
| 197 | +} | |
| 198 | +.progress-container { | |
| 199 | + width: 55%; | |
| 200 | + padding-right: 10rpx; | |
| 201 | + position: relative; | |
| 202 | + text-align: center; | |
| 203 | +} | |
| 204 | +.retail { | |
| 205 | + color: #7b7b7b; | |
| 206 | + text-decoration: line-through; | |
| 207 | + font-size: 22rpx; | |
| 208 | + padding-left: 20rpx; | |
| 209 | +} | |
| 210 | +.name { | |
| 211 | + height: 76rpx; | |
| 212 | + overflow: hidden; | |
| 213 | +} | |
| 214 | + | |
| 215 | +.percent { | |
| 216 | + position: absolute; | |
| 217 | + top: 0; | |
| 218 | + bottom: 0; | |
| 219 | + left: 0; | |
| 220 | + right: 0; | |
| 221 | + margin: auto; | |
| 222 | + color: white; | |
| 223 | +} | |
| 224 | +.tabbar { | |
| 225 | + position: fixed; | |
| 226 | + width: 100%; | |
| 227 | + bottom: 0; | |
| 228 | + background-color: white; | |
| 229 | +} | |
| 230 | +.tabbar:after { | |
| 231 | + position: absolute; | |
| 232 | + content: ''; | |
| 233 | + width: 2rpx; | |
| 234 | + height: 50%; | |
| 235 | + top: 0; | |
| 236 | + bottom: 0; | |
| 237 | + left: 0; | |
| 238 | + right: 0; | |
| 239 | + margin: auto; | |
| 240 | + background-color: #f0f0f0; | |
| 241 | +} | |
| 242 | +.tabbar-item { | |
| 243 | + width: 50%; | |
| 244 | + text-align: center; | |
| 245 | + padding-top: 30rpx; | |
| 246 | + padding-bottom: 30rpx; | |
| 247 | +} | |
| 248 | +.tabbar-item .iconfont { | |
| 249 | + margin-right: 10rpx; | |
| 250 | +} | |
| 251 | +.tabbar-item.active { | |
| 252 | + color: #FE6867; | |
| 253 | +} | |
| 254 | + | |
| 255 | + | |
| 256 | +.group-type, | |
| 257 | +.group-num { | |
| 258 | + position: relative; | |
| 259 | + font-size: 22rpx; | |
| 260 | +} | |
| 261 | +.group-type:before, | |
| 262 | +.group-num:before { | |
| 263 | + font-family: iconfont; | |
| 264 | +} | |
| 265 | +.group-type:before { | |
| 266 | + content: '\e66a'; | |
| 267 | + color: white; | |
| 268 | + background-color: #FE6867; | |
| 269 | + position: absolute; | |
| 270 | + left: 0; | |
| 271 | + top: 0; | |
| 272 | + bottom: 0; | |
| 273 | + padding-left: 6rpx; | |
| 274 | + padding-right: 10rpx; | |
| 275 | + line-height: 30rpx; | |
| 276 | +} | |
| 277 | +.group-num:before { | |
| 278 | + padding-right: 6rpx; | |
| 279 | +} | |
| 280 | +.group-num:before { | |
| 281 | + content: '\e694'; | |
| 282 | + position: relative; | |
| 283 | +} | |
| 284 | +.group-num { | |
| 285 | + color: white; | |
| 286 | + background-color: #FE6867; | |
| 287 | + border-radius: 34rpx; | |
| 288 | + padding-left: 10rpx; | |
| 289 | + padding-right: 10rpx; | |
| 290 | + margin-right: 14rpx; | |
| 291 | +} | |
| 292 | +.group-type { | |
| 293 | + color: #FE6867; | |
| 294 | + border: 2rpx solid #FE6867; | |
| 295 | + padding-left: 42rpx; | |
| 296 | + padding-right: 4rpx; | |
| 297 | + border-radius: 6rpx; | |
| 298 | +} | |
| 299 | + | |
| 300 | +.badge { | |
| 301 | + color: white; | |
| 302 | + padding: 0 20rpx; | |
| 303 | + border-radius: 6rpx; | |
| 304 | + background-color: #FE6867; | |
| 305 | + margin-right: 10rpx; | |
| 306 | +} | |
| 307 | + | |
| 308 | +.subTab-title { | |
| 309 | + text-align: center; | |
| 310 | + justify-content: center; | |
| 311 | + align-items: center; | |
| 312 | + font-size: 28rpx; | |
| 313 | +} | |
| 314 | +.subTab-list { | |
| 315 | + padding: 20rpx; | |
| 316 | +} | |
| 317 | +.subTab-titleItem { | |
| 318 | + box-sizing: border-box; | |
| 319 | + width: calc(100% / 3); | |
| 320 | + padding: 20rpx 40rpx; | |
| 321 | + background-color: white; | |
| 322 | + border-right: 2rpx solid #f8f8f8; | |
| 323 | +} | |
| 324 | +.subTab-titleItem:last-child { | |
| 325 | + border-right: none; | |
| 326 | +} | |
| 327 | +.subTab-titleItem.active { | |
| 328 | + background-color: #FE6867; | |
| 329 | + color: white; | |
| 330 | +} | |
| 331 | +.subTab-item { | |
| 332 | + padding: 20rpx; | |
| 333 | + border-bottom: 2rpx solid #f8f8f8; | |
| 334 | + background-color: white; | |
| 335 | + border-radius: 8rpx; | |
| 336 | + box-shadow: 0 8px 12px #e7e9eb; | |
| 337 | +} | |
| 338 | +.subTab-item ~ .subTab-item { | |
| 339 | + margin-top: 20rpx; | |
| 340 | +} | |
| 341 | +.pdv10 { | |
| 342 | + padding-top: 10rpx; | |
| 343 | + padding-bottom: 10rpx; | |
| 344 | +} | |
| 345 | +.pdv20 { | |
| 346 | + padding-top: 20rpx; | |
| 347 | + padding-bottom: 20rpx; | |
| 348 | +} | |
| 349 | +.pdb10 { | |
| 350 | + padding-bottom: 10rpx; | |
| 351 | +} | |
| 352 | +.pdb20 { | |
| 353 | + padding-bottom: 20rpx; | |
| 354 | +} | |
| 355 | +.bdr-b { | |
| 356 | + border-bottom: 2rpx solid #f8f8f8; | |
| 357 | +} | |
| 358 | +.dash-b { | |
| 359 | + border-bottom: 2rpx dashed #ddd; | |
| 360 | +} | |
| 361 | +.btn-container { | |
| 362 | + display: flex; | |
| 363 | + align-items: flex-end; | |
| 364 | + font-size: 26rpx; | |
| 365 | +} | |
| 366 | + | |
| 367 | + | |
| 368 | +/* .popup-container { | |
| 369 | + content:''; | |
| 370 | + position: fixed; | |
| 371 | + top: 0; | |
| 372 | + bottom: 0; | |
| 373 | + left: 0; | |
| 374 | + right: 0; | |
| 375 | + z-index: 3; | |
| 376 | + background-color: rgba(0,0,0,.6); | |
| 377 | + display: flex; | |
| 378 | + align-items: center; | |
| 379 | + justify-content: center; | |
| 380 | +} | |
| 381 | +.popup { | |
| 382 | + width: 90%; | |
| 383 | +} | |
| 384 | +.popup-content { | |
| 385 | + box-sizing: border-box; | |
| 386 | + width: 100%; | |
| 387 | + background-color: white; | |
| 388 | + padding: 0 20rpx; | |
| 389 | + border-radius: 10rpx; | |
| 390 | + max-height: 1038rpx; | |
| 391 | +} | |
| 392 | +.icon-close { | |
| 393 | + font-size: 60rpx; | |
| 394 | + color: white; | |
| 395 | +} | |
| 396 | +.popup-btn { | |
| 397 | + padding-top: 30rpx; | |
| 398 | +} | |
| 399 | + | |
| 400 | +.popup-title { | |
| 401 | + /* font-size: 28rpx; */ | |
| 402 | + /* font-weight: bold; | |
| 403 | + padding: 20rpx 0; | |
| 404 | +} | |
| 405 | +.popup-title2 { */ | |
| 406 | + /* padding: 10rpx 0; */ | |
| 407 | + /* padding-bottom: 8rpx; | |
| 408 | +} | |
| 409 | +.popup-title3 { | |
| 410 | + padding-left: 34rpx; | |
| 411 | + font-size: 30rpx; | |
| 412 | +} | |
| 413 | +.popup-list { | |
| 414 | + max-height: 602rpx; | |
| 415 | + overflow-y: auto; | |
| 416 | +} | |
| 417 | + | |
| 418 | + | |
| 419 | +radio .wx-radio-input { | |
| 420 | + width: 28rpx; | |
| 421 | + height: 28rpx; | |
| 422 | +} | |
| 423 | + | |
| 424 | + | |
| 425 | +radio .wx-radio-input.wx-radio-input-checked { | |
| 426 | + background-color: #FE6867; | |
| 427 | + border-color: #FE6867; | |
| 428 | +} | |
| 429 | +radio .wx-radio-input.wx-radio-input-checked::before{ | |
| 430 | + color: white; | |
| 431 | +} | |
| 432 | + | |
| 433 | +.popup-content.active { | |
| 434 | + max-height: 982rpx; | |
| 435 | + overflow: auto; | |
| 436 | +} */ | |
| 437 | + | |
| 438 | +.panel { | |
| 439 | + box-sizing: border-box; | |
| 440 | + background-color: white; | |
| 441 | + height: 100%; | |
| 442 | + border-radius: 16rpx; | |
| 443 | + position: relative; | |
| 444 | + padding-top: 140rpx; | |
| 445 | + box-shadow: 0 8px 12px #ccc; | |
| 446 | +} | |
| 447 | +.avatar { | |
| 448 | + width: 220rpx; | |
| 449 | + height: 220rpx; | |
| 450 | + border-radius: 50%; | |
| 451 | + background-color: skyblue; | |
| 452 | + position: absolute; | |
| 453 | + top: -100rpx; | |
| 454 | + left: 0; | |
| 455 | + right: 0; | |
| 456 | + margin: 0 auto; | |
| 457 | +} | |
| 458 | +.nickname { | |
| 459 | + padding-bottom: 60rpx; | |
| 460 | +} | |
| 461 | +.bottom { | |
| 462 | + background-color: white; | |
| 463 | + border-top: 2rpx solid #f0f0f0; | |
| 464 | + /* box-shadow: 0 -6px 8px #e7e9eb; */ | |
| 465 | + width: 100%; | |
| 466 | + position: fixed; | |
| 467 | + left: 0; | |
| 468 | + bottom: 0; | |
| 469 | +} | |
| 470 | +.wx { | |
| 471 | + width: 60rpx; | |
| 472 | + height: 60rpx; | |
| 473 | +} | |
| 474 | +.save { | |
| 475 | + box-sizing: border-box; | |
| 476 | + padding-top: 6rpx; | |
| 477 | +} | |
| 478 | +.icon-save { | |
| 479 | + font-size: 50rpx; | |
| 480 | +} | |
| 481 | +.qrcode { | |
| 482 | + width: 480rpx; | |
| 483 | + height: 480rpx; | |
| 484 | + background-color: red; | |
| 485 | + margin: 60rpx auto 0; | |
| 486 | +} | |
| 487 | + | |
| 488 | + | ... | ... |
packageA/pages/goods_share/g_filter.wxs
0 → 100644
| 1 | +var g_filters = { | |
| 2 | + //-- 判断是不是有等级价 -- | |
| 3 | + is_has_rank:function(rank_switch,item){ | |
| 4 | + if(!rank_switch) return false; | |
| 5 | + if(item.cardprice1 || item.cardprice2 || item.cardprice3) {return true} | |
| 6 | + return false; | |
| 7 | + }, | |
| 8 | + | |
| 9 | + //-- 判断,不是等级会员时候,要显示的最低等级价和名称 -- | |
| 10 | + get_card_price:function(goods,all_card,type){ | |
| 11 | + var price1=parseFloat(goods['cardprice1']); | |
| 12 | + var price2=parseFloat(goods['cardprice2']); | |
| 13 | + var price3=parseFloat(goods['cardprice3']); | |
| 14 | + if(!all_card){ | |
| 15 | + if(type==0) return 0; | |
| 16 | + return ""; | |
| 17 | + } | |
| 18 | + | |
| 19 | + var arr=[]; | |
| 20 | + var min_price= 0; | |
| 21 | + var min_name=""; | |
| 22 | + | |
| 23 | + var min_price=null; | |
| 24 | + var min_name=null; | |
| 25 | + //---设置对应的价格名字---- | |
| 26 | + for(var i=0;i<3;i++) { | |
| 27 | + var vl=all_card[i]; | |
| 28 | + if(!vl) continue; | |
| 29 | + if(vl['CorrPrice']=="Price1" && price1>0) | |
| 30 | + { | |
| 31 | + if(min_price==null) { | |
| 32 | + min_price=price1;min_name=vl['CardName']; | |
| 33 | + } | |
| 34 | + else if(price1<min_price) { | |
| 35 | + min_price=price1;min_name=vl['CardName']; | |
| 36 | + } | |
| 37 | + } | |
| 38 | + if(vl['CorrPrice']=="Price2" && price2>0) | |
| 39 | + { | |
| 40 | + if(min_price==null) { | |
| 41 | + min_price=price2;min_name=vl['CardName']; | |
| 42 | + } | |
| 43 | + else if(price2<min_price) { | |
| 44 | + min_price=price2;min_name=vl['CardName']; | |
| 45 | + } | |
| 46 | + } | |
| 47 | + | |
| 48 | + if(vl['CorrPrice']=="Price3" && price3>0) | |
| 49 | + { | |
| 50 | + if(min_price==null) { | |
| 51 | + min_price=price3;min_name=vl['CardName']; | |
| 52 | + } | |
| 53 | + else if(price3<min_price) { | |
| 54 | + min_price=price3;min_name=vl['CardName']; | |
| 55 | + } | |
| 56 | + } | |
| 57 | + | |
| 58 | + } | |
| 59 | + if(min_price==null){ | |
| 60 | + if(type==0) return 0; | |
| 61 | + return ""; | |
| 62 | + } | |
| 63 | + | |
| 64 | + //if(type==0) return arr.length; | |
| 65 | + //--进行排序,升序--- | |
| 66 | + /*--- | |
| 67 | + arr.sort(function(a,b){ | |
| 68 | + if (a.price < b.price) { | |
| 69 | + return -1; | |
| 70 | + } else if (a.fee == b.fee) { | |
| 71 | + return 0; | |
| 72 | + } else { | |
| 73 | + return 1; | |
| 74 | + } | |
| 75 | + })--*/ | |
| 76 | + //-- 获取最下价钱,和相应的卡的名称 -- | |
| 77 | + if(type==0) return min_price.toFixed(2); | |
| 78 | + if(min_name.length>4) min_name=min_name.substring(0, 8); | |
| 79 | + return min_name; | |
| 80 | + }, | |
| 81 | +} | |
| 82 | +module.exports = { | |
| 83 | + is_has_rank:g_filters.is_has_rank, | |
| 84 | + get_card_price:g_filters.get_card_price, | |
| 85 | +} | |
| 0 | 86 | \ No newline at end of file | ... | ... |
packageA/pages/goods_share/goods_share.js
0 → 100644
| 1 | +// packageA//pages/goods_share/goods_share.js | |
| 2 | +var app=getApp(),oo = app.globalData.setting,os=oo,ut = require("../../../utils/util.js"); | |
| 3 | +Page({ | |
| 4 | + /** | |
| 5 | + * 页面的初始数据 | |
| 6 | + */ | |
| 7 | + data: { | |
| 8 | + // 控制价格 | |
| 9 | + active1: false, | |
| 10 | + // 控制佣金 | |
| 11 | + active2: false, | |
| 12 | + url:oo.imghost, | |
| 13 | + orderField:'sales_sum', | |
| 14 | + orderType:'desc', | |
| 15 | + list:[], | |
| 16 | + is_load:0, //是否正在加载 | |
| 17 | + is_no_data:0, //没有数据 | |
| 18 | + is_no_more:0, //没有更多数据 | |
| 19 | + key_str:'', | |
| 20 | + pattern:0, //分成的方式 | |
| 21 | + currentPage:1, //当前的页码 | |
| 22 | + | |
| 23 | + canvasHidden: 1, //-- 隐藏画布 -- | |
| 24 | + dis_switch:0, //-- 分销开关 -- | |
| 25 | + pattern:0, //-- 分成的方式 -- | |
| 26 | + share_hidden:1, //-- 分享的按钮隐藏 -- | |
| 27 | + share_good:null //--- 要分享的商品 --- | |
| 28 | + }, | |
| 29 | + /** | |
| 30 | + * 生命周期函数--监听页面加载 | |
| 31 | + */ | |
| 32 | + onLoad: function (options) { | |
| 33 | + var th=this; | |
| 34 | + //接受有没有导购的参数 | |
| 35 | + var first_leader=options.first_leader; | |
| 36 | + if(first_leader){ | |
| 37 | + //-- user_id代过来免登陆 -- | |
| 38 | + getApp().globalData.user_id=first_leader; | |
| 39 | + getApp().getUserFir(); | |
| 40 | + } | |
| 41 | + this.requestGoodsList(); | |
| 42 | + | |
| 43 | + //-- 自定义海报 -- | |
| 44 | + getApp().request.promiseGet("/api/weshop/goods/poster/page",{ | |
| 45 | + data:{store_id:os.stoid, type:1, is_use:1 } | |
| 46 | + }).then(res=>{ | |
| 47 | + if(res.data.code==0){ | |
| 48 | + | |
| 49 | + var poster_data=res.data.data.pageData[0]; | |
| 50 | + var json_str=poster_data.jsonStr; | |
| 51 | + | |
| 52 | + if(json_str){ | |
| 53 | + var json_data=JSON.parse(json_str); | |
| 54 | + if(json_data.bg_img){ | |
| 55 | + | |
| 56 | + //-- 把图片那到本地 -- | |
| 57 | + wx.getImageInfo({ | |
| 58 | + src:json_data.bg_img, | |
| 59 | + success: function(res) { | |
| 60 | + var path= res.path; | |
| 61 | + th.setData({share_b_img:path}) | |
| 62 | + }, | |
| 63 | + fail: function(res) {} | |
| 64 | + }); | |
| 65 | + } | |
| 66 | + | |
| 67 | + th.setData({poster:json_data}) | |
| 68 | + | |
| 69 | + } | |
| 70 | + } | |
| 71 | + }) | |
| 72 | + | |
| 73 | + //获取分销的配置 | |
| 74 | + getApp().request.promiseGet("/api/weshop/storeDistribut/get/"+oo.stoid,{}).then(res=>{ | |
| 75 | + if(res.data.code==0){ | |
| 76 | + th.setData({dis_switch:res.data.data.switch,pattern:res.data.data.pattern}); | |
| 77 | + } | |
| 78 | + }) | |
| 79 | + //获取用户设备信息,屏幕宽度 | |
| 80 | + wx.getSystemInfo({ | |
| 81 | + success: res => { | |
| 82 | + th.setData({ | |
| 83 | + screenWidth: res.screenWidth | |
| 84 | + }) | |
| 85 | + } | |
| 86 | + }); | |
| 87 | + | |
| 88 | + }, | |
| 89 | + | |
| 90 | + /*** 生命周期函数--监听页面显示***/ | |
| 91 | + onShow: function () { | |
| 92 | + var th=this; | |
| 93 | + getApp().getConfig2(function(rs){ | |
| 94 | + //计算等级价相关 | |
| 95 | + var swithc_list=rs.switch_list; | |
| 96 | + var sw_arr=JSON.parse(swithc_list); | |
| 97 | + //---如果后台又开等级卡的开关--- | |
| 98 | + if(sw_arr.rank_switch && sw_arr.rank_switch=="2"){ | |
| 99 | + th.setData({rank_switch:true}); | |
| 100 | + var user=getApp().globalData.userInfo; | |
| 101 | + var ti=setInterval(function(){ | |
| 102 | + if(!user) return false; | |
| 103 | + clearInterval(ti); | |
| 104 | + //---回调卡的列表--- | |
| 105 | + th.getPlusCardType(function(ob){ | |
| 106 | + th.setData({card_list:ob.card_list}); | |
| 107 | + if(user.card_field ){ | |
| 108 | + var str = user['card_expiredate'].replace(/-/g, '/'); | |
| 109 | + var end = new Date(str); | |
| 110 | + end = Date.parse(end) / 1000; | |
| 111 | + var now = ut.gettimestamp(); | |
| 112 | + //--- 判断是等级会员,且在有效期范围内 --- | |
| 113 | + if(user.card_field && now<end){ | |
| 114 | + var card_name=ob.name_map.get(user.card_field); | |
| 115 | + // if(card_name.length>4) card_name=card_name.substring(0,4); | |
| 116 | + th.setData({card_field:user.card_field,card_name:card_name,card_list:ob.card_list}); | |
| 117 | + } | |
| 118 | + } | |
| 119 | + }) | |
| 120 | + },500) | |
| 121 | + } | |
| 122 | + }); | |
| 123 | + }, | |
| 124 | + | |
| 125 | + /** | |
| 126 | + * 生命周期函数--监听页面隐藏 | |
| 127 | + */ | |
| 128 | + onHide: function () {}, | |
| 129 | + /**e | |
| 130 | + * 用户点击右上角分享 | |
| 131 | + */ | |
| 132 | + onShareAppMessage: function () { | |
| 133 | + var th = this; | |
| 134 | + var item=this.data.share_good; | |
| 135 | + var price = item.shop_price; | |
| 136 | + var title= item.goods_name; | |
| 137 | + var img=this.data.url+item.original_img; | |
| 138 | + | |
| 139 | + var url="/pages/goods/goodsInfo/goodsInfo?goods_id=" + th.data.gid; | |
| 140 | + if(getApp().globalData.user_id){ | |
| 141 | + url+="&first_leader="+getApp().globalData.user_id; | |
| 142 | + } | |
| 143 | + var ob={ | |
| 144 | + title: price + "元 " +title, | |
| 145 | + path:url, | |
| 146 | + imageUrl: img, | |
| 147 | + }; | |
| 148 | + th.setData({share_hidden:1}); | |
| 149 | + return ob; | |
| 150 | + | |
| 151 | + }, | |
| 152 | + | |
| 153 | + // 点击价格排序 | |
| 154 | + sort1() { | |
| 155 | + if(this.data.active2) { | |
| 156 | + this.setData({ | |
| 157 | + active2: !this.data.active2 | |
| 158 | + }); | |
| 159 | + }; | |
| 160 | + if(this.data.orderField!="shop_price"){ | |
| 161 | + this.setData({ | |
| 162 | + active1: 1,orderField:'shop_price',orderType:'asc',is_no_data:0,is_no_more:0,list:[], | |
| 163 | + }); | |
| 164 | + }else{ | |
| 165 | + | |
| 166 | + var ty=this.data.orderType=='asc'?'desc':'asc'; | |
| 167 | + this.setData({ | |
| 168 | + orderType:ty,is_no_data:0,is_no_more:0,list:[], | |
| 169 | + }); | |
| 170 | + } | |
| 171 | + this.data.is_load=0; | |
| 172 | + this.data.currentPage=1; | |
| 173 | + this.requestGoodsList(); | |
| 174 | + | |
| 175 | + }, | |
| 176 | + // 点击佣金排序 | |
| 177 | + sort2() { | |
| 178 | + if(this.data.active1) { | |
| 179 | + this.setData({ | |
| 180 | + active1: !this.data.active1 | |
| 181 | + }); | |
| 182 | + }; | |
| 183 | + if(this.data.orderField!="commission"){ | |
| 184 | + | |
| 185 | + if(this.data.pattern==0){ | |
| 186 | + this.setData({ | |
| 187 | + active2: 1,orderField:'commission',orderType:'asc',is_no_data:0,is_no_more:0,list:[], | |
| 188 | + }); | |
| 189 | + }else{ | |
| 190 | + this.setData({ | |
| 191 | + active2: 1,orderField:'(fir_rate+sec_rate+thi_rate)',orderType:'asc',is_no_data:0,is_no_more:0,list:[], | |
| 192 | + }); | |
| 193 | + } | |
| 194 | + | |
| 195 | + | |
| 196 | + }else{ | |
| 197 | + this.setData({ | |
| 198 | + orderType: (this.data.orderType=='asc'?'desc':'asc'),is_no_data:0,is_no_more:0,list:[], | |
| 199 | + }); | |
| 200 | + } | |
| 201 | + this.data.is_load=0; | |
| 202 | + this.data.currentPage=1; | |
| 203 | + this.requestGoodsList(); | |
| 204 | + }, | |
| 205 | + | |
| 206 | + //-- ----销量---- | |
| 207 | + sale_sort(){ | |
| 208 | + if(this.data.orderField!="sales_sum"){ | |
| 209 | + this.setData({ | |
| 210 | + active1: 0,active2:0,orderType:'desc',is_no_data:0,is_no_more:0,orderField:'sales_sum',list:[], | |
| 211 | + }); | |
| 212 | + this.data.is_load=0; | |
| 213 | + this.data.currentPage=1; | |
| 214 | + this.requestGoodsList(); | |
| 215 | + } | |
| 216 | + }, | |
| 217 | + | |
| 218 | + //-- ---最新--- | |
| 219 | + new_sort:function(){ | |
| 220 | + if(this.data.orderField!="is_new"){ | |
| 221 | + this.setData({ | |
| 222 | + active1: 0,active2:0,orderType:'desc',is_no_data:0,is_no_more:0,orderField:'is_new',list:[], | |
| 223 | + }); | |
| 224 | + this.data.is_load=0; | |
| 225 | + this.data.currentPage=1; | |
| 226 | + this.requestGoodsList(); | |
| 227 | + } | |
| 228 | + }, | |
| 229 | + | |
| 230 | + requestGoodsList:function(){ | |
| 231 | + var th=this; | |
| 232 | + if(th.data.is_load) return false; //-- 正在加载 | |
| 233 | + if(th.data.is_no_data) return false; //-- 没有数据 | |
| 234 | + if(th.data.is_no_more) return false; //-- 没有更多 | |
| 235 | + th.data.is_load=1; | |
| 236 | + | |
| 237 | + var url="/api/weshop/goods/page"; | |
| 238 | + var req_data={ | |
| 239 | + page:this.data.currentPage, | |
| 240 | + is_mainshow:1, | |
| 241 | + isonsale:1, | |
| 242 | + store_id:oo.stoid, | |
| 243 | + orderField:this.data.orderField, | |
| 244 | + orderType:this.data.orderType, | |
| 245 | + } | |
| 246 | + if(this.data.key_str && this.data.key_str.trim()){ | |
| 247 | + var str=this.data.key_str.trim(); | |
| 248 | + req_data.key_str=str; | |
| 249 | + } | |
| 250 | + //-- ---调用接口---- | |
| 251 | + app.request.promiseGet(url,{data:req_data,isShowLoading:1}).then(res=>{ | |
| 252 | + th.data.is_load=0; | |
| 253 | + if(res.data.code==0 && res.data.data.pageData && res.data.data.pageData.length>0){ | |
| 254 | + th.data.currentPage++; | |
| 255 | + var data=res.data.data.pageData; | |
| 256 | + if(res.data.data.page*10>res.data.data.total){th.setData({is_no_more:1});} | |
| 257 | + var list=th.data.list; | |
| 258 | + list=list.concat(data); | |
| 259 | + th.setData({list:list}); | |
| 260 | + }else{ | |
| 261 | + if(th.data.currentPage==1){ | |
| 262 | + th.setData({is_no_data:1}); | |
| 263 | + } | |
| 264 | + } | |
| 265 | + }) | |
| 266 | + }, | |
| 267 | + | |
| 268 | + | |
| 269 | + //--- 获取卡类列表 --- | |
| 270 | + getPlusCardType: function (func) { | |
| 271 | + var storid = oo.stoid; | |
| 272 | + var th = this; | |
| 273 | + getApp().request.promiseGet("/api/weshop/plus/vip/mem/bership/list?" + "storeId=" + storid, {}).then(res => { | |
| 274 | + var plusCard = res.data.data; | |
| 275 | + var arr = [1219, 2089, 3031]; | |
| 276 | + var new_arr = new Array(); | |
| 277 | + var card_name_map=new Map(); | |
| 278 | + var user = getApp().globalData.userInfo; | |
| 279 | + for (var i = 0; i < plusCard.length; i++) { | |
| 280 | + if ((user.card_field==null || user.card_field=="") && (plusCard[i].IsStopBuy==true)) { | |
| 281 | + continue; | |
| 282 | + } | |
| 283 | + var name="card"+plusCard[i].CorrPrice.toLowerCase(); | |
| 284 | + card_name_map.set(name,plusCard[i].CardName); | |
| 285 | + new_arr.push(plusCard[i]); | |
| 286 | + } | |
| 287 | + | |
| 288 | + var ob={"card_list":new_arr,"name_map":card_name_map}; | |
| 289 | + func(ob); | |
| 290 | + }) | |
| 291 | + }, | |
| 292 | + | |
| 293 | + | |
| 294 | + //---图片失败,默认图片--- | |
| 295 | + bind_bnerr2: function (e) { | |
| 296 | + var _errImg = e.target.dataset.errorimg; | |
| 297 | + var _errObj = {}; | |
| 298 | + _errObj[_errImg] ="/miniapp/images/default_g_img.gif"; | |
| 299 | + this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ; | |
| 300 | + }, | |
| 301 | + //-- ---更多加载---- | |
| 302 | + refresh:function(){ | |
| 303 | + this.requestGoodsList(); | |
| 304 | + }, | |
| 305 | + | |
| 306 | + //--定义的保存图片方法,分享团--- | |
| 307 | + saveImageToPhotosAlbum: function() { | |
| 308 | + //--先判断会员状态-- | |
| 309 | + var user_info = getApp().globalData.userInfo; | |
| 310 | + if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { | |
| 311 | + //getApp().my_warnning("请先登录",0,this); | |
| 312 | + wx.navigateTo({ url: '/pages/togoin/togoin', }) | |
| 313 | + return false; | |
| 314 | + } | |
| 315 | + //类型 0普通商品 1秒杀商品 2商家和会员团 3阶梯团 | |
| 316 | + var type = 0; | |
| 317 | + wx.showLoading({ | |
| 318 | + title: '生成中...', | |
| 319 | + }) | |
| 320 | + var that = this, th = that; | |
| 321 | + //设置画板显示,才能开始绘图 | |
| 322 | + that.setData({ | |
| 323 | + canvasHidden: false,share_hidden:1 | |
| 324 | + }) | |
| 325 | + | |
| 326 | + var app = getApp(); | |
| 327 | + var unit = that.data.screenWidth / 750 * 1.35; //基础单位, | |
| 328 | + var scene = th.data.gid+""; | |
| 329 | + var user_id=getApp().globalData.user_id?getApp().globalData.user_id:0; | |
| 330 | + if(user_id>0){ | |
| 331 | + scene+="_"+user_id; | |
| 332 | + } | |
| 333 | + | |
| 334 | + ///二微码 | |
| 335 | + var path3 = os.url + "/api/wx/open/app/user/getWeAppEwm/" + | |
| 336 | + os.stoid + "?sceneValue=" + scene + "&pageValue=pages/goods/goodsInfo/goodsInfo"; | |
| 337 | + | |
| 338 | + //读取文件成功则OK-- | |
| 339 | + wx.getImageInfo({ | |
| 340 | + src: path3, | |
| 341 | + success: function(res) { | |
| 342 | + //回调写法 | |
| 343 | + th.get_head_temp(th.get_goods_temp, function() { | |
| 344 | + var vpath = res.path; | |
| 345 | + var context = wx.createCanvasContext('share'); | |
| 346 | + //先画背景 | |
| 347 | + var pg_path = "../../../images/share/share_bg.png"; | |
| 348 | + | |
| 349 | + //-- 如果有自定义海报的时候,判断背景的图片 -- | |
| 350 | + if(th.data.share_b_img){ | |
| 351 | + pg_path=th.data.share_b_img; | |
| 352 | + } | |
| 353 | + context.drawImage(pg_path, 0, 0, 554 * unit, 899 * unit); | |
| 354 | + | |
| 355 | + //-- 是自定义海报的情况下 -- | |
| 356 | + if(th.data.poster && parseInt(th.data.poster.style)==2){ | |
| 357 | + //在线上分享人的情况下 | |
| 358 | + if(parseInt(th.data.poster.show_headpic)){ | |
| 359 | + //获取坐标 | |
| 360 | + var x=parseFloat(th.data.poster.head_x)*2; | |
| 361 | + var y=parseFloat(th.data.poster.head_y)*2; | |
| 362 | + var x1=(x+90) *unit; | |
| 363 | + var y1=(y+50) *unit; | |
| 364 | + //--昵称--- | |
| 365 | + context.setFontSize(24 * unit) | |
| 366 | + context.setFillStyle("black") | |
| 367 | + context.fillText(app.globalData.userInfo.nickname, x1, y1); | |
| 368 | + var width = 24 * app.globalData.userInfo.nickname.length * unit + 4 * unit; | |
| 369 | + //强烈推荐 改许程 | |
| 370 | + var tj_path = "../../../images/share/q_tj.png"; | |
| 371 | + context.drawImage(tj_path, x1 + width, y1-22*unit, 85 * unit, 30 * unit); | |
| 372 | + context.setFontSize(16 * unit) | |
| 373 | + context.setLineJoin('round'); //交点设置成圆角 | |
| 374 | + context.setFillStyle("white") | |
| 375 | + context.fillText('强烈推荐', x1 + width+8*unit, y1-1*unit); | |
| 376 | + } | |
| 377 | + }else{ | |
| 378 | + //--昵称--- | |
| 379 | + context.setFontSize(24 * unit) | |
| 380 | + context.setFillStyle("black") | |
| 381 | + context.fillText(app.globalData.userInfo.nickname, 152 * unit, 76 * unit); | |
| 382 | + var width = 24 * app.globalData.userInfo.nickname.length * unit + 2 * unit; | |
| 383 | + //强烈推荐 改许程 | |
| 384 | + var tj_path = "../../../images/share/q_tj.png"; | |
| 385 | + context.drawImage(tj_path, 152 * unit + width, 54 * unit, 85 * unit, 30 * unit); | |
| 386 | + context.setFontSize(16 * unit) | |
| 387 | + context.setLineJoin('round'); //交点设置成圆角 | |
| 388 | + context.setFillStyle("white") | |
| 389 | + context.fillText('强烈推荐', 149 * unit + width + 15 * unit, 76 * unit); | |
| 390 | + } | |
| 391 | + | |
| 392 | + | |
| 393 | + //---产品名称--- | |
| 394 | + //文本换行 参数:1、canvas对象,2、文本 3、距离左侧的距离 4、距离顶部的距离 5、6、文本的宽度 | |
| 395 | + context.setFillStyle("black"); | |
| 396 | + context.setFontSize(21.3 * unit) | |
| 397 | + th.draw_Text(context, th.data.share_good.goods_name, | |
| 398 | + 38 * unit, 180 * unit, 200 * unit, 279 * unit, unit); | |
| 399 | + //------产品的价格------- | |
| 400 | + context.setFontSize(23 * unit) | |
| 401 | + context.setFillStyle("red") | |
| 402 | + context.fillText("¥", 416 * unit, 185 * unit); | |
| 403 | + context.setFontSize(31 * unit) | |
| 404 | + var pri0 = th.data.share_good.shop_price; | |
| 405 | + if (th.data.prom_act) | |
| 406 | + pri0 = th.data.prom_act.price; | |
| 407 | + | |
| 408 | + pri0 = parseFloat(pri0).toFixed(2); | |
| 409 | + context.fillText(pri0, 438 * unit, 185 * unit); | |
| 410 | + //---市场价划掉--- | |
| 411 | + context.setFillStyle("gray") | |
| 412 | + context.setFontSize(22 * unit) | |
| 413 | + context.fillText("¥" + th.data.share_good.market_price, 426 * unit, 213 * unit); | |
| 414 | + context.setStrokeStyle('gray') | |
| 415 | + context.setLineWidth(1 * unit) | |
| 416 | + context.moveTo(426 * unit, 206 * unit) | |
| 417 | + context.lineTo(510 * unit, 206 * unit) | |
| 418 | + context.stroke(); | |
| 419 | + //---中间大图--- | |
| 420 | + context.drawImage(th.data.share_goods_img, 68 * unit, 242 * unit, 410 * unit, 410 * unit); | |
| 421 | + //-------大图后面就不一样了----------- | |
| 422 | + switch (type) { | |
| 423 | + case 0: //普通商品的展示 | |
| 424 | + //中间的几个字 | |
| 425 | + if(th.data.poster && parseInt(th.data.poster.style)==2 ){ | |
| 426 | + if(parseInt(th.data.poster.show_quality)){ | |
| 427 | + var g_path = "../../../images/share/s_gou.png"; | |
| 428 | + context.drawImage(g_path, 56 * unit, 670 * unit, 22 * unit, 22 * unit); | |
| 429 | + context.setFillStyle("red") | |
| 430 | + context.setFontSize(18 * unit) | |
| 431 | + context.fillText("正品保证", 84 * unit, 690 * unit); | |
| 432 | + | |
| 433 | + context.drawImage(g_path, 218 * unit, 670 * unit, 22 * unit, 22 * unit); | |
| 434 | + context.setFillStyle("red") | |
| 435 | + context.setFontSize(18 * unit) | |
| 436 | + context.fillText("纯实体店", 246 * unit, 690 * unit); | |
| 437 | + | |
| 438 | + context.drawImage(g_path, 388 * unit, 670 * unit, 22 * unit, 22 * unit); | |
| 439 | + context.setFillStyle("red") | |
| 440 | + context.setFontSize(18 * unit) | |
| 441 | + context.fillText("官方验证", 420 * unit, 690 * unit); | |
| 442 | + } | |
| 443 | + | |
| 444 | + }else{ | |
| 445 | + var g_path = "../../../images/share/s_gou.png"; | |
| 446 | + context.drawImage(g_path, 56 * unit, 670 * unit, 22 * unit, 22 * unit); | |
| 447 | + context.setFillStyle("red") | |
| 448 | + context.setFontSize(18 * unit) | |
| 449 | + context.fillText("正品保证", 84 * unit, 690 * unit); | |
| 450 | + | |
| 451 | + context.drawImage(g_path, 218 * unit, 670 * unit, 22 * unit, 22 * unit); | |
| 452 | + context.setFillStyle("red") | |
| 453 | + context.setFontSize(18 * unit) | |
| 454 | + context.fillText("纯实体店", 246 * unit, 690 * unit); | |
| 455 | + | |
| 456 | + context.drawImage(g_path, 388 * unit, 670 * unit, 22 * unit, 22 * unit); | |
| 457 | + context.setFillStyle("red") | |
| 458 | + context.setFontSize(18 * unit) | |
| 459 | + context.fillText("官方验证", 420 * unit, 690 * unit); | |
| 460 | + } | |
| 461 | + | |
| 462 | + //---画线--- | |
| 463 | + context.setLineWidth(1 * unit) | |
| 464 | + context.moveTo(32 * unit, 710 * unit) | |
| 465 | + context.lineTo(520 * unit, 710 * unit) | |
| 466 | + context.stroke(); | |
| 467 | + //---文字--- | |
| 468 | + context.setFillStyle("black") | |
| 469 | + context.setFontSize(22 * unit) | |
| 470 | + // 原来start ---> | |
| 471 | + context.fillText("优惠乐翻天,精彩就在你身边", 40 * unit, 776 * unit); | |
| 472 | + context.fillText("长按识别二维码,立即开始抢购", 40 * unit, 826 * unit); | |
| 473 | + | |
| 474 | + //---二维吗图--- | |
| 475 | + //-- 自定义海报 -- | |
| 476 | + if(th.data.poster){ | |
| 477 | + var erm_x= parseFloat(th.data.poster.ewm_x)*2; | |
| 478 | + var erm_y= parseFloat(th.data.poster.ewm_y)*2; | |
| 479 | + context.drawImage(vpath, erm_x * unit, erm_y * unit, 120 * unit, 120 * unit); | |
| 480 | + }else{ | |
| 481 | + //---二维吗图--- | |
| 482 | + context.drawImage(vpath, 420 * unit, 726 * unit, 120 * unit, 120 * unit); | |
| 483 | + } | |
| 484 | + | |
| 485 | + break; | |
| 486 | + case 1: //秒杀商品的展示 | |
| 487 | + //---画线--- | |
| 488 | + context.setLineWidth(1 * unit) | |
| 489 | + context.moveTo(32 * unit, 670 * unit) | |
| 490 | + context.lineTo(520 * unit, 670 * unit) | |
| 491 | + context.stroke(); | |
| 492 | + | |
| 493 | + //画秒杀的图片 | |
| 494 | + var miaos_path = '../../../images/share/miao_share.png'; | |
| 495 | + context.drawImage(miaos_path, 43 * unit, 700 * unit, 222 * unit, 40 * unit); | |
| 496 | + | |
| 497 | + //---文字--- | |
| 498 | + context.setFontSize(22 * unit) | |
| 499 | + context.setFillStyle("black") | |
| 500 | + context.fillText("特惠好物,限时秒杀", 40 * unit, 806 * unit); | |
| 501 | + context.fillText("长按识别二维码,立即开始抢购", 40 * unit, 846 * unit); | |
| 502 | + //---二维吗图--- | |
| 503 | + //-- 自定义海报 -- | |
| 504 | + if(th.data.poster){ | |
| 505 | + var erm_x= parseFloat(th.data.poster.ewm_x)*2; | |
| 506 | + var erm_y= parseFloat(th.data.poster.ewm_y)*2; | |
| 507 | + context.drawImage(vpath, erm_x * unit, erm_y * unit, 120 * unit, 120 * unit); | |
| 508 | + }else{ | |
| 509 | + //---二维吗图--- | |
| 510 | + context.drawImage(vpath, 420 * unit, 726 * unit, 120 * unit, 120 * unit); | |
| 511 | + } | |
| 512 | + | |
| 513 | + | |
| 514 | + break; | |
| 515 | + | |
| 516 | + case 2: //会员团和商家团的展示 | |
| 517 | + //---画线--- | |
| 518 | + context.setLineWidth(1 * unit) | |
| 519 | + context.moveTo(32 * unit, 670 * unit) | |
| 520 | + context.lineTo(520 * unit, 670 * unit) | |
| 521 | + context.stroke(); | |
| 522 | + //---文字--- | |
| 523 | + context.setFontSize(22 * unit) | |
| 524 | + context.font = 'normal bold'; | |
| 525 | + context.setFillStyle("black") | |
| 526 | + context.fillText("好物拼起来,拼拼更划算", 40 * unit, 726 * unit); | |
| 527 | + | |
| 528 | + //绘制成团图片 | |
| 529 | + var ct_img = "../../../images/share/ct_num.png"; | |
| 530 | + context.drawImage(ct_img, 40 * unit, 740 * unit, 120 * unit, 30 * unit); | |
| 531 | + var ct_num = th.data.prom_act.ct_num; | |
| 532 | + context.setFontSize(14 * unit) | |
| 533 | + context.font = 'normal'; | |
| 534 | + context.setFillStyle("red") | |
| 535 | + if (ct_num < 10) { | |
| 536 | + context.fillText(ct_num + "人拼团", 92 * unit, 760 * unit); | |
| 537 | + } else { | |
| 538 | + context.fillText(ct_num + "人拼团", 86 * unit, 760 * unit); | |
| 539 | + } | |
| 540 | + context.setFontSize(22 * unit) | |
| 541 | + context.fillText("已拼" + th.data.prom_act.buy_num + "份", 166 * unit, 763 * unit); | |
| 542 | + context.setFillStyle("gray") | |
| 543 | + context.fillText("快来和我一起拼团吧!", 40 * unit, 826 * unit); | |
| 544 | + context.setFillStyle("black") | |
| 545 | + context.font = 'normal bold 18px sans-serif'; | |
| 546 | + context.setFontSize(21.3 * unit) | |
| 547 | + context.fillText("长按识别二维码,立即参团", 40 * unit, 856 * unit); | |
| 548 | + //---二维吗图--- | |
| 549 | + //-- 自定义海报 -- | |
| 550 | + if(th.data.poster){ | |
| 551 | + var erm_x= parseFloat(th.data.poster.ewm_x)*2; | |
| 552 | + var erm_y= parseFloat(th.data.poster.ewm_y)*2; | |
| 553 | + context.drawImage(vpath, erm_x * unit, erm_y * unit, 120 * unit, 120 * unit); | |
| 554 | + }else{ | |
| 555 | + //---二维吗图--- | |
| 556 | + context.drawImage(vpath, 420 * unit, 726 * unit, 120 * unit, 120 * unit); | |
| 557 | + } | |
| 558 | + break | |
| 559 | + case 3: //阶梯团的展示 | |
| 560 | + //---画线--- | |
| 561 | + context.setLineWidth(1 * unit) | |
| 562 | + context.moveTo(32 * unit, 670 * unit) | |
| 563 | + context.lineTo(520 * unit, 670 * unit) | |
| 564 | + context.stroke(); | |
| 565 | + //---文字--- | |
| 566 | + context.setFontSize(22 * unit) | |
| 567 | + context.font = 'normal bold'; | |
| 568 | + context.setFillStyle("black") | |
| 569 | + context.fillText("好物拼起来,拼拼更划算", 40 * unit, 726 * unit); | |
| 570 | + //---绘制中间阶梯的价格--- | |
| 571 | + var list = th.data.prom_act.ct_rylist; | |
| 572 | + for (var i = 0; i < list.length; i++) { | |
| 573 | + var item = list[i]; | |
| 574 | + var wi = i * 90 * unit; | |
| 575 | + context.font = 'normal'; | |
| 576 | + context.setFontSize(16 * unit) | |
| 577 | + context.setFillStyle("red") | |
| 578 | + context.fillText("¥", 40 * unit + wi, 756 * unit); | |
| 579 | + context.setFontSize(22 * unit) | |
| 580 | + var pri = parseFloat(item.price).toFixed(2); | |
| 581 | + context.fillText(pri, 56 * unit + wi, 756 * unit); | |
| 582 | + context.setFillStyle("gray") | |
| 583 | + context.fillText("满" + item.rynum + "人", 40 * unit + wi, 786 * unit); | |
| 584 | + } | |
| 585 | + //----------------下面部分---------------- | |
| 586 | + context.setFillStyle("gray") | |
| 587 | + context.fillText("快来和我一起拼团吧!", 40 * unit, 830 * unit); | |
| 588 | + context.setFillStyle("black") | |
| 589 | + context.font = 'normal bold 18px sans-serif'; | |
| 590 | + context.setFontSize(22 * unit) | |
| 591 | + context.fillText("长按识别二维码,立即参团", 40 * unit, 860 * unit); | |
| 592 | + | |
| 593 | + //-- 自定义海报 -- | |
| 594 | + if(th.data.poster){ | |
| 595 | + var erm_x= parseFloat(th.data.poster.ewm_x)*2; | |
| 596 | + var erm_y= parseFloat(th.data.poster.ewm_y)*2; | |
| 597 | + context.drawImage(vpath, erm_x * unit, erm_y * unit, 120 * unit, 120 * unit); | |
| 598 | + }else{ | |
| 599 | + //---二维吗图--- | |
| 600 | + context.drawImage(vpath, 420 * unit, 726 * unit, 120 * unit, 120 * unit); | |
| 601 | + } | |
| 602 | + break | |
| 603 | + } | |
| 604 | + | |
| 605 | + | |
| 606 | + //--- 如果是自定义海报的时候 --- | |
| 607 | + if(th.data.poster && parseInt(th.data.poster.style)==2){ | |
| 608 | + //如果显示会员信息的话 | |
| 609 | + if(parseInt(th.data.poster.show_headpic)){ | |
| 610 | + //获取坐标 | |
| 611 | + var x= parseFloat(th.data.poster.head_x)*2; | |
| 612 | + var y=parseFloat(th.data.poster.head_y)*2; | |
| 613 | + //---绘制圆形要放在最后---- | |
| 614 | + context.save(); | |
| 615 | + context.beginPath(); | |
| 616 | + var h_x = x* unit; | |
| 617 | + var h_y = y * unit; | |
| 618 | + var h_r = 40 * unit; | |
| 619 | + var cx = h_x + h_r; | |
| 620 | + var cy = h_y + h_r; | |
| 621 | + context.arc(cx, cy, h_r, 0, Math.PI * 2, false); | |
| 622 | + context.closePath(); | |
| 623 | + context.fill(); | |
| 624 | + context.clip(); | |
| 625 | + context.drawImage(th.data.share_head, h_x, h_y, h_r * 2, h_r * 2); | |
| 626 | + context.restore(); | |
| 627 | + } | |
| 628 | + | |
| 629 | + }else{ | |
| 630 | + //---绘制圆形要放在最后---- | |
| 631 | + context.save(); | |
| 632 | + context.beginPath(); | |
| 633 | + var h_x = 60 * unit; | |
| 634 | + var h_y = 24 * unit; | |
| 635 | + var h_r = 40 * unit; | |
| 636 | + var cx = h_x + h_r; | |
| 637 | + var cy = h_y + h_r; | |
| 638 | + context.arc(cx, cy, h_r, 0, Math.PI * 2, false); | |
| 639 | + context.closePath(); | |
| 640 | + context.fill(); | |
| 641 | + context.clip(); | |
| 642 | + context.drawImage(th.data.share_head, h_x, h_y, h_r * 2, h_r * 2); | |
| 643 | + context.restore(); | |
| 644 | + } | |
| 645 | + | |
| 646 | + | |
| 647 | + //把画板内容绘制成图片,并回调 画板图片路径 | |
| 648 | + context.draw(false, function() { | |
| 649 | + setTimeout(function() { | |
| 650 | + wx.canvasToTempFilePath({ | |
| 651 | + x: 0, | |
| 652 | + y: 0, | |
| 653 | + width: 750, | |
| 654 | + height: 1217, | |
| 655 | + destWidth: 1.2 * 750 * 750 / that.data.screenWidth, | |
| 656 | + destHeight: 1.2 * 1217 * 750 / that.data.screenWidth, | |
| 657 | + canvasId: 'share', | |
| 658 | + success: function(res) { | |
| 659 | + that.setData({ | |
| 660 | + shareImgPath: res.tempFilePath, | |
| 661 | + canvasHidden: true | |
| 662 | + }) | |
| 663 | + if (!res.tempFilePath) { | |
| 664 | + wx.showModal({ | |
| 665 | + title: '提示', | |
| 666 | + content: '图片绘制中,请稍后重试', | |
| 667 | + showCancel: false | |
| 668 | + }) | |
| 669 | + return false; | |
| 670 | + } | |
| 671 | + wx.previewImage({ | |
| 672 | + //将图片预览出来 | |
| 673 | + urls: [that.data.shareImgPath] | |
| 674 | + }); | |
| 675 | + wx.hideLoading(); | |
| 676 | + } | |
| 677 | + }) | |
| 678 | + }, 500) | |
| 679 | + | |
| 680 | + }); | |
| 681 | + }); | |
| 682 | + } | |
| 683 | + }); | |
| 684 | + | |
| 685 | + }, | |
| 686 | + | |
| 687 | + //点击分享商品 | |
| 688 | + share_good:function(e){ | |
| 689 | + //--先判断会员状态-- | |
| 690 | + var user_info = getApp().globalData.userInfo; | |
| 691 | + if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { | |
| 692 | + //getApp().my_warnning("请先登录",0,this); | |
| 693 | + wx.navigateTo({ url: '/pages/togoin/togoin', }) | |
| 694 | + return false; | |
| 695 | + } | |
| 696 | + | |
| 697 | + var index=e.currentTarget.dataset.index; | |
| 698 | + var item=this.data.list[index]; | |
| 699 | + this.setData({share_hidden:0,share_good:item}); | |
| 700 | + }, | |
| 701 | + | |
| 702 | + cancel:function(){ | |
| 703 | + this.setData({share_hidden:1}); | |
| 704 | + }, | |
| 705 | + | |
| 706 | + //--获取头像的本地缓存,回调写法-- | |
| 707 | + get_head_temp: function(tt, func) { | |
| 708 | + var ee = this; | |
| 709 | + if (ee.data.share_head) { | |
| 710 | + tt(func); | |
| 711 | + return false; | |
| 712 | + } | |
| 713 | + //---获取分享图片的本地地址,头像和商品图片---- | |
| 714 | + var path2 = getApp().globalData.userInfo.head_pic; | |
| 715 | + if (path2 == "") { | |
| 716 | + ee.data.share_head = "../../../images/share/hui_hear_pic.png"; | |
| 717 | + tt(func); | |
| 718 | + } else { | |
| 719 | + path2 = path2.replace("http://thirdwx.qlogo.cn", "https://wx.qlogo.cn"); | |
| 720 | + path2 = path2.replace("https://thirdwx.qlogo.cn", "https://wx.qlogo.cn"); | |
| 721 | + wx.getImageInfo({ | |
| 722 | + src: path2, | |
| 723 | + success: function(res) { | |
| 724 | + //res.path是网络图片的本地地址 | |
| 725 | + ee.data.share_head = res.path; | |
| 726 | + tt(func); | |
| 727 | + }, | |
| 728 | + fail: function(res) { | |
| 729 | + ee.data.share_head = "../../../images/share/hui_hear_pic.png"; //分享的图片不能用网络的 | |
| 730 | + tt(func); | |
| 731 | + } | |
| 732 | + }); | |
| 733 | + } | |
| 734 | + }, | |
| 735 | + //--获取商品图片的本地缓存,回调写法-- | |
| 736 | + get_goods_temp: function(tt) { | |
| 737 | + var ee = this; | |
| 738 | + //获取商品是分享图信息 | |
| 739 | + wx.getImageInfo({ | |
| 740 | + src: ee.data.url+ee.data.share_good.original_img, | |
| 741 | + success: function(res) { | |
| 742 | + //res.path是网络图片的本地地址 | |
| 743 | + ee.data.share_goods_img = res.path; | |
| 744 | + tt(); | |
| 745 | + }, | |
| 746 | + fail: function(res) { | |
| 747 | + ee.data.share_goods_img = "../../../images/share/default_g_img.gif"; //分享的图片不能用网络的 | |
| 748 | + tt(); | |
| 749 | + } | |
| 750 | + }); | |
| 751 | + }, | |
| 752 | + | |
| 753 | + //文本换行 参数:1、canvas对象,2、文本 3、距离左侧的距离 4、距离顶部的距离 5、6、文本的宽度 | |
| 754 | + draw_Text: function(ctx, str, leftWidth, initHeight, titleHeight, canvasWidth, unit) { | |
| 755 | + var lineWidth = 0; | |
| 756 | + var lastSubStrIndex = 0; //每次开始截取的字符串的索引 | |
| 757 | + var han = 0; | |
| 758 | + for (let i = 0; i < str.length; i++) { | |
| 759 | + if (han == 2) return; | |
| 760 | + //lineWidth += ctx.measureText(str[i]).width; | |
| 761 | + lineWidth += ut.measureText(str[i], 21.3 * unit); | |
| 762 | + if (lineWidth > canvasWidth) { | |
| 763 | + han++; | |
| 764 | + | |
| 765 | + if (han == 2) | |
| 766 | + ctx.fillText(str.substring(lastSubStrIndex, i) + '...', leftWidth, initHeight); //绘制截取部分 | |
| 767 | + else | |
| 768 | + ctx.fillText(str.substring(lastSubStrIndex, i), leftWidth, initHeight); | |
| 769 | + | |
| 770 | + initHeight += 22; //22为字体的高度 | |
| 771 | + lineWidth = 0; | |
| 772 | + lastSubStrIndex = i; | |
| 773 | + titleHeight += 20; | |
| 774 | + } | |
| 775 | + if (i == str.length - 1) { //绘制剩余部分 | |
| 776 | + ctx.fillText(str.substring(lastSubStrIndex, i + 1), leftWidth, initHeight); | |
| 777 | + } | |
| 778 | + } | |
| 779 | + }, | |
| 780 | + | |
| 781 | + //-------搜索的相关功能------ | |
| 782 | + set_search_value:function(e){ | |
| 783 | + var key_str=e.detail.value; | |
| 784 | + if(key_str) key_str=key_str.trim(); | |
| 785 | + this.setData({key_str:key_str}); | |
| 786 | + | |
| 787 | + }, | |
| 788 | + search_data:function(){ | |
| 789 | + this.setData({ | |
| 790 | + is_no_data:0,is_no_more:0,list:[], | |
| 791 | + }); | |
| 792 | + this.data.is_load=0; | |
| 793 | + this.data.currentPage=1; | |
| 794 | + this.requestGoodsList(); | |
| 795 | + } | |
| 796 | + | |
| 797 | + | |
| 798 | +}) | |
| 0 | 799 | \ No newline at end of file | ... | ... |
packageA/pages/goods_share/goods_share.json
0 → 100644
packageA/pages/goods_share/goods_share.wxml
0 → 100644
| 1 | +<wxs module="g_filter" src="g_filter.wxs"></wxs> | |
| 2 | +<view class="container"> | |
| 3 | + <!-- 搜索框 --> | |
| 4 | + <view class="search-container"> | |
| 5 | + <view class="input-container"><input bindinput="set_search_value" class="search" type="text" placeholder="请输入您想查找的商品信息"/></view> | |
| 6 | + <view bindtap="search_data" class="btn-search">搜索</view> | |
| 7 | + </view> | |
| 8 | + <!-- 列表 --> | |
| 9 | + <view class="list-container"> | |
| 10 | + <!-- 标题 --> | |
| 11 | + <view class="title"> | |
| 12 | + <view class="title-item" bindtap="sale_sort">销量</view> | |
| 13 | + <view class="title-item" bindtap="sort1">价格<text class="iconfont {{orderType=='asc'?'icon-shang':'icon-xia'}}"></text></view> | |
| 14 | + <view class="title-item" bindtap="sort2">佣金<text class="iconfont {{orderType=='asc'?'icon-shang':'icon-xia'}}"></text></view> | |
| 15 | + <view class="title-item" bindtap='new_sort'>最新</view> | |
| 16 | + </view> | |
| 17 | + <!-- 列表项 --> | |
| 18 | + <scroll-view | |
| 19 | + class="list" | |
| 20 | + scroll-y="true" | |
| 21 | + bindscrolltolower="refresh" | |
| 22 | + scroll-anchoring | |
| 23 | + refresher-enabled> | |
| 24 | + <block wx:for="{{list}}"> | |
| 25 | + <view class class="list-item"> | |
| 26 | + <view class="img-container"> | |
| 27 | + <image src="{{url+item.original_img}}" style="width: 100%; height: 100%;" | |
| 28 | + binderror="bind_bnerr2" lazy-load="true" | |
| 29 | + data-errorimg="list[{{index}}].original_img"></image> | |
| 30 | + </view> | |
| 31 | + <view class="details"> | |
| 32 | + <view class="ellipsis-2 fs28 name">{{item.goods_name}}</view> | |
| 33 | + <view class="red pdt14">¥{{item.shop_price}} | |
| 34 | + <!-- 如果有等级卡的话 --> | |
| 35 | + <block wx:if="{{g_filter.is_has_rank(rank_switch,item)}}"> | |
| 36 | + <!-- 当会员是等级卡的时候,且卡有钱的时候 --> | |
| 37 | + <block wx:if="{{card_field && item[card_field]>0}}"> | |
| 38 | + <text class="plus_show">PLUS</text>¥{{item[card_field]}} | |
| 39 | + </block> | |
| 40 | + <!-- 当会员不是等级卡的时候,且卡有钱的时候 --> | |
| 41 | + <block wx:if="{{!card_field && g_filter.get_card_price(item,card_list,0)>0}}"> | |
| 42 | + <text class="plus_show">PLUS</text>¥{{g_filter.get_card_price(item,card_list,0)}} | |
| 43 | + </block> | |
| 44 | + </block> | |
| 45 | + </view> | |
| 46 | + | |
| 47 | + <view class="flex jc_sb fs24 pdt14"> | |
| 48 | + <view class="gray">已售:<text class="red">{{item.sales_sum}}</text></view> | |
| 49 | + <view class="gray">分成金额: | |
| 50 | + <text wx:if="{{!pattern}}" class="red">¥{{item.commission}}</text> | |
| 51 | + <text wx:else class="red">¥{{item.fir_rate+item.sec_rate+item.thi_rate}}</text> | |
| 52 | + </view> | |
| 53 | + </view> | |
| 54 | + <view bindtap="share_good" data-index="{{index}}" class="t-r fs28 pdt14"> | |
| 55 | + <view class="btn-share">分享</view> | |
| 56 | + </view> | |
| 57 | + </view> | |
| 58 | + </view> | |
| 59 | + </block> | |
| 60 | + <nodata wx:if="{{list.length==0}}" nodataContainer="nodata">暂无数据</nodata> | |
| 61 | + <view wx:if="{{is_no_more}}" class="no-more t-c">- 已全部加载 -</view> | |
| 62 | + </scroll-view> | |
| 63 | + </view> | |
| 64 | +</view> | |
| 65 | + | |
| 66 | +<!--二维码显示页面--> | |
| 67 | +<canvas canvas-id='share' style='width:750rpx;height:1217rpx;' wx:if='{{!canvasHidden}}'></canvas> | |
| 68 | +<!-- 分享控件,底部弹出 --> | |
| 69 | +<share_button id="share_button" bind:cancel="cancel" bind:share_img="saveImageToPhotosAlbum" wx:if="{{!share_hidden}}"></share_button> | ... | ... |
packageA/pages/goods_share/goods_share.wxss
0 → 100644
| 1 | +/* packageA//pages/goods_share/goods_share.wxss */ | |
| 2 | +.red { | |
| 3 | + color: #FE6867; | |
| 4 | +} | |
| 5 | +.gray { | |
| 6 | + color: #7b7b7b; | |
| 7 | +} | |
| 8 | +page { | |
| 9 | + background-color: #f2f2f2; | |
| 10 | + height: 100%; | |
| 11 | +} | |
| 12 | +.container { | |
| 13 | + background-color: white; | |
| 14 | + height: 100%; | |
| 15 | +} | |
| 16 | +.search-container { | |
| 17 | + display: flex; | |
| 18 | + padding: 26rpx 20rpx; | |
| 19 | + border-bottom: 2rpx solid #f8f8f8; | |
| 20 | +} | |
| 21 | +.input-container { | |
| 22 | + flex: 1; | |
| 23 | + border-radius: 6rpx 0 0 6rpx; | |
| 24 | + overflow: hidden; | |
| 25 | +} | |
| 26 | +.search { | |
| 27 | + background-color: #f0f0f0; | |
| 28 | + padding: 10rpx 20rpx; | |
| 29 | + font-size: 28rpx; | |
| 30 | +} | |
| 31 | +.btn-search { | |
| 32 | + background-color: #FE6867; | |
| 33 | + color: white; | |
| 34 | + padding: 0 30rpx; | |
| 35 | + display: flex; | |
| 36 | + align-items: center; | |
| 37 | + border-radius: 0 6rpx 6rpx 0; | |
| 38 | +} | |
| 39 | +.title { | |
| 40 | + display: flex; | |
| 41 | + font-size: 30rpx; | |
| 42 | + border-bottom: 2rpx solid #f8f8f8; | |
| 43 | +} | |
| 44 | +.title .iconfont { | |
| 45 | + color: #ccc; | |
| 46 | + font-size: 16rpx; | |
| 47 | + margin-left: 8rpx; | |
| 48 | +} | |
| 49 | +.title-item { | |
| 50 | + width: 25%; | |
| 51 | + box-sizing: border-box; | |
| 52 | + text-align: center; | |
| 53 | + padding: 20rpx; | |
| 54 | +} | |
| 55 | +.list-container { | |
| 56 | + height: calc(100% - 118rpx); | |
| 57 | +} | |
| 58 | +.list { | |
| 59 | + height: calc(100% - 82rpx); | |
| 60 | + background-color: #f2f2f2; | |
| 61 | +} | |
| 62 | +.list-item { | |
| 63 | + display: flex; | |
| 64 | + padding: 20rpx; | |
| 65 | + border-bottom: 2rpx solid #f8f8f8; | |
| 66 | + background-color: white; | |
| 67 | +} | |
| 68 | +.img-container { | |
| 69 | + background-color: #f0f0f0; | |
| 70 | + width: 280rpx; | |
| 71 | + height: 248rpx; | |
| 72 | + display: flex; | |
| 73 | + align-items: center; | |
| 74 | + justify-content: center; | |
| 75 | +} | |
| 76 | +.img-container:after { | |
| 77 | + /* font-family: iconfont; | |
| 78 | + content: '\e8c1'; | |
| 79 | + color: #bbb; | |
| 80 | + font-size: 80rpx; */ | |
| 81 | +} | |
| 82 | +.details { | |
| 83 | + flex: 1; | |
| 84 | + padding-left: 20rpx; | |
| 85 | +} | |
| 86 | +.btn-share { | |
| 87 | + display: inline-block; | |
| 88 | + background-color: #FE6867; | |
| 89 | + color: white; | |
| 90 | + padding: 8rpx 30rpx; | |
| 91 | + border-radius: 6rpx; | |
| 92 | +} | |
| 93 | +.pdt14 { | |
| 94 | + padding-top: 14rpx; | |
| 95 | +} | |
| 96 | + | |
| 97 | +.no-more { | |
| 98 | + line-height: 3; | |
| 99 | + color: #ccc; | |
| 100 | + background-color: #f2f2f2; | |
| 101 | +} | |
| 102 | +.nodata { | |
| 103 | + text-align: center; | |
| 104 | + background-color: #f2f2f2; | |
| 105 | +} | |
| 106 | + | |
| 107 | +.name { | |
| 108 | + height: 76rpx; | |
| 109 | +} | |
| 110 | + | |
| 111 | +.plus_show{ | |
| 112 | + background-color: #FE6867; | |
| 113 | + color: #fff; | |
| 114 | + padding: 3rpx 5rpx; | |
| 115 | + border-radius:8rpx ; | |
| 116 | + margin-left: 10rpx; | |
| 117 | + margin-right: 5rpx; | |
| 118 | +} | ... | ... |
packageA/pages/liveStreamDetails/liveStreamDetails.js
| ... | ... | @@ -397,6 +397,19 @@ drawText: function(ctx, str, leftWidth, initHeight, titleHeight, canvasWidth, un |
| 397 | 397 | onLoad: function (options) { |
| 398 | 398 | var that = this; |
| 399 | 399 | this.getSystemInfo(); |
| 400 | + | |
| 401 | + var first_leader=options.first_leader; | |
| 402 | + if(first_leader){ | |
| 403 | + //-- user_id代过来免登陆 -- | |
| 404 | + getApp().globalData.user_id=first_leader; | |
| 405 | + getApp().getUserFir(); | |
| 406 | + //调用接口判断是不是会员 | |
| 407 | + getApp().request.promiseGet("/api/weshop/shoppingGuide/get/"+o.stoid+"/"+first_leader,{}).then(res=>{ | |
| 408 | + if(res.data.code==0){ | |
| 409 | + getApp().globalData.guide_id=res.data.data.id; | |
| 410 | + } | |
| 411 | + }) | |
| 412 | + } | |
| 400 | 413 | |
| 401 | 414 | getApp().request.promiseGet("/api/weshop/wx/livelist/get",{ |
| 402 | 415 | data:{ id: options.id } | ... | ... |
packageA/pages/live_share/live_share.js
0 → 100644
| 1 | +// packageA//pages/goods_share/goods_share.js | |
| 2 | +var app=getApp(),oo = app.globalData.setting,os=oo,ut = require("../../../utils/util.js"); | |
| 3 | +Page({ | |
| 4 | + | |
| 5 | + /** | |
| 6 | + * 页面的初始数据 | |
| 7 | + */ | |
| 8 | + data: { | |
| 9 | + //促销页tab | |
| 10 | + tab2: ['正在直播','即将开始','精彩回放'], | |
| 11 | + currentIndex2: 0, | |
| 12 | + //popup | |
| 13 | + hiddenPopup: true, | |
| 14 | + | |
| 15 | + list:[], | |
| 16 | + is_load:0, //是否正在加载 | |
| 17 | + is_no_data:0, //没有数据 | |
| 18 | + is_no_more:0, //没有更多数据 | |
| 19 | + key_str:'', | |
| 20 | + currentPage:1, //当前的页码 | |
| 21 | + share_hidden:1, //-- 分享的按钮隐藏 -- | |
| 22 | + }, | |
| 23 | + | |
| 24 | + /** | |
| 25 | + * 生命周期函数--监听页面加载 | |
| 26 | + */ | |
| 27 | + onLoad: function (options) { | |
| 28 | + var th=this; | |
| 29 | + //接受有没有导购的参数 | |
| 30 | + var first_leader=options.first_leader; | |
| 31 | + if(first_leader){ | |
| 32 | + //-- user_id代过来免登陆 -- | |
| 33 | + getApp().globalData.user_id=first_leader; | |
| 34 | + getApp().getUserFir(); | |
| 35 | + } | |
| 36 | + this.requestGoodsList(); | |
| 37 | + | |
| 38 | + }, | |
| 39 | + /** | |
| 40 | + * 生命周期函数--监听页面显示 | |
| 41 | + */ | |
| 42 | + onShow: function () { | |
| 43 | + | |
| 44 | + }, | |
| 45 | + | |
| 46 | + /** | |
| 47 | + * 生命周期函数--监听页面隐藏 | |
| 48 | + */ | |
| 49 | + onHide: function () { | |
| 50 | + | |
| 51 | + }, | |
| 52 | + | |
| 53 | + /** | |
| 54 | + * 页面相关事件处理函数--监听用户下拉动作 | |
| 55 | + */ | |
| 56 | + // onPullDownRefresh: function () { | |
| 57 | + | |
| 58 | + // }, | |
| 59 | + | |
| 60 | + /** | |
| 61 | + * 页面上拉触底事件的处理函数 | |
| 62 | + */ | |
| 63 | + onReachBottom: function () { | |
| 64 | + | |
| 65 | + }, | |
| 66 | + | |
| 67 | + /** | |
| 68 | + * 用户点击右上角分享 | |
| 69 | + */ | |
| 70 | + onShareAppMessage: function () { | |
| 71 | + var th=this; | |
| 72 | + var id=th.data.hui_active.id; | |
| 73 | + var url='/packageA/pages/liveStreamDetails/liveStreamDetails?id=' + id + '&live=ing'; | |
| 74 | + if(getApp().globalData.user_id){ | |
| 75 | + url+="&first_leader="+getApp().globalData.user_id; | |
| 76 | + } | |
| 77 | + var title=th.data.hui_active.name; | |
| 78 | + var img=th.data.hui_active.share_img; | |
| 79 | + var ob={ | |
| 80 | + title:title, | |
| 81 | + path:url, | |
| 82 | + imageUrl: img, | |
| 83 | + }; | |
| 84 | + th.setData({share_hidden:1}); | |
| 85 | + return ob; | |
| 86 | + }, | |
| 87 | + | |
| 88 | + | |
| 89 | + // 点击tab | |
| 90 | + clickTab2(e) { | |
| 91 | + if(this.data.currentIndex2!=e.target.dataset.index){ | |
| 92 | + this.setData({ | |
| 93 | + currentIndex2: e.target.dataset.index,is_no_data:0,is_no_more:0,list:[], | |
| 94 | + }); | |
| 95 | + this.data.is_load=0; | |
| 96 | + this.data.currentPage=1; | |
| 97 | + this.requestGoodsList(); | |
| 98 | + } | |
| 99 | + }, | |
| 100 | + | |
| 101 | + // 关闭弹出层 | |
| 102 | + closePopup() { | |
| 103 | + this.setData({ | |
| 104 | + hiddenPopup: true | |
| 105 | + }); | |
| 106 | + }, | |
| 107 | + // 显示弹出层 | |
| 108 | + showPopup() { | |
| 109 | + this.setData({ | |
| 110 | + hiddenPopup: false | |
| 111 | + }); | |
| 112 | + }, | |
| 113 | + | |
| 114 | + requestGoodsList:function(){ | |
| 115 | + var th=this; | |
| 116 | + if(th.data.is_load) return false; //-- 正在加载 | |
| 117 | + if(th.data.is_no_data) return false; //-- 没有数据 | |
| 118 | + if(th.data.is_no_more) return false; //-- 没有更多 | |
| 119 | + th.data.is_load=1; | |
| 120 | + | |
| 121 | + var url="/api/weshop/wx/livelist/page"; | |
| 122 | + var req_data={ | |
| 123 | + page:this.data.currentPage, | |
| 124 | + store_id:oo.stoid, | |
| 125 | + } | |
| 126 | + switch(th.data.currentIndex2){ | |
| 127 | + case 0: | |
| 128 | + req_data.live_status=101; | |
| 129 | + break; | |
| 130 | + case 1: | |
| 131 | + req_data.live_status=102; | |
| 132 | + break; | |
| 133 | + case 2: | |
| 134 | + req_data.live_status=103; | |
| 135 | + break; | |
| 136 | + } | |
| 137 | + if(this.data.key_str && this.data.key_str.trim()){ | |
| 138 | + var str=this.data.key_str.trim(); | |
| 139 | + req_data.key_str=str; | |
| 140 | + } | |
| 141 | + //-- ---调用接口---- | |
| 142 | + app.request.promiseGet(url,{data:req_data,isShowLoading:1}).then(res=>{ | |
| 143 | + th.data.is_load=0; | |
| 144 | + if(res.data.code==0 && res.data.data.pageData && res.data.data.pageData.length>0){ | |
| 145 | + th.data.currentPage++; | |
| 146 | + var data=res.data.data.pageData; | |
| 147 | + if(res.data.data.page*10>res.data.data.total){th.setData({is_no_more:1});} | |
| 148 | + var list=th.data.list; | |
| 149 | + list=list.concat(data); | |
| 150 | + th.setData({list:list}); | |
| 151 | + }else{ | |
| 152 | + if(th.data.currentPage==1){ | |
| 153 | + th.setData({is_no_data:1}); | |
| 154 | + } | |
| 155 | + } | |
| 156 | + }) | |
| 157 | + }, | |
| 158 | + | |
| 159 | + //---点击分享优惠活动--- | |
| 160 | + share_index:function(e){ | |
| 161 | + | |
| 162 | + //--先判断会员状态-- | |
| 163 | + var user_info = getApp().globalData.userInfo; | |
| 164 | + if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { | |
| 165 | + //getApp().my_warnning("请先登录",0,this); | |
| 166 | + wx.navigateTo({ url: '/pages/togoin/togoin', }) | |
| 167 | + return false; | |
| 168 | + } | |
| 169 | + | |
| 170 | + var index=e.currentTarget.dataset.index; | |
| 171 | + var item=this.data.list[index]; | |
| 172 | + this.setData({share_hidden:0,hui_active:item}); | |
| 173 | + | |
| 174 | + var com = this.selectComponent("#share_button"); //组件的id | |
| 175 | + com.set_type(1); | |
| 176 | + }, | |
| 177 | + //-- ---更多加载---- | |
| 178 | + refresh:function(){ | |
| 179 | + this.requestGoodsList(); | |
| 180 | + }, | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | +}) | |
| 0 | 185 | \ No newline at end of file | ... | ... |
packageA/pages/live_share/live_share.json
0 → 100644
packageA/pages/live_share/live_share.wxml
0 → 100644
| 1 | +<wxs src="../../../utils/filter.wxs" module="filter"></wxs> | |
| 2 | +<view class="container"> | |
| 3 | + <!-- 列表 --> | |
| 4 | + <view class="list-container"> | |
| 5 | + <!-- 标题 --> | |
| 6 | + <view class="subTab-title flex"> | |
| 7 | + <block wx:for="{{tab2}}"> | |
| 8 | + <view class="subTab-titleItem {{currentIndex2 == index ? 'active':''}}" data-index="{{index}}" bindtap="clickTab2">{{item}}</view> | |
| 9 | + </block> | |
| 10 | + </view> | |
| 11 | + <!-- 列表项 --> | |
| 12 | + <scroll-view | |
| 13 | + class="list" | |
| 14 | + scroll-y="true" | |
| 15 | + bindscrolltolower="refresh" | |
| 16 | + scroll-anchoring | |
| 17 | + refresher-enabled> | |
| 18 | + <!-- 专享礼包 --> | |
| 19 | + <block wx:for="{{list}}"> | |
| 20 | + <view class class="list-item"> | |
| 21 | + <view class="img-container {{currentIndex2 == 0?'live':currentIndex2 == 1?'coming':'playback'}}"> | |
| 22 | + <image src="{{item.cover_img}}" style="width: 100%; height: 100%;" | |
| 23 | + binderror="bind_bnerr2" lazy-load="true" | |
| 24 | + data-errorimg="list[{{index}}].share_img"></image> | |
| 25 | + </view> | |
| 26 | + <view class="details"> | |
| 27 | + <view class="ellipsis-2 fs28 name">{{item.name}}</view> | |
| 28 | + <view class="pdt20 fs26 red">直播时间:{{filter.format_time(item.start_time, 2)}} </view> | |
| 29 | + <view class="fs26 red pdv10">主播:{{item['anchor_name']}}</view> | |
| 30 | + <view bindtap="share_index" data-index="{{index}}" class="t-r fs28 pdt10"><view class="btn-share">分享</view></view> | |
| 31 | + </view> | |
| 32 | + </view> | |
| 33 | + </block> | |
| 34 | + <!-- 暂无数据 --> | |
| 35 | + <nodata wx:if="{{list.length==0}}" nodataContainer="nodata">暂无数据</nodata> | |
| 36 | + <view wx:if="{{is_no_more}}" class="no-more t-c">- 已全部加载 -</view> | |
| 37 | + </scroll-view> | |
| 38 | + </view> | |
| 39 | +</view> | |
| 40 | +<!-- 分享控件,底部弹出 --> | |
| 41 | +<share_button id="share_button" bind:cancel="cancel" bind:share_img="saveImageToPhotosAlbum" wx:if="{{!share_hidden}}"></share_button> | |
| 42 | + | ... | ... |
packageA/pages/live_share/live_share.wxss
0 → 100644
| 1 | +/* packageA//pages/goods_share/goods_share.wxss */ | |
| 2 | +.red { | |
| 3 | + color: #FE6867; | |
| 4 | +} | |
| 5 | +.gray { | |
| 6 | + color: #7b7b7b; | |
| 7 | +} | |
| 8 | +.w25 { | |
| 9 | + width: 25%; | |
| 10 | +} | |
| 11 | +.w50 { | |
| 12 | + width: 50%; | |
| 13 | +} | |
| 14 | +.w164 { | |
| 15 | + width: 164rpx; | |
| 16 | +} | |
| 17 | +.bold { | |
| 18 | + font-weight: bold; | |
| 19 | +} | |
| 20 | +page { | |
| 21 | + background-color: #f2f2f2; | |
| 22 | + height: 100%; | |
| 23 | +} | |
| 24 | +.container { | |
| 25 | + background-color: white; | |
| 26 | + height: 100%; | |
| 27 | +} | |
| 28 | +.search-container { | |
| 29 | + display: flex; | |
| 30 | + padding: 26rpx 20rpx; | |
| 31 | + border-bottom: 2rpx solid #f8f8f8; | |
| 32 | +} | |
| 33 | +.input-container { | |
| 34 | + flex: 1; | |
| 35 | + border-radius: 6rpx 0 0 6rpx; | |
| 36 | + overflow: hidden; | |
| 37 | +} | |
| 38 | +.search { | |
| 39 | + background-color: #f0f0f0; | |
| 40 | + padding: 10rpx 20rpx; | |
| 41 | + font-size: 28rpx; | |
| 42 | +} | |
| 43 | +.btn-search { | |
| 44 | + background-color: #FE6867; | |
| 45 | + color: white; | |
| 46 | + padding: 0 30rpx; | |
| 47 | + display: flex; | |
| 48 | + align-items: center; | |
| 49 | + border-radius: 0 6rpx 6rpx 0; | |
| 50 | +} | |
| 51 | +.title { | |
| 52 | + display: flex; | |
| 53 | + font-size: 30rpx; | |
| 54 | + border-bottom: 2rpx solid #f8f8f8; | |
| 55 | +} | |
| 56 | +.title .iconfont { | |
| 57 | + color: #ccc; | |
| 58 | + font-size: 16rpx; | |
| 59 | + margin-left: 8rpx; | |
| 60 | +} | |
| 61 | +.title-item { | |
| 62 | + width: 25%; | |
| 63 | + box-sizing: border-box; | |
| 64 | + text-align: center; | |
| 65 | + padding: 20rpx; | |
| 66 | + position: relative; | |
| 67 | +} | |
| 68 | +.title-item.active { | |
| 69 | + color: #FE6867; | |
| 70 | + font-weight: bold; | |
| 71 | +} | |
| 72 | +.title-item.active:after { | |
| 73 | + content:''; | |
| 74 | + position: absolute; | |
| 75 | + width: 50%; | |
| 76 | + height: 4rpx; | |
| 77 | + background-color: #FE6867; | |
| 78 | + left: 0; | |
| 79 | + right: 0; | |
| 80 | + bottom: 0; | |
| 81 | + margin: 0 auto; | |
| 82 | +} | |
| 83 | +.list-container { | |
| 84 | + height: calc(100% - 118rpx); | |
| 85 | +} | |
| 86 | +.list { | |
| 87 | + box-sizing: border-box; | |
| 88 | + height: calc(100% - 82rpx); | |
| 89 | + background-color: #f2f2f2; | |
| 90 | + /* padding-bottom: 102rpx; */ | |
| 91 | +} | |
| 92 | +.list.active1 { | |
| 93 | + height: calc(100% - 82rpx - 78rpx); | |
| 94 | + padding-bottom: 0; | |
| 95 | +} | |
| 96 | +.list.active2 { | |
| 97 | + padding-bottom: 0; | |
| 98 | +} | |
| 99 | +.list-item { | |
| 100 | + display: flex; | |
| 101 | + padding: 20rpx; | |
| 102 | + border-bottom: 2rpx solid #f8f8f8; | |
| 103 | + background-color: white; | |
| 104 | +} | |
| 105 | +.img-container { | |
| 106 | + background-color: #f0f0f0; | |
| 107 | + width: 280rpx; | |
| 108 | + height: 248rpx; | |
| 109 | + display: flex; | |
| 110 | + align-items: center; | |
| 111 | + justify-content: center; | |
| 112 | + position: relative; | |
| 113 | +} | |
| 114 | +.img-container:after {} | |
| 115 | + | |
| 116 | + | |
| 117 | +.img-container.live:before { | |
| 118 | + content: '\e664'; | |
| 119 | +} | |
| 120 | +.img-container.coming:before { | |
| 121 | + content: '\e608'; | |
| 122 | +} | |
| 123 | +.img-container.playback:before { | |
| 124 | + content: '\e603'; | |
| 125 | +} | |
| 126 | +.img-container.live:before, | |
| 127 | +.img-container.coming:before, | |
| 128 | +.img-container.playback:before { | |
| 129 | + font-family: iconfont; | |
| 130 | + background-color: #FE6867; | |
| 131 | + color: white; | |
| 132 | + width: 50rpx; | |
| 133 | + height: 50rpx; | |
| 134 | + line-height: 50rpx; | |
| 135 | + text-align: center; | |
| 136 | + border-radius: 50%; | |
| 137 | + position: absolute; | |
| 138 | + left: 10rpx; | |
| 139 | + top: 10rpx; | |
| 140 | +} | |
| 141 | +.details { | |
| 142 | + flex: 1; | |
| 143 | + padding-left: 20rpx; | |
| 144 | +} | |
| 145 | +.btn-share { | |
| 146 | + box-sizing: border-box; | |
| 147 | + display: inline-block; | |
| 148 | + background-color: #FE6867; | |
| 149 | + color: white; | |
| 150 | + padding: 8rpx 30rpx; | |
| 151 | + border-radius: 6rpx; | |
| 152 | + text-align: center; | |
| 153 | +} | |
| 154 | +.pdt10 { | |
| 155 | + padding-top: 10rpx; | |
| 156 | +} | |
| 157 | +.pdt14 { | |
| 158 | + padding-top: 14rpx; | |
| 159 | +} | |
| 160 | +.pdtb6 { | |
| 161 | + padding-top: 6rpx; | |
| 162 | + padding-bottom: 6rpx; | |
| 163 | +} | |
| 164 | +.pdtb8 { | |
| 165 | + padding-top: 8rpx; | |
| 166 | + padding-bottom: 8rpx; | |
| 167 | +} | |
| 168 | +.pdl20 { | |
| 169 | + padding-left: 104rpx; | |
| 170 | +} | |
| 171 | + | |
| 172 | + | |
| 173 | +.no-more { | |
| 174 | + line-height: 3; | |
| 175 | + color: #ccc; | |
| 176 | + /* background-color: #f2f2f2; */ | |
| 177 | +} | |
| 178 | +.nodata { | |
| 179 | + text-align: center; | |
| 180 | + background-color: #f2f2f2; | |
| 181 | +} | |
| 182 | +.progress-container { | |
| 183 | + width: 55%; | |
| 184 | + padding-right: 10rpx; | |
| 185 | + position: relative; | |
| 186 | + text-align: center; | |
| 187 | +} | |
| 188 | +.retail { | |
| 189 | + color: #7b7b7b; | |
| 190 | + text-decoration: line-through; | |
| 191 | + font-size: 22rpx; | |
| 192 | + padding-left: 20rpx; | |
| 193 | +} | |
| 194 | +.name { | |
| 195 | + height: 76rpx; | |
| 196 | + overflow: hidden; | |
| 197 | +} | |
| 198 | + | |
| 199 | +.percent { | |
| 200 | + position: absolute; | |
| 201 | + top: 0; | |
| 202 | + bottom: 0; | |
| 203 | + left: 0; | |
| 204 | + right: 0; | |
| 205 | + margin: auto; | |
| 206 | + color: white; | |
| 207 | +} | |
| 208 | +.tabbar { | |
| 209 | + position: fixed; | |
| 210 | + width: 100%; | |
| 211 | + bottom: 0; | |
| 212 | + background-color: white; | |
| 213 | +} | |
| 214 | +.tabbar:after { | |
| 215 | + position: absolute; | |
| 216 | + content: ''; | |
| 217 | + width: 2rpx; | |
| 218 | + height: 50%; | |
| 219 | + top: 0; | |
| 220 | + bottom: 0; | |
| 221 | + left: 0; | |
| 222 | + right: 0; | |
| 223 | + margin: auto; | |
| 224 | + background-color: #f0f0f0; | |
| 225 | +} | |
| 226 | +.tabbar-item { | |
| 227 | + width: 50%; | |
| 228 | + text-align: center; | |
| 229 | + padding-top: 30rpx; | |
| 230 | + padding-bottom: 30rpx; | |
| 231 | +} | |
| 232 | +.tabbar-item .iconfont { | |
| 233 | + margin-right: 10rpx; | |
| 234 | +} | |
| 235 | +.tabbar-item.active { | |
| 236 | + color: #FE6867; | |
| 237 | +} | |
| 238 | + | |
| 239 | + | |
| 240 | +.group-type, | |
| 241 | +.group-num { | |
| 242 | + position: relative; | |
| 243 | + font-size: 22rpx; | |
| 244 | +} | |
| 245 | +.group-type:before, | |
| 246 | +.group-num:before { | |
| 247 | + font-family: iconfont; | |
| 248 | +} | |
| 249 | +.group-type:before { | |
| 250 | + content: '\e66a'; | |
| 251 | + color: white; | |
| 252 | + background-color: #FE6867; | |
| 253 | + position: absolute; | |
| 254 | + left: 0; | |
| 255 | + top: 0; | |
| 256 | + bottom: 0; | |
| 257 | + padding-left: 6rpx; | |
| 258 | + padding-right: 10rpx; | |
| 259 | + line-height: 30rpx; | |
| 260 | +} | |
| 261 | +.group-num:before { | |
| 262 | + padding-right: 6rpx; | |
| 263 | +} | |
| 264 | +.group-num:before { | |
| 265 | + content: '\e694'; | |
| 266 | + position: relative; | |
| 267 | +} | |
| 268 | +.group-num { | |
| 269 | + color: white; | |
| 270 | + background-color: #FE6867; | |
| 271 | + border-radius: 34rpx; | |
| 272 | + padding-left: 10rpx; | |
| 273 | + padding-right: 10rpx; | |
| 274 | + margin-right: 14rpx; | |
| 275 | +} | |
| 276 | +.group-type { | |
| 277 | + color: #FE6867; | |
| 278 | + border: 2rpx solid #FE6867; | |
| 279 | + padding-left: 42rpx; | |
| 280 | + padding-right: 4rpx; | |
| 281 | + border-radius: 6rpx; | |
| 282 | +} | |
| 283 | + | |
| 284 | +.badge { | |
| 285 | + color: white; | |
| 286 | + padding: 0 20rpx; | |
| 287 | + border-radius: 6rpx; | |
| 288 | + background-color: #FE6867; | |
| 289 | + margin-right: 10rpx; | |
| 290 | +} | |
| 291 | + | |
| 292 | +.subTab-title { | |
| 293 | + text-align: center; | |
| 294 | + justify-content: center; | |
| 295 | + align-items: center; | |
| 296 | + font-size: 28rpx; | |
| 297 | +} | |
| 298 | +.subTab-list { | |
| 299 | + padding: 20rpx; | |
| 300 | +} | |
| 301 | +.subTab-titleItem { | |
| 302 | + box-sizing: border-box; | |
| 303 | + width: calc(100% / 3); | |
| 304 | + padding: 20rpx 40rpx; | |
| 305 | + background-color: white; | |
| 306 | + border-right: 2rpx solid #f8f8f8; | |
| 307 | +} | |
| 308 | +.subTab-titleItem:last-child { | |
| 309 | + border-right: none; | |
| 310 | +} | |
| 311 | +.subTab-titleItem.active { | |
| 312 | + background-color: #FE6867; | |
| 313 | + color: white; | |
| 314 | +} | |
| 315 | +.subTab-item { | |
| 316 | + padding: 20rpx; | |
| 317 | + border-bottom: 2rpx solid #f8f8f8; | |
| 318 | + background-color: white; | |
| 319 | + border-radius: 8rpx; | |
| 320 | + box-shadow: 0 8px 12px #e7e9eb; | |
| 321 | +} | |
| 322 | +.subTab-item ~ .subTab-item { | |
| 323 | + margin-top: 20rpx; | |
| 324 | +} | |
| 325 | +.pdv10 { | |
| 326 | + padding-top: 10rpx; | |
| 327 | + padding-bottom: 10rpx; | |
| 328 | +} | |
| 329 | +.pdv20 { | |
| 330 | + padding-top: 20rpx; | |
| 331 | + padding-bottom: 20rpx; | |
| 332 | +} | |
| 333 | +.pdb10 { | |
| 334 | + padding-bottom: 10rpx; | |
| 335 | +} | |
| 336 | +.pdb20 { | |
| 337 | + padding-bottom: 20rpx; | |
| 338 | +} | |
| 339 | +.bdr-b { | |
| 340 | + border-bottom: 2rpx solid #f8f8f8; | |
| 341 | +} | |
| 342 | +.dash-b { | |
| 343 | + border-bottom: 2rpx dashed #ddd; | |
| 344 | +} | |
| 345 | +.btn-container { | |
| 346 | + display: flex; | |
| 347 | + align-items: flex-end; | |
| 348 | + font-size: 26rpx; | |
| 349 | +} | |
| 350 | + | |
| 351 | + | |
| 352 | +/* .popup-container { | |
| 353 | + content:''; | |
| 354 | + position: fixed; | |
| 355 | + top: 0; | |
| 356 | + bottom: 0; | |
| 357 | + left: 0; | |
| 358 | + right: 0; | |
| 359 | + z-index: 3; | |
| 360 | + background-color: rgba(0,0,0,.6); | |
| 361 | + display: flex; | |
| 362 | + align-items: center; | |
| 363 | + justify-content: center; | |
| 364 | +} | |
| 365 | +.popup { | |
| 366 | + width: 90%; | |
| 367 | +} | |
| 368 | +.popup-content { | |
| 369 | + box-sizing: border-box; | |
| 370 | + width: 100%; | |
| 371 | + background-color: white; | |
| 372 | + padding: 0 20rpx; | |
| 373 | + border-radius: 10rpx; | |
| 374 | + max-height: 1038rpx; | |
| 375 | +} | |
| 376 | +.icon-close { | |
| 377 | + font-size: 60rpx; | |
| 378 | + color: white; | |
| 379 | +} | |
| 380 | +.popup-btn { | |
| 381 | + padding-top: 30rpx; | |
| 382 | +} | |
| 383 | + | |
| 384 | +.popup-title { | |
| 385 | + /* font-size: 28rpx; */ | |
| 386 | + /* font-weight: bold; | |
| 387 | + padding: 20rpx 0; | |
| 388 | +} | |
| 389 | +.popup-title2 { */ | |
| 390 | + /* padding: 10rpx 0; */ | |
| 391 | + /* padding-bottom: 8rpx; | |
| 392 | +} | |
| 393 | +.popup-title3 { | |
| 394 | + padding-left: 34rpx; | |
| 395 | + font-size: 30rpx; | |
| 396 | +} | |
| 397 | +.popup-list { | |
| 398 | + max-height: 602rpx; | |
| 399 | + overflow-y: auto; | |
| 400 | +} | |
| 401 | + | |
| 402 | + | |
| 403 | +radio .wx-radio-input { | |
| 404 | + width: 28rpx; | |
| 405 | + height: 28rpx; | |
| 406 | +} | |
| 407 | + | |
| 408 | + | |
| 409 | +radio .wx-radio-input.wx-radio-input-checked { | |
| 410 | + background-color: #FE6867; | |
| 411 | + border-color: #FE6867; | |
| 412 | +} | |
| 413 | +radio .wx-radio-input.wx-radio-input-checked::before{ | |
| 414 | + color: white; | |
| 415 | +} | |
| 416 | + | |
| 417 | +.popup-content.active { | |
| 418 | + max-height: 982rpx; | |
| 419 | + overflow: auto; | |
| 420 | +} */ | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | ... | ... |
packageA/pages/quan/quan.js
0 → 100644
| 1 | +// packageA//pages/goods_share/goods_share.js | |
| 2 | +var app=getApp(),oo = app.globalData.setting,os=oo,ut = require("../../../utils/util.js"); | |
| 3 | +Page({ | |
| 4 | + | |
| 5 | + /** | |
| 6 | + * 页面的初始数据 | |
| 7 | + */ | |
| 8 | + data: { | |
| 9 | + //促销页tab | |
| 10 | + tab2: ['免费发放'], | |
| 11 | + currentIndex2:0, | |
| 12 | + list:[], | |
| 13 | + is_load:0, //是否正在加载 | |
| 14 | + is_no_data:0, //没有数据 | |
| 15 | + is_no_more:0, //没有更多数据 | |
| 16 | + key_str:'', | |
| 17 | + currentPage:1, //当前的页码 | |
| 18 | + share_hidden:1, //-- 分享的按钮隐藏 -- | |
| 19 | + hiddenPopup:1, | |
| 20 | + }, | |
| 21 | + | |
| 22 | + /** | |
| 23 | + * 生命周期函数--监听页面加载 | |
| 24 | + */ | |
| 25 | + onLoad: function (options) { | |
| 26 | + var th=this; | |
| 27 | + //接受有没有导购的参数 | |
| 28 | + var first_leader=options.first_leader; | |
| 29 | + if(first_leader){ | |
| 30 | + //-- user_id代过来免登陆 -- | |
| 31 | + getApp().globalData.user_id=first_leader; | |
| 32 | + getApp().getUserFir(); | |
| 33 | + } | |
| 34 | + this.requestGoodsList(); | |
| 35 | + this.setData({getcurday:ut.gettimestamp()}); | |
| 36 | + | |
| 37 | + }, | |
| 38 | + | |
| 39 | + /** | |
| 40 | + * 生命周期函数--监听页面显示 | |
| 41 | + */ | |
| 42 | + onShow: function () { }, | |
| 43 | + | |
| 44 | + /** | |
| 45 | + * 生命周期函数--监听页面隐藏 | |
| 46 | + */ | |
| 47 | + onHide: function () { | |
| 48 | + | |
| 49 | + }, | |
| 50 | + /** | |
| 51 | + * 页面相关事件处理函数--监听用户下拉动作 | |
| 52 | + */ | |
| 53 | + // onPullDownRefresh: function () { | |
| 54 | + | |
| 55 | + // }, | |
| 56 | + | |
| 57 | + /** | |
| 58 | + * 页面上拉触底事件的处理函数 | |
| 59 | + */ | |
| 60 | + onReachBottom: function () { | |
| 61 | + | |
| 62 | + }, | |
| 63 | + | |
| 64 | + /** | |
| 65 | + * 用户点击右上角分享 | |
| 66 | + */ | |
| 67 | + onShareAppMessage: function () { | |
| 68 | + var th=this; | |
| 69 | + var id=th.data.hui_active.id; | |
| 70 | + var url="/packageA/pages/quan_pro/quan_pro?id="+id; | |
| 71 | + | |
| 72 | + if(getApp().globalData.user_id){ | |
| 73 | + url+="&first_leader="+getApp().globalData.user_id; | |
| 74 | + } | |
| 75 | + var title=th.data.hui_active.name; | |
| 76 | + var ob={ | |
| 77 | + title:title, | |
| 78 | + path:url, | |
| 79 | + }; | |
| 80 | + th.setData({share_hidden:1}); | |
| 81 | + return ob; | |
| 82 | + }, | |
| 83 | + | |
| 84 | + requestGoodsList:function(){ | |
| 85 | + var th=this; | |
| 86 | + if(th.data.is_load) return false; //-- 正在加载 | |
| 87 | + if(th.data.is_no_data) return false; //-- 没有数据 | |
| 88 | + if(th.data.is_no_more) return false; //-- 没有更多 | |
| 89 | + th.data.is_load=1; | |
| 90 | + | |
| 91 | + var url="/api/weshop/prom/coupon/pageCouponList"; | |
| 92 | + var req_data={ | |
| 93 | + page:this.data.currentPage, | |
| 94 | + store_id:oo.stoid, | |
| 95 | + type:1 | |
| 96 | + } | |
| 97 | + | |
| 98 | + //-- ---调用接口---- | |
| 99 | + app.request.promiseGet(url,{data:req_data,isShowLoading:1}).then(res=>{ | |
| 100 | + th.data.is_load=0; | |
| 101 | + if(res.data.code==0 && res.data.data.pageData && res.data.data.pageData.length>0){ | |
| 102 | + th.data.currentPage++; | |
| 103 | + var data=res.data.data.pageData; | |
| 104 | + if(res.data.data.page*10>res.data.data.total){th.setData({is_no_more:1});} | |
| 105 | + var list=th.data.list; | |
| 106 | + list=list.concat(data); | |
| 107 | + th.setData({list:list}); | |
| 108 | + }else{ | |
| 109 | + if(th.data.currentPage==1){ | |
| 110 | + th.setData({is_no_data:1}); | |
| 111 | + } | |
| 112 | + } | |
| 113 | + }) | |
| 114 | + }, | |
| 115 | + | |
| 116 | + | |
| 117 | + //---点击分享优惠活动--- | |
| 118 | + share_index:function(e){ | |
| 119 | + | |
| 120 | + //--先判断会员状态-- | |
| 121 | + var user_info = getApp().globalData.userInfo; | |
| 122 | + if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { | |
| 123 | + //getApp().my_warnning("请先登录",0,this); | |
| 124 | + wx.navigateTo({ url: '/pages/togoin/togoin', }) | |
| 125 | + return false; | |
| 126 | + } | |
| 127 | + | |
| 128 | + var index=e.currentTarget.dataset.index; | |
| 129 | + var item=this.data.list[index]; | |
| 130 | + this.setData({share_hidden:0,hui_active:item}); | |
| 131 | + | |
| 132 | + var com = this.selectComponent("#share_button"); //组件的id | |
| 133 | + com.set_type(1); | |
| 134 | + }, | |
| 135 | + //-- ---更多加载---- | |
| 136 | + refresh:function(){ | |
| 137 | + this.requestGoodsList(); | |
| 138 | + }, | |
| 139 | + | |
| 140 | + //---点击分享优惠活动--- | |
| 141 | + share_index:function(e){ | |
| 142 | + | |
| 143 | + //--先判断会员状态-- | |
| 144 | + var user_info = getApp().globalData.userInfo; | |
| 145 | + if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { | |
| 146 | + //getApp().my_warnning("请先登录",0,this); | |
| 147 | + wx.navigateTo({ url: '/pages/togoin/togoin', }) | |
| 148 | + return false; | |
| 149 | + } | |
| 150 | + | |
| 151 | + var index=e.currentTarget.dataset.index; | |
| 152 | + var item=this.data.list[index]; | |
| 153 | + this.setData({share_hidden:0,hui_active:item}); | |
| 154 | + | |
| 155 | + var com = this.selectComponent("#share_button"); //组件的id | |
| 156 | + com.set_type(1); | |
| 157 | + }, | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | +}) | |
| 0 | 163 | \ No newline at end of file | ... | ... |
packageA/pages/quan/quan.json
0 → 100644
packageA/pages/quan/quan.wxml
0 → 100644
| 1 | +<wxs module="filters" src="../../../utils/filter.wxs"></wxs> | |
| 2 | +<view class="container"> | |
| 3 | + <!-- 列表 --> | |
| 4 | + <!-- <view class="list-container"> --> | |
| 5 | + <!-- 标题 --> | |
| 6 | + <view class="subTab-title flex"> | |
| 7 | + <block wx:for="{{tab2}}"> | |
| 8 | + <view class="subTab-titleItem {{currentIndex2 == index ? 'active':''}}" data-index="{{index}}" bindtap="clickTab2">{{item}}</view> | |
| 9 | + </block> | |
| 10 | + </view> | |
| 11 | + <!-- 列表项 --> | |
| 12 | + <scroll-view | |
| 13 | + class="list" | |
| 14 | + scroll-y="true" | |
| 15 | + bindscrolltolower="refresh" | |
| 16 | + scroll-anchoring | |
| 17 | + refresher-enabled> | |
| 18 | + | |
| 19 | + <block wx:for="{{list}}"> | |
| 20 | + <view class="coupons bg-red"> | |
| 21 | + <view class="flex"> | |
| 22 | + <view> | |
| 23 | + <view class="coupon-hd ellipsis-2 fs36">{{item.name}}</view> | |
| 24 | + <view class="deadline fs28 pdt10" wx:if="{{item.endtype==0}}">限时使用: | |
| 25 | + <text wx:if="{{item.starttype==1}}">{{filters.format_time(getcurday+3600*24*item.startdays)}}</text> | |
| 26 | + <text wx:if="{{item.starttype==0 && item.use_start_time>0}}"> {{filters.format_time(item.use_start_time)}}</text>至 | |
| 27 | + <text wx:if="{{item.use_end_time>0}}"> {{filters.format_time(item.use_end_time)}}</text><text wx:else>不限</text> | |
| 28 | + </view> | |
| 29 | + <view class="deadline fs28 pdt10" wx:else>限时使用: | |
| 30 | + <text wx:if="{{item.starttype==1}}">{{filters.format_time(getcurday+3600*24*item.startdays)}}至</text> <text wx:if="{{item.days>0}}">{{filters.format_time(getcurday+3600*24*item.days)}}</text><text wx:else>不限</text> | |
| 31 | + </view> | |
| 32 | + </view> | |
| 33 | + <view class="price">¥<text class="fs80">{{filters.toFix(item.money,2)}}</text></view> | |
| 34 | + </view> | |
| 35 | + <view class="flex ai-center jc_sb pdt20"> | |
| 36 | + <view wx:if="{{item.useobjecttype==0}}" class="coupon-ft ellipsis-2 fs28">全场任意产品通用</view> | |
| 37 | + <view wx:if="{{item.useobjecttype==1}}" class="coupon-ft ellipsis-2 fs28">名牌({{item.useobjectname}})</view> | |
| 38 | + <view wx:if="{{item.useobjecttype==2}}" class="coupon-ft ellipsis-2 fs28">品类({{item.useobjectname}})</view> | |
| 39 | + <view wx:if="{{item.useobjecttype==11}}" class="coupon-ft ellipsis-2 fs28">用途({{item.useobjectname}})</view> | |
| 40 | + <view wx:if="{{item.useobjecttype==12}}" class="coupon-ft ellipsis-2 fs28">分类一({{item.useobjectname}})</view> | |
| 41 | + <view wx:if="{{item.useobjecttype==20}}" class="coupon-ft ellipsis-2 fs28">单品({{item.useobjectname}})</view> | |
| 42 | + | |
| 43 | + <view bindtap="share_index" data-index="{{index}}" class="btn-share" >分享</view> | |
| 44 | + </view> | |
| 45 | + </view> | |
| 46 | + </block> | |
| 47 | + | |
| 48 | + <!-- 暂无数据 --> | |
| 49 | + <nodata wx:if="{{list.length==0}}" nodataContainer="nodata">暂无数据</nodata> | |
| 50 | + <view wx:if="{{is_no_more}}" class="no-more t-c">- 已全部加载 -</view> | |
| 51 | + </scroll-view> | |
| 52 | + <!-- </view> --> | |
| 53 | + <view class="popup-container" hidden="{{hiddenPopup}}"> | |
| 54 | + <view class="popup" bindtap="select"> | |
| 55 | + <view class="popup-item bdr-b" hover-class="active" data-index="0"> | |
| 56 | + <image src="../../images/wx2.png" class="popup-img"></image>微信 | |
| 57 | + </view> | |
| 58 | + <view class="popup-item" hover-class="active" data-index="1"> | |
| 59 | + <image src="../../images/qywx.png" class="popup-img h70"></image>企业微信 | |
| 60 | + </view> | |
| 61 | + </view> | |
| 62 | + </view> | |
| 63 | +</view> | |
| 64 | +<!-- 分享控件,底部弹出 --> | |
| 65 | +<share_button id="share_button" bind:cancel="cancel" bind:share_img="saveImageToPhotosAlbum" wx:if="{{!share_hidden}}"></share_button> | ... | ... |
packageA/pages/quan/quan.wxss
0 → 100644
| 1 | +/* packageA//pages/goods_share/goods_share.wxss */ | |
| 2 | +.red { | |
| 3 | + color: #FE6867; | |
| 4 | +} | |
| 5 | +.gray { | |
| 6 | + color: #7b7b7b; | |
| 7 | +} | |
| 8 | +.w25 { | |
| 9 | + width: 25%; | |
| 10 | +} | |
| 11 | +.w50 { | |
| 12 | + width: 50%; | |
| 13 | +} | |
| 14 | +.w164 { | |
| 15 | + width: 164rpx; | |
| 16 | +} | |
| 17 | +.bold { | |
| 18 | + font-weight: bold; | |
| 19 | +} | |
| 20 | +page { | |
| 21 | + background-color: #f2f2f2; | |
| 22 | + height: 100%; | |
| 23 | +} | |
| 24 | +.container { | |
| 25 | + /* background-color: white; */ | |
| 26 | + height: 100%; | |
| 27 | +} | |
| 28 | +.search-container { | |
| 29 | + display: flex; | |
| 30 | + padding: 26rpx 20rpx; | |
| 31 | + border-bottom: 2rpx solid #f8f8f8; | |
| 32 | +} | |
| 33 | +.input-container { | |
| 34 | + flex: 1; | |
| 35 | + border-radius: 6rpx 0 0 6rpx; | |
| 36 | + overflow: hidden; | |
| 37 | +} | |
| 38 | +.search { | |
| 39 | + background-color: #f0f0f0; | |
| 40 | + padding: 10rpx 20rpx; | |
| 41 | + font-size: 28rpx; | |
| 42 | +} | |
| 43 | +.btn-search { | |
| 44 | + background-color: #FE6867; | |
| 45 | + color: white; | |
| 46 | + padding: 0 30rpx; | |
| 47 | + display: flex; | |
| 48 | + align-items: center; | |
| 49 | + border-radius: 0 6rpx 6rpx 0; | |
| 50 | +} | |
| 51 | +.title { | |
| 52 | + display: flex; | |
| 53 | + font-size: 30rpx; | |
| 54 | + border-bottom: 2rpx solid #f8f8f8; | |
| 55 | +} | |
| 56 | +.title .iconfont { | |
| 57 | + color: #ccc; | |
| 58 | + font-size: 16rpx; | |
| 59 | + margin-left: 8rpx; | |
| 60 | +} | |
| 61 | +.title-item { | |
| 62 | + width: 25%; | |
| 63 | + box-sizing: border-box; | |
| 64 | + text-align: center; | |
| 65 | + padding: 20rpx; | |
| 66 | + position: relative; | |
| 67 | +} | |
| 68 | +.title-item.active { | |
| 69 | + color: #FE6867; | |
| 70 | + font-weight: bold; | |
| 71 | +} | |
| 72 | +.title-item.active:after { | |
| 73 | + content:''; | |
| 74 | + position: absolute; | |
| 75 | + width: 50%; | |
| 76 | + height: 4rpx; | |
| 77 | + background-color: #FE6867; | |
| 78 | + left: 0; | |
| 79 | + right: 0; | |
| 80 | + bottom: 0; | |
| 81 | + margin: 0 auto; | |
| 82 | +} | |
| 83 | +.list-container { | |
| 84 | + /* height: 100%; */ | |
| 85 | +} | |
| 86 | +.list { | |
| 87 | + box-sizing: border-box; | |
| 88 | + height: calc(100% - 78rpx); | |
| 89 | + background-color: #f2f2f2; | |
| 90 | + padding: 20rpx 20rpx 0 20rpx; | |
| 91 | + /* padding-bottom: 102rpx; */ | |
| 92 | +} | |
| 93 | +.list.active1 { | |
| 94 | + height: calc(100% - 82rpx - 78rpx); | |
| 95 | + padding-bottom: 0; | |
| 96 | +} | |
| 97 | +.list.active2 { | |
| 98 | + padding-bottom: 0; | |
| 99 | +} | |
| 100 | +.list-item { | |
| 101 | + display: flex; | |
| 102 | + padding: 20rpx; | |
| 103 | + border-bottom: 2rpx solid #f8f8f8; | |
| 104 | + background-color: white; | |
| 105 | +} | |
| 106 | +.img-container { | |
| 107 | + background-color: #f0f0f0; | |
| 108 | + width: 280rpx; | |
| 109 | + height: 248rpx; | |
| 110 | + display: flex; | |
| 111 | + align-items: center; | |
| 112 | + justify-content: center; | |
| 113 | + position: relative; | |
| 114 | +} | |
| 115 | +.img-container:after { | |
| 116 | + font-family: iconfont; | |
| 117 | + content: '\e8c1'; | |
| 118 | + color: #bbb; | |
| 119 | + font-size: 80rpx; | |
| 120 | +} | |
| 121 | + | |
| 122 | + | |
| 123 | +.img-container.live:before { | |
| 124 | + content: '\e664'; | |
| 125 | +} | |
| 126 | +.img-container.coming:before { | |
| 127 | + content: '\e608'; | |
| 128 | +} | |
| 129 | +.img-container.playback:before { | |
| 130 | + content: '\e603'; | |
| 131 | +} | |
| 132 | +.img-container.live:before, | |
| 133 | +.img-container.coming:before, | |
| 134 | +.img-container.playback:before { | |
| 135 | + font-family: iconfont; | |
| 136 | + background-color: #FE6867; | |
| 137 | + color: white; | |
| 138 | + width: 50rpx; | |
| 139 | + height: 50rpx; | |
| 140 | + line-height: 50rpx; | |
| 141 | + text-align: center; | |
| 142 | + border-radius: 50%; | |
| 143 | + position: absolute; | |
| 144 | + left: 10rpx; | |
| 145 | + top: 10rpx; | |
| 146 | +} | |
| 147 | +.details { | |
| 148 | + flex: 1; | |
| 149 | + padding-left: 20rpx; | |
| 150 | +} | |
| 151 | +.btn-share { | |
| 152 | + box-sizing: border-box; | |
| 153 | + display: inline-block; | |
| 154 | + background-color: #FE6867; | |
| 155 | + color: white; | |
| 156 | + padding: 8rpx 30rpx; | |
| 157 | + border-radius: 6rpx; | |
| 158 | + text-align: center; | |
| 159 | +} | |
| 160 | +.pdt10 { | |
| 161 | + padding-top: 10rpx; | |
| 162 | +} | |
| 163 | +.pdt14 { | |
| 164 | + padding-top: 14rpx; | |
| 165 | +} | |
| 166 | +.pdtb6 { | |
| 167 | + padding-top: 6rpx; | |
| 168 | + padding-bottom: 6rpx; | |
| 169 | +} | |
| 170 | +.pdtb8 { | |
| 171 | + padding-top: 8rpx; | |
| 172 | + padding-bottom: 8rpx; | |
| 173 | +} | |
| 174 | +.pdl20 { | |
| 175 | + padding-left: 104rpx; | |
| 176 | +} | |
| 177 | + | |
| 178 | + | |
| 179 | +.no-more { | |
| 180 | + line-height: 3; | |
| 181 | + color: #ccc; | |
| 182 | + /* background-color: #f2f2f2; */ | |
| 183 | +} | |
| 184 | +.nodata { | |
| 185 | + text-align: center; | |
| 186 | + background-color: #f2f2f2; | |
| 187 | +} | |
| 188 | +.progress-container { | |
| 189 | + width: 55%; | |
| 190 | + padding-right: 10rpx; | |
| 191 | + position: relative; | |
| 192 | + text-align: center; | |
| 193 | +} | |
| 194 | +.retail { | |
| 195 | + color: #7b7b7b; | |
| 196 | + text-decoration: line-through; | |
| 197 | + font-size: 22rpx; | |
| 198 | + padding-left: 20rpx; | |
| 199 | +} | |
| 200 | +.name { | |
| 201 | + height: 76rpx; | |
| 202 | + overflow: hidden; | |
| 203 | +} | |
| 204 | + | |
| 205 | +.percent { | |
| 206 | + position: absolute; | |
| 207 | + top: 0; | |
| 208 | + bottom: 0; | |
| 209 | + left: 0; | |
| 210 | + right: 0; | |
| 211 | + margin: auto; | |
| 212 | + color: white; | |
| 213 | +} | |
| 214 | +.tabbar { | |
| 215 | + position: fixed; | |
| 216 | + width: 100%; | |
| 217 | + bottom: 0; | |
| 218 | + background-color: white; | |
| 219 | +} | |
| 220 | +.tabbar:after { | |
| 221 | + position: absolute; | |
| 222 | + content: ''; | |
| 223 | + width: 2rpx; | |
| 224 | + height: 50%; | |
| 225 | + top: 0; | |
| 226 | + bottom: 0; | |
| 227 | + left: 0; | |
| 228 | + right: 0; | |
| 229 | + margin: auto; | |
| 230 | + background-color: #f0f0f0; | |
| 231 | +} | |
| 232 | +.tabbar-item { | |
| 233 | + width: 50%; | |
| 234 | + text-align: center; | |
| 235 | + padding-top: 30rpx; | |
| 236 | + padding-bottom: 30rpx; | |
| 237 | +} | |
| 238 | +.tabbar-item .iconfont { | |
| 239 | + margin-right: 10rpx; | |
| 240 | +} | |
| 241 | +.tabbar-item.active { | |
| 242 | + color: #FE6867; | |
| 243 | +} | |
| 244 | + | |
| 245 | + | |
| 246 | +.group-type, | |
| 247 | +.group-num { | |
| 248 | + position: relative; | |
| 249 | + font-size: 22rpx; | |
| 250 | +} | |
| 251 | +.group-type:before, | |
| 252 | +.group-num:before { | |
| 253 | + font-family: iconfont; | |
| 254 | +} | |
| 255 | +.group-type:before { | |
| 256 | + content: '\e66a'; | |
| 257 | + color: white; | |
| 258 | + background-color: #FE6867; | |
| 259 | + position: absolute; | |
| 260 | + left: 0; | |
| 261 | + top: 0; | |
| 262 | + bottom: 0; | |
| 263 | + padding-left: 6rpx; | |
| 264 | + padding-right: 10rpx; | |
| 265 | + line-height: 30rpx; | |
| 266 | +} | |
| 267 | +.group-num:before { | |
| 268 | + padding-right: 6rpx; | |
| 269 | +} | |
| 270 | +.group-num:before { | |
| 271 | + content: '\e694'; | |
| 272 | + position: relative; | |
| 273 | +} | |
| 274 | +.group-num { | |
| 275 | + color: white; | |
| 276 | + background-color: #FE6867; | |
| 277 | + border-radius: 34rpx; | |
| 278 | + padding-left: 10rpx; | |
| 279 | + padding-right: 10rpx; | |
| 280 | + margin-right: 14rpx; | |
| 281 | +} | |
| 282 | +.group-type { | |
| 283 | + color: #FE6867; | |
| 284 | + border: 2rpx solid #FE6867; | |
| 285 | + padding-left: 42rpx; | |
| 286 | + padding-right: 4rpx; | |
| 287 | + border-radius: 6rpx; | |
| 288 | +} | |
| 289 | + | |
| 290 | +.badge { | |
| 291 | + color: white; | |
| 292 | + padding: 0 20rpx; | |
| 293 | + border-radius: 6rpx; | |
| 294 | + background-color: #FE6867; | |
| 295 | + margin-right: 10rpx; | |
| 296 | +} | |
| 297 | + | |
| 298 | +.subTab-title { | |
| 299 | + text-align: center; | |
| 300 | + justify-content: center; | |
| 301 | + align-items: center; | |
| 302 | + font-size: 28rpx; | |
| 303 | +} | |
| 304 | +.subTab-list { | |
| 305 | + padding: 20rpx; | |
| 306 | +} | |
| 307 | +.subTab-titleItem { | |
| 308 | + box-sizing: border-box; | |
| 309 | + width: calc(100% / 3); | |
| 310 | + padding: 20rpx 40rpx; | |
| 311 | + background-color: white; | |
| 312 | + border-right: 2rpx solid #f8f8f8; | |
| 313 | + flex: 1; | |
| 314 | +} | |
| 315 | +.subTab-titleItem:last-child { | |
| 316 | + border-right: none; | |
| 317 | +} | |
| 318 | +.subTab-titleItem.active { | |
| 319 | + background-color: #FE6867; | |
| 320 | + color: white; | |
| 321 | +} | |
| 322 | +.subTab-item { | |
| 323 | + padding: 20rpx; | |
| 324 | + border-bottom: 2rpx solid #f8f8f8; | |
| 325 | + background-color: white; | |
| 326 | + border-radius: 8rpx; | |
| 327 | + box-shadow: 0 8px 12px #e7e9eb; | |
| 328 | +} | |
| 329 | +.subTab-item ~ .subTab-item { | |
| 330 | + margin-top: 20rpx; | |
| 331 | +} | |
| 332 | +.pdv10 { | |
| 333 | + padding-top: 10rpx; | |
| 334 | + padding-bottom: 10rpx; | |
| 335 | +} | |
| 336 | +.pdv20 { | |
| 337 | + padding-top: 20rpx; | |
| 338 | + padding-bottom: 20rpx; | |
| 339 | +} | |
| 340 | +.pdb10 { | |
| 341 | + padding-bottom: 10rpx; | |
| 342 | +} | |
| 343 | +.pdb20 { | |
| 344 | + padding-bottom: 20rpx; | |
| 345 | +} | |
| 346 | +.bdr-b { | |
| 347 | + border-bottom: 2rpx solid #f8f8f8; | |
| 348 | +} | |
| 349 | +.dash-b { | |
| 350 | + border-bottom: 2rpx dashed #ddd; | |
| 351 | +} | |
| 352 | +.btn-container { | |
| 353 | + display: flex; | |
| 354 | + align-items: flex-end; | |
| 355 | + font-size: 26rpx; | |
| 356 | +} | |
| 357 | + | |
| 358 | + | |
| 359 | +/* .popup-container { | |
| 360 | + content:''; | |
| 361 | + position: fixed; | |
| 362 | + top: 0; | |
| 363 | + bottom: 0; | |
| 364 | + left: 0; | |
| 365 | + right: 0; | |
| 366 | + z-index: 3; | |
| 367 | + background-color: rgba(0,0,0,.6); | |
| 368 | + display: flex; | |
| 369 | + align-items: center; | |
| 370 | + justify-content: center; | |
| 371 | +} | |
| 372 | +.popup { | |
| 373 | + width: 90%; | |
| 374 | +} | |
| 375 | +.popup-content { | |
| 376 | + box-sizing: border-box; | |
| 377 | + width: 100%; | |
| 378 | + background-color: white; | |
| 379 | + padding: 0 20rpx; | |
| 380 | + border-radius: 10rpx; | |
| 381 | + max-height: 1038rpx; | |
| 382 | +} | |
| 383 | +.icon-close { | |
| 384 | + font-size: 60rpx; | |
| 385 | + color: white; | |
| 386 | +} | |
| 387 | +.popup-btn { | |
| 388 | + padding-top: 30rpx; | |
| 389 | +} | |
| 390 | + | |
| 391 | +.popup-title { | |
| 392 | + /* font-size: 28rpx; */ | |
| 393 | + /* font-weight: bold; | |
| 394 | + padding: 20rpx 0; | |
| 395 | +} | |
| 396 | +.popup-title2 { */ | |
| 397 | + /* padding: 10rpx 0; */ | |
| 398 | + /* padding-bottom: 8rpx; | |
| 399 | +} | |
| 400 | +.popup-title3 { | |
| 401 | + padding-left: 34rpx; | |
| 402 | + font-size: 30rpx; | |
| 403 | +} | |
| 404 | +.popup-list { | |
| 405 | + max-height: 602rpx; | |
| 406 | + overflow-y: auto; | |
| 407 | +} | |
| 408 | + | |
| 409 | + | |
| 410 | +radio .wx-radio-input { | |
| 411 | + width: 28rpx; | |
| 412 | + height: 28rpx; | |
| 413 | +} | |
| 414 | + | |
| 415 | + | |
| 416 | +radio .wx-radio-input.wx-radio-input-checked { | |
| 417 | + background-color: #FE6867; | |
| 418 | + border-color: #FE6867; | |
| 419 | +} | |
| 420 | +radio .wx-radio-input.wx-radio-input-checked::before{ | |
| 421 | + color: white; | |
| 422 | +} | |
| 423 | + | |
| 424 | +.popup-content.active { | |
| 425 | + max-height: 982rpx; | |
| 426 | + overflow: auto; | |
| 427 | +} */ | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | +.coupons { | |
| 432 | + color: white; | |
| 433 | + position: relative; | |
| 434 | + padding: 28rpx 24rpx 28rpx 46rpx; | |
| 435 | +} | |
| 436 | +.coupons.bg-red { | |
| 437 | + background: #F2F2F2 radial-gradient(circle at 0px 50%, transparent 10px, #FF6768 0) top; | |
| 438 | +} | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | +.coupons ~ .coupons { | |
| 444 | + margin-top: 20rpx; | |
| 445 | +} | |
| 446 | + | |
| 447 | +.coupon-hd { | |
| 448 | + word-break: break-all; | |
| 449 | + line-height: 1.4; | |
| 450 | +} | |
| 451 | +.coupon-md { | |
| 452 | + font-size: 26rpx; | |
| 453 | + position: relative; | |
| 454 | + padding-right: 200rpx; | |
| 455 | +} | |
| 456 | +.coupon-ft { | |
| 457 | + line-height: 1.4; | |
| 458 | +} | |
| 459 | +.price { | |
| 460 | + position: absolute; | |
| 461 | + right: 24rpx; | |
| 462 | +} | |
| 463 | + | |
| 464 | +.coupons .btn-share { | |
| 465 | + flex-shrink: 0; | |
| 466 | + border-radius: 30rpx; | |
| 467 | + padding: 8rpx 40rpx; | |
| 468 | + background-color: red; | |
| 469 | +} | |
| 470 | + | |
| 471 | + | |
| 472 | +.popup-container { | |
| 473 | + position: fixed; | |
| 474 | + left: 0; | |
| 475 | + top: 0; | |
| 476 | + width: 100%; | |
| 477 | + height: 100%; | |
| 478 | + background-color: rgba(0,0,0,.5); | |
| 479 | +} | |
| 480 | +.popup { | |
| 481 | + background-color: white; | |
| 482 | + border-radius: 16rpx; | |
| 483 | + position: absolute; | |
| 484 | + top: 50%; | |
| 485 | + left: 50%; | |
| 486 | + transform: translate(-50%, -50%); | |
| 487 | + width: 500rpx; | |
| 488 | + overflow: hidden; | |
| 489 | +} | |
| 490 | +.popup-img { | |
| 491 | + display: block; | |
| 492 | + width: 80rpx; | |
| 493 | + height: 80rpx; | |
| 494 | + margin-right: 20rpx; | |
| 495 | + flex-shrink: 0; | |
| 496 | +} | |
| 497 | +.popup-item { | |
| 498 | + display: flex; | |
| 499 | + align-items: center; | |
| 500 | + padding: 20rpx 90rpx; | |
| 501 | +} | |
| 502 | +.h70 { | |
| 503 | + height: 70rpx; | |
| 504 | +} | |
| 505 | + | |
| 506 | +.active { | |
| 507 | + background-color: #f2f2f2; | |
| 508 | +} | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | ... | ... |
pages/giftpack/giftpacklist/giftpacklist.js
| ... | ... | @@ -37,18 +37,31 @@ Page({ |
| 37 | 37 | getGiftID: options.lbId, |
| 38 | 38 | orderSn: options.orderSn |
| 39 | 39 | }) |
| 40 | + | |
| 41 | + //-- 获取分享人的ID -- | |
| 42 | + var first_leader=options.first_leader; | |
| 43 | + if(first_leader){ | |
| 44 | + //-- user_id代过来免登陆 -- | |
| 45 | + getApp().globalData.user_id=first_leader; | |
| 46 | + getApp().getUserFir(); | |
| 47 | + //调用接口判断是不是会员 | |
| 48 | + getApp().request.promiseGet("/api/weshop/shoppingGuide/get/"+oo.stoid+"/"+first_leader,{}).then(res=>{ | |
| 49 | + if(res.data.code==0){ | |
| 50 | + getApp().globalData.guide_id=res.data.data.id; | |
| 51 | + } | |
| 52 | + }) | |
| 53 | + } | |
| 40 | 54 | |
| 41 | 55 | th.close(); |
| 42 | 56 | }, |
| 43 | - onShow: function() { | |
| 44 | - | |
| 57 | + | |
| 58 | + onShow: function() { | |
| 45 | 59 | //--先判断会员状态-- |
| 46 | 60 | var user_info = getApp().globalData.userInfo; |
| 47 | 61 | if (user_info == null || user_info.mobile == undefined || user_info.mobile == "" || user_info.mobile == null) { |
| 48 | 62 | getApp().goto('/pages/togoin/togoin'); |
| 49 | 63 | return false; |
| 50 | 64 | } |
| 51 | - | |
| 52 | 65 | if (this.data.isBuy == 0) { |
| 53 | 66 | this.GetMyGiftList(); |
| 54 | 67 | } else { | ... | ... |
pages/index/index/index.js
| ... | ... | @@ -72,14 +72,26 @@ Page({ |
| 72 | 72 | max_sw_height: 0, //banner的最大高度 |
| 73 | 73 | is_disgraceful: 0, //是否显示新人广告 |
| 74 | 74 | new_image: "", //新人有礼弹窗图片 |
| 75 | - new_nav: "", //新人页面跳转地址 | |
| 76 | - | |
| 77 | - w_holiday_pop:0, | |
| 78 | - | |
| 79 | - }, | |
| 80 | - | |
| 81 | - onLoad: async function() { | |
| 82 | - var th = this; | |
| 75 | + new_nav: "", //新人页面跳转地址 | |
| 76 | + w_holiday_pop:0, | |
| 77 | + | |
| 78 | + }, | |
| 79 | + | |
| 80 | + onLoad: async function(tt) { | |
| 81 | + var th = this; | |
| 82 | + var first_leader=tt.first_leader; | |
| 83 | + if(first_leader){ | |
| 84 | + //-- user_id代过来免登陆 -- | |
| 85 | + getApp().globalData.user_id=first_leader; | |
| 86 | + getApp().getUserFir(); | |
| 87 | + //调用接口判断是不是会员 | |
| 88 | + getApp().request.promiseGet("/api/weshop/shoppingGuide/get/"+oo.stoid+"/"+first_leader,{}).then(res=>{ | |
| 89 | + if(res.data.code==0){ | |
| 90 | + getApp().globalData.guide_id=res.data.data.id; | |
| 91 | + } | |
| 92 | + }) | |
| 93 | + } | |
| 94 | + | |
| 83 | 95 | //看一下商家是否开通了权益 |
| 84 | 96 | //--初始化是否有打勾-- |
| 85 | 97 | getApp().request.promiseGet("/api/weshop/users/grade/vip/init/get", { |
| ... | ... | @@ -859,7 +871,14 @@ Page({ |
| 859 | 871 | if(!url || url=='') return; |
| 860 | 872 | if(url[0]!='/') url='/'+url; |
| 861 | 873 | getApp().goto(url); |
| 862 | - } | |
| 874 | + }, | |
| 875 | + | |
| 876 | + //----跳转到搭配购买---- | |
| 877 | + go_test:function () { | |
| 878 | + wx.navigateTo({ url: "/packageA/pages/goods_share/goods_share", }) | |
| 879 | + }, | |
| 880 | + | |
| 881 | + | |
| 863 | 882 | |
| 864 | 883 | |
| 865 | 884 | ... | ... |
pages/index/index/index.wxml
| ... | ... | @@ -3,6 +3,8 @@ |
| 3 | 3 | <!--普通界面--> |
| 4 | 4 | <wxs module="filter" src="../../../utils/filter.wxs"></wxs> |
| 5 | 5 | <view class="container rel" wx:if="{{ishow}}"> |
| 6 | + | |
| 7 | + | |
| 6 | 8 | <block wx:if="{{banner}}"> |
| 7 | 9 | <image class="xc-top-img abs" src="{{url}}/miniapp/images/top-img.png"></image> |
| 8 | 10 | </block> |
| ... | ... | @@ -84,7 +86,7 @@ |
| 84 | 86 | <view class="flex-vertical"> |
| 85 | 87 | <image class="xc-hook" src="{{url}}/miniapp/images/index/youxuan.png"> |
| 86 | 88 | </image> |
| 87 | - <text class="yellow-co fs26 margin-left">人工优先</text> | |
| 89 | + <text bindtap='go_test' class="yellow-co fs26 margin-left" data-url="../../../packageA/pages/prom_list/prom_list">人工优先</text> | |
| 88 | 90 | </view> |
| 89 | 91 | |
| 90 | 92 | ... | ... |
pages/user/assistance/assistance.wxml
| ... | ... | @@ -17,7 +17,7 @@ |
| 17 | 17 | <view class="excitation" style="color:{{font_color ? ('#'+font_color):'white'}};">机会总是留给最有行动力的人</view> |
| 18 | 18 | </view> |
| 19 | 19 | <view class="flex-center"> |
| 20 | - <image class="gift" src="{{zl_act.imageUrl==''?iurl+'miniapp/images/friendhelp/gift.png':iurl+zl_act.imageUrl}}" lazy-load="true"></image> | |
| 20 | + <image class="gift" src="{{(zl_act.imageUrl=='' || zl_act.imageUrl==undefined)?(iurl+'miniapp/images/friendhelp/gift.png'):(iurl+zl_act.imageUrl)}}" lazy-load="true"></image> | |
| 21 | 21 | </view> |
| 22 | 22 | <view wx:if="{{zl_act.beginDate && zl_act.endDate}}" class="flex-center fs26 time"> |
| 23 | 23 | <view style="color:{{font_color ? ('#'+font_color):'white'}};">活动时间:{{filter_s.format_time(zl_act.beginDate,0)}} 至 {{filter_s.format_time(zl_act.endDate,0)}}</view> | ... | ... |
pages/user/assistance/task_assistance.js
| ... | ... | @@ -21,6 +21,8 @@ Page({ |
| 21 | 21 | endDate: "", //活动结束时间 |
| 22 | 22 | activity_data: "25:20:59", //活动剩余时间 |
| 23 | 23 | task_number: 0, //任务数 |
| 24 | + giftQty:0, //库存设置数 | |
| 25 | + | |
| 24 | 26 | is_task: 0, //历史记录与任务 |
| 25 | 27 | aitem: "", //活动的轮播图数据 |
| 26 | 28 | switch_head: 0, //0:我的任务,1:记录 |
| ... | ... | @@ -221,6 +223,7 @@ Page({ |
| 221 | 223 | th.setData({ |
| 222 | 224 | aitem: data_aissa, |
| 223 | 225 | task_number: task_number, |
| 226 | + giftQty:giftQty, | |
| 224 | 227 | }); |
| 225 | 228 | th.go_to_task(th.data.taskid); |
| 226 | 229 | |
| ... | ... | @@ -228,7 +231,7 @@ Page({ |
| 228 | 231 | th.setData({ |
| 229 | 232 | aitem: data_aissa, |
| 230 | 233 | task_number: task_number, |
| 231 | - taskid: taskid | |
| 234 | + taskid: taskid, | |
| 232 | 235 | }); |
| 233 | 236 | //判断是不是领取的任务 |
| 234 | 237 | th.get_user_task(); | ... | ... |
pages/user/assistance/task_assistance.wxml
| ... | ... | @@ -46,7 +46,8 @@ |
| 46 | 46 | |
| 47 | 47 | </view> |
| 48 | 48 | <view class="task-number fs28 t-c" style="color:{{font_color ? ('#'+font_color):'white'}};"> |
| 49 | - 今天剩余可领{{task_number}}个任务 | |
| 49 | + <text wx:if="{{giftQty}}">今天剩余可领{{task_number}}个任务</text> | |
| 50 | + <text wx:else>不限任务数量</text> | |
| 50 | 51 | </view> |
| 51 | 52 | |
| 52 | 53 | <view wx:if="{{is_user_task==null}}" class="task_clike fs40 t-c flex-center" data-taskid="{{taskid}}" bindtap="add_onlicke" | ... | ... |
pages/user/index/filter.wxs
0 → 100644
| 1 | +var is_close = function (name,c_list) { | |
| 2 | + if(!c_list) return 0; | |
| 3 | + var map={}; | |
| 4 | + map['我的分销']="1"; | |
| 5 | + map['我的拼单']="2"; | |
| 6 | + map['秒杀活动']="3"; | |
| 7 | + map['PLUS会员']="4"; | |
| 8 | + map['专享礼包']="5"; | |
| 9 | + map['我的权益']="6"; | |
| 10 | + map['联系客服']="7"; | |
| 11 | + map['收藏夹']="8"; | |
| 12 | + map['我的地址']="9"; | |
| 13 | + map['收入卡包']="10"; | |
| 14 | + map['我的服务']="11"; | |
| 15 | + map['我的评价']="12"; | |
| 16 | + map['我的礼包']="13"; | |
| 17 | + var index=map[name]; | |
| 18 | + //不包含,不关闭 | |
| 19 | + if(c_list.indexOf(index)==-1) return 0; | |
| 20 | + //包含,就是关闭的 | |
| 21 | + return 1 | |
| 22 | + | |
| 23 | +} | |
| 24 | + | |
| 25 | +module.exports = { | |
| 26 | + is_close: is_close | |
| 27 | +} | ... | ... |
pages/user/index/index.js
| ... | ... | @@ -57,24 +57,30 @@ Page({ |
| 57 | 57 | /** |
| 58 | 58 | * 生命周期函数--监听页面加载 |
| 59 | 59 | */ |
| 60 | - onLoad: function(options) { | |
| 60 | + onLoad: function(options) { | |
| 61 | 61 | var th=this; |
| 62 | + //-- 读取会员中心按钮列表 -- | |
| 63 | + getApp().request.promiseGet("/api/weshop/userTool/page?pageSize=100", { | |
| 64 | + }).then(res => { | |
| 65 | + if(res.data.code==0 ){ | |
| 66 | + var d_list=res.data.data.pageData; | |
| 67 | + th.setData({user_tool:d_list}); | |
| 68 | + } | |
| 69 | + }) | |
| 62 | 70 | this.birthday(); |
| 63 | - getApp().request.promiseGet("/api/weshop/ad/list?pid=401&store_id=" + os.stoid, { | |
| 71 | + getApp().request.promiseGet("/api/weshop/ad/page?pid=401&store_id=" + os.stoid, { | |
| 64 | 72 | data: { |
| 65 | 73 | enabled: 1 |
| 66 | 74 | } |
| 67 | 75 | }).then(res => { |
| 68 | 76 | if(res.data.code==0 && res.data.data){ |
| 69 | - var item=res.data.data[0]; | |
| 70 | - if (item && item.ad_code) | |
| 77 | + var item=res.data.data.pageData[0]; | |
| 78 | + if (item && item.ad_code) | |
| 71 | 79 | th.setData({ad_img:item.ad_code}) |
| 72 | 80 | } |
| 73 | - }) | |
| 74 | - | |
| 81 | + }) | |
| 75 | 82 | app.getUserFir(); |
| 76 | - | |
| 77 | - | |
| 83 | + | |
| 78 | 84 | }, |
| 79 | 85 | |
| 80 | 86 | /** |
| ... | ... | @@ -122,9 +128,7 @@ Page({ |
| 122 | 128 | } |
| 123 | 129 | } |
| 124 | 130 | }); |
| 125 | - | |
| 126 | - | |
| 127 | - | |
| 131 | + | |
| 128 | 132 | /*-----统计-----*/ |
| 129 | 133 | rq.get("/api/weshop/order/waitlist", { |
| 130 | 134 | data: { |
| ... | ... | @@ -298,8 +302,10 @@ Page({ |
| 298 | 302 | getApp().getConfig2(function(e) { |
| 299 | 303 | var t_swi = e.switch_list; |
| 300 | 304 | if (t_swi) t_swi = JSON.parse(t_swi) |
| 301 | - if(t_swi){ | |
| 302 | - th.setData({sys_switch:t_swi}) | |
| 305 | + if(t_swi){ | |
| 306 | + var user_tool=[]; | |
| 307 | + if(t_swi.usertool) user_tool=JSON.parse(t_swi.usertool); | |
| 308 | + th.setData({sys_switch:t_swi,c_list:user_tool}); | |
| 303 | 309 | } |
| 304 | 310 | |
| 305 | 311 | ... | ... |
pages/user/index/index.wxml
| 1 | 1 | <!-- <import src="../../tabbar/tabbar.wxml" /> |
| 2 | 2 | <template is="tabBar" data="{{tabBar}}" /> --> |
| 3 | - | |
| 3 | +<wxs src="filter.wxs" module="util"></wxs> | |
| 4 | 4 | <view class="xc-page" style="margin-bottom:{{isIpx ? '168rpx' : '100rpx'}}"> |
| 5 | 5 | <view class="xc-user"> |
| 6 | 6 | <view class="xc-head rel"> |
| ... | ... | @@ -199,73 +199,59 @@ |
| 199 | 199 | <view class="xc-project-frame"> |
| 200 | 200 | <!-- 跳转页面 --> |
| 201 | 201 | <view class="center_v" style="display: flex;flex-wrap: wrap;align-items: center;"> |
| 202 | - <view class="item t-c" data-url="/pages/team/team_ping/team_ping" bindtap="goto"> | |
| 203 | - <image class="xc-center-img " src="{{iurl}}/miniapp/images/pindan.png"></image> | |
| 204 | - <view class="fs26">我的拼单</view> | |
| 205 | - </view> | |
| 206 | - <view class="item t-c" data-url="/pages/activity/seckill_list/seckill_list" bindtap="goto"> | |
| 207 | - <image class="xc-center-img " src="{{iurl}}/miniapp/images/miaosha.png"></image> | |
| 208 | - <view class="fs26">秒杀活动</view> | |
| 209 | - </view> | |
| 210 | - <view class="item t-c" bindtap="go_qy" wx:if="{{qy_list!=null && is_init && gradeId}}"> | |
| 211 | - <image class="xc-center-img " src="{{iurl}}/miniapp/images/quanyi2.png"></image> | |
| 212 | - <view class="fs26">我的权益</view> | |
| 213 | - </view> | |
| 214 | - | |
| 215 | - <button class="item t-c" wx:if="{{sys_switch.weapp_customertype}}" open-type="contact" session-from="wechat|{{userInfo.user_id}}|{{userInfo.nickname}}|{{userInfo.head_pic}}"> | |
| 216 | - <image class="xc-center-img " src="{{iurl}}/miniapp/images/kefu.png"></image> | |
| 217 | - <view class="fs26">联系客服</view> | |
| 218 | - </button> | |
| 219 | - | |
| 220 | - <view class="item t-c" bindtap="contactService" wx:else> | |
| 221 | - <image class="xc-center-img " src="{{iurl}}/miniapp/images/kefu.png"></image> | |
| 222 | - <view class="fs26">联系客服</view> | |
| 223 | - </view> | |
| 224 | - | |
| 225 | - | |
| 226 | - | |
| 227 | - | |
| 228 | - <view class="item t-c" data-url="/pages/user/cardinfo/cardinfo" bindtap="goto" wx:if="{{is_dengji==1}}"> | |
| 229 | - <image class="xc-center-img " src="{{iurl}}/miniapp/images/plus/privilege_o.png"></image> | |
| 230 | - <view class="fs26">plus会员</view> | |
| 231 | - </view> | |
| 232 | - | |
| 233 | - <view class="item t-c" data-url="/pages/user/collect_list/collect_list" bindtap="goto"> | |
| 234 | - <image class="xc-center-img " src="{{iurl}}/miniapp/images/collections.png"></image> | |
| 235 | - <view class="fs26">收藏夹</view> | |
| 236 | - </view> | |
| 237 | - | |
| 238 | - <view class="item t-c" data-url="/pages/user/comment/comment" bindtap="goto"> | |
| 239 | - <image class="xc-center-img " src="{{iurl}}/miniapp/images/evaluate.png"></image> | |
| 240 | - <view class="fs26">我的评价</view> | |
| 241 | - </view> | |
| 242 | - | |
| 243 | - <view class="item t-c" data-url="/pages/user/address_list/address_list" bindtap="goto"> | |
| 244 | - <image class="xc-center-img " src="{{iurl}}/miniapp/images/add2.png"></image> | |
| 245 | - <view class="four-level-word">我的地址</view> | |
| 246 | - </view> | |
| 247 | - | |
| 248 | - <!-- 收入卡包 --> | |
| 249 | - <view class="item t-c" bindtap="addcard" wx:if="{{add_card_data}}"> | |
| 250 | - <image class="xc-center-img " src="{{iurl}}//miniapp/images/wx_cardbag.png"></image> | |
| 251 | - <view class="four-level-word">收入卡包</view> | |
| 252 | - </view> | |
| 253 | - | |
| 254 | - <view class="item t-c" data-url="/pages/user/my_service/i_service" bindtap="goto_nav" > | |
| 255 | - <image class="xc-center-img " src="{{iurl}}/miniapp/images/yyservice/myservice.png"></image> | |
| 256 | - <view class="four-level-word">我的服务</view> | |
| 257 | - </view> | |
| 258 | - <view class="item t-c" data-url="/pages/giftpack/mygiftpack/mygiftpack" bindtap="goto_nav"> | |
| 259 | - <image class="xc-center-img " src="{{iurl}}/miniapp/images//user/wdlb.png"></image> | |
| 260 | - <view class="four-level-word">专享礼包</view> | |
| 261 | - </view> | |
| 262 | - <block wx:if="{{is_assistance==1}}"> | |
| 263 | - <view class="item t-c" data-url="/pages/user/assistance/assistance" bindtap="goto_nav"> | |
| 264 | - <image class="xc-center-img " src="{{iurl}}/miniapp/images/friendhelp/icon-zl.png"></image> | |
| 265 | - <view class="four-level-word">助力活动</view> | |
| 266 | - </view> | |
| 267 | - </block> | |
| 268 | - | |
| 202 | + <!-- 循环使用自定义菜单,显示和掩藏 --> | |
| 203 | + <block wx:for="{{user_tool}}"> | |
| 204 | + <!-- 判断系统配置中有没有把菜单关闭 --> | |
| 205 | + <block wx:if="{{!util.is_close(item.name,c_list)}}"> | |
| 206 | + <!-- 有链接地址的时候 --> | |
| 207 | + <block wx:if="{{item.weappurl}}"> | |
| 208 | + <block wx:if="{{item.name=='PLUS会员'}}"> | |
| 209 | + <view class="item t-c" data-url="{{item.weappurl}}" bindtap="goto" wx:if="{{is_dengji==1}}"> | |
| 210 | + <image class="xc-center-img " src="{{iurl+item.icoimg}}"></image> | |
| 211 | + <view class="fs26">PLUS会员</view> | |
| 212 | + </view> | |
| 213 | + </block> | |
| 214 | + <block wx:elif="{{item.name=='助力活动'}}"> | |
| 215 | + <view class="item t-c" data-url="/pages/user/assistance/assistance" bindtap="goto_nav" wx:if="{{is_assistance==1}}"> | |
| 216 | + <image class="xc-center-img " src="{{iurl}}/miniapp/images/friendhelp/icon-zl.png"></image> | |
| 217 | + <view class="four-level-word">助力活动</view> | |
| 218 | + </view> | |
| 219 | + </block> | |
| 220 | + <block wx:else> | |
| 221 | + <view class="item t-c" data-url="{{item.weappurl}}" bindtap="goto_nav"> | |
| 222 | + <image class="xc-center-img " src="{{iurl+item.icoimg}}"></image> | |
| 223 | + <view class="fs26">{{item.name}}</view> | |
| 224 | + </view> | |
| 225 | + </block> | |
| 226 | + </block> | |
| 227 | + <!-- 没有链接地址的时候 --> | |
| 228 | + <block wx:else> | |
| 229 | + <block wx:if="{{item.name=='我的权益'}}"> | |
| 230 | + <view class="item t-c" bindtap="go_qy" wx:if="{{qy_list!=null && is_init && gradeId}}"> | |
| 231 | + <image class="xc-center-img " src="{{iurl+item.icoimg}}"></image> | |
| 232 | + <view class="fs26">我的权益</view> | |
| 233 | + </view> | |
| 234 | + </block> | |
| 235 | + <block wx:elif="{{item.name=='联系客服'}}"> | |
| 236 | + <button class="item t-c" wx:if="{{sys_switch.weapp_customertype}}" open-type="contact" session-from="wechat|{{userInfo.user_id}}|{{userInfo.nickname}}|{{userInfo.head_pic}}"> | |
| 237 | + <image class="xc-center-img " src="{{iurl+item.icoimg}}"></image> | |
| 238 | + <view class="fs26">联系客服</view> | |
| 239 | + </button> | |
| 240 | + <view class="item t-c" bindtap="contactService" wx:else> | |
| 241 | + <image class="xc-center-img " src="{{iurl+item.icoimg}}"></image> | |
| 242 | + <view class="fs26">联系客服</view> | |
| 243 | + </view> | |
| 244 | + | |
| 245 | + </block> | |
| 246 | + <block wx:elif="{{item.name=='收入卡包'}}"> | |
| 247 | + <view class="item t-c" bindtap="addcard" wx:if="{{add_card_data}}"> | |
| 248 | + <image class="xc-center-img " src="{{iurl+item.icoimg}}"></image> | |
| 249 | + <view class="four-level-word">收入卡包</view> | |
| 250 | + </view> | |
| 251 | + </block> | |
| 252 | + </block> | |
| 253 | + </block> | |
| 254 | + </block> | |
| 269 | 255 | </view> |
| 270 | 256 | |
| 271 | 257 | </view> | ... | ... |
pages/user/plus/plus.js
| ... | ... | @@ -245,7 +245,11 @@ Page({ |
| 245 | 245 | {data: {storeId: os.stoid}}).then(res => { |
| 246 | 246 | if (res.data.code == 0) is_card = 1; |
| 247 | 247 | }) |
| 248 | - if (is_card == 0) getApp().my_warnning("请联系商家升级plus功能", 0, th); | |
| 248 | + if (is_card == 0) { | |
| 249 | + getApp().my_warnning("请联系商家升级plus功能", 0, th); | |
| 250 | + return false; | |
| 251 | + } | |
| 252 | + | |
| 249 | 253 | var item = th.data.is_plusCard[th.data.by_index]; |
| 250 | 254 | var req = {}; |
| 251 | 255 | req.cardId = item.CardId; | ... | ... |