默认提交
Showing
30 changed files
with
781 additions
and
69 deletions
| ... | @@ -77,7 +77,6 @@ var lazyspriteConfig = { | ... | @@ -77,7 +77,6 @@ var lazyspriteConfig = { | 
| 77 | 77 | ||
| 78 | // Log for output msg. | 78 | // Log for output msg. | 
| 79 | function log() { | 79 | function log() { | 
| 80 | return; | ||
| 81 | var data = Array.prototype.slice.call(arguments); | 80 | var data = Array.prototype.slice.call(arguments); | 
| 82 | gutil.log.apply(false, data); | 81 | gutil.log.apply(false, data); | 
| 83 | } | 82 | } | 
| ... | @@ -251,15 +250,15 @@ function watch(cb) { | ... | @@ -251,15 +250,15 @@ function watch(cb) { | 
| 251 | }); | 250 | }); | 
| 252 | watcher | 251 | watcher | 
| 253 | .on('change', function (file) { | 252 | .on('change', function (file) { | 
| 254 | // log(gutil.colors.yellow(file) + ' is changed'); | 253 | log(gutil.colors.yellow(file) + ' is changed'); | 
| 255 | watchHandler('changed', file); | 254 | watchHandler('changed', file); | 
| 256 | }) | 255 | }) | 
| 257 | .on('add', function (file) { | 256 | .on('add', function (file) { | 
| 258 | // log(gutil.colors.yellow(file) + ' is added'); | 257 | log(gutil.colors.yellow(file) + ' is added'); | 
| 259 | watchHandler('add', file); | 258 | watchHandler('add', file); | 
| 260 | }) | 259 | }) | 
| 261 | .on('unlink', function (file) { | 260 | .on('unlink', function (file) { | 
| 262 | // log(gutil.colors.yellow(file) + ' is deleted'); | 261 | log(gutil.colors.yellow(file) + ' is deleted'); | 
| 263 | watchHandler('removed', file); | 262 | watchHandler('removed', file); | 
| 264 | }); | 263 | }); | 
| 265 | 264 | ... | ... | 
| 1 | { | 1 | { | 
| 2 | "pages": [ | 2 | "pages": [ | 
| 3 | |||
| 4 | "pages/index/index", | ||
| 5 | |||
| 3 | "pages/auction-list/auction-list", | 6 | "pages/auction-list/auction-list", | 
| 4 | "pages/auction-mine/auction-mine", | 7 | "pages/auction-mine/auction-mine", | 
| 5 | "pages/auction-detail/auction-detail", | 8 | "pages/auction-detail/auction-detail", | 
| 6 | "pages/auction-bid-detail/auction-bid-detail", | 9 | "pages/auction-bid-detail/auction-bid-detail", | 
| 10 | |||
| 11 | "pages/seckill-list/seckill-list", | ||
| 12 | "pages/seckill-mine/seckill-mine", | ||
| 13 | "pages/seckill-detail/seckill-detail", | ||
| 14 | |||
| 15 | |||
| 7 | "pages/user-center/user-center", | 16 | "pages/user-center/user-center", | 
| 8 | "pages/index/index", | ||
| 9 | "pages/scan-result/scan-result", | 17 | "pages/scan-result/scan-result", | 
| 10 | "pages/gift-shop/gift-shop", | 18 | "pages/gift-shop/gift-shop", | 
| 11 | "pages/gift-detail/gift-detail", | 19 | "pages/gift-detail/gift-detail", | ... | ... | 
| 1 | /** | ||
| 2 | * ------------------------------------------------------------------ | ||
| 3 | * Sass Minxins | ||
| 4 | * | ||
| 5 | * 参考收集: | ||
| 6 | * https://github.com/twbs/bootstrap-sass/tree/master/assets/stylesheets/bootstrap/mixins | ||
| 7 | * ------------------------------------------------------------------ | ||
| 8 | * | ||
| 9 | */ | ||
| 10 | |||
| 11 | // 居中按钮样式 | 1 | // 居中按钮样式 | 
| 12 | @mixin btn-center($width, $height) { | 2 | @mixin btn-center($width, $height) { | 
| 13 | width: $width; | 3 | width: $width; | 
| ... | @@ -122,7 +112,19 @@ | ... | @@ -122,7 +112,19 @@ | 
| 122 | font-size: $fontSize; | 112 | font-size: $fontSize; | 
| 123 | border-radius: 8px; | 113 | border-radius: 8px; | 
| 124 | background-color: #3680EB; | 114 | background-color: #3680EB; | 
| 115 | } | ||
| 125 | 116 | ||
| 117 | // 通用按钮 | ||
| 118 | @mixin cb2($width:320px, $height:84px, $fontSize:32px) { | ||
| 119 | position: relative; | ||
| 120 | width: $width; | ||
| 121 | height: $height; | ||
| 122 | line-height: $height; | ||
| 123 | text-align: center; | ||
| 124 | font-size: $fontSize; | ||
| 125 | border-radius: 8px; | ||
| 126 | color: #3680EB; | ||
| 127 | border: solid 1PX #3680EB; | ||
| 126 | } | 128 | } | 
| 127 | 129 | ||
| 128 | 130 | ... | ... | 
| 1 | /** | 1 | @import "support"; | 
| 2 | * ------------------------------------------------------------------ | ||
| 3 | * 原子类 | ||
| 4 | * | ||
| 5 | * ------------------------------------------------------------------ | ||
| 6 | * | ||
| 7 | */ | ||
| 8 | @import "support"; | ||
| 9 | 2 | ||
| 10 | // // Margin | 3 | // // Margin | 
| 11 | // .u-mt-smaller { | 4 | // .u-mt-smaller { | 
| ... | @@ -204,48 +197,52 @@ | ... | @@ -204,48 +197,52 @@ | 
| 204 | 197 | ||
| 205 | 198 | ||
| 206 | 199 | ||
| 207 | .bis { | 200 | .bis { | 
| 208 | background-repeat: no-repeat; | 201 | background-repeat: no-repeat; | 
| 209 | background-size: 100% 100%; | 202 | background-size: 100% 100%; | 
| 210 | } | 203 | } | 
| 211 | 204 | ||
| 212 | 205 | ||
| 213 | //flex 布局和 子元素 对其方式 | 206 | //flex 布局和 子元素 对其方式 | 
| 214 | .fl { | 207 | .fl { | 
| 215 | display: flex; | 208 | display: flex; | 
| 216 | } | 209 | } | 
| 217 | 210 | ||
| 218 | .fj { | 211 | .fj { | 
| 219 | display: flex; | 212 | display: flex; | 
| 220 | justify-content: space-between; | 213 | justify-content: space-between; | 
| 221 | } | 214 | } | 
| 222 | 215 | ||
| 223 | 216 | ||
| 224 | 217 | ||
| 225 | .fje { | 218 | .fje { | 
| 226 | display: flex; | 219 | display: flex; | 
| 227 | justify-content: flex-end; | 220 | justify-content: flex-end; | 
| 228 | } | 221 | } | 
| 229 | 222 | ||
| 230 | //水平和垂直居中 | 223 | //水平和垂直居中 | 
| 231 | .fcc { | 224 | .fcc { | 
| 232 | display: flex; | 225 | display: flex; | 
| 233 | justify-content: center; | 226 | justify-content: center; | 
| 234 | align-items: center; | 227 | align-items: center; | 
| 235 | } | 228 | } | 
| 236 | 229 | ||
| 237 | // 为元素设定的宽度和高度决定了元素的边框盒。 | 230 | // 为元素设定的宽度和高度决定了元素的边框盒。 | 
| 238 | .bb { | 231 | .bb { | 
| 239 | box-sizing: border-box; | 232 | box-sizing: border-box; | 
| 240 | } | 233 | } | 
| 241 | 234 | ||
| 242 | // 满屏 | 235 | // 满屏 | 
| 243 | .fullp { | 236 | .fullp { | 
| 244 | width: 100%; | 237 | width: 100%; | 
| 245 | height: 100%; | 238 | height: 100%; | 
| 246 | } | 239 | } | 
| 247 | 240 | ||
| 248 | .shadow { | 241 | .shadow { | 
| 249 | box-shadow: 0 6px 18px 0 rgba(0, 0, 0, 0.10); | 242 | box-shadow: 0 6px 18px 0 rgba(0, 0, 0, 0.10); | 
| 250 | border-radius: 8px; | 243 | border-radius: 8px; | 
| 251 | } | 244 | } | 
| 245 | |||
| 246 | .linear { | ||
| 247 | background-image: linear-gradient(to right, #1bade8, #3680EB); | ||
| 248 | } | ... | ... | 
| ... | @@ -35,9 +35,26 @@ module.exports = { | ... | @@ -35,9 +35,26 @@ module.exports = { | 
| 35 | signInfo: '/sign/info', // post 签到信息 用户注册接口 | 35 | signInfo: '/sign/info', // post 签到信息 用户注册接口 | 
| 36 | sign: '/sign', // post 签到动作 用户注册接口 | 36 | sign: '/sign', // post 签到动作 用户注册接口 | 
| 37 | signRecord: '/sign/record', // post 签到记录 用户注册接口 | 37 | signRecord: '/sign/record', // post 签到记录 用户注册接口 | 
| 38 | saveOpenid:'/member/save/subscription/openid', //保存 openid | 38 | saveOpenid: '/member/save/subscription/openid', //保存 openid | 
| 39 | |||
| 40 | // 拍卖 | ||
| 41 | auctionList: '/auction/list', // post 拍卖列表 | ||
| 42 | auctionDetail: '/auction/detail', // post 获得秒杀产品详细信息 | ||
| 43 | auctionSubmit: '/auction/submit', // post 拍卖出价提交 | ||
| 44 | auctionRecordList: '/auction/record/list', // post 拍卖出价列表 | ||
| 45 | auctionRecordLast: '/auction/record/last', // post 获得最高价 和列表 | ||
| 46 | auctionMine: '/auction/member', // post 我的拍卖产品 | ||
| 47 | |||
| 48 | // 秒杀 | ||
| 49 | seckillList: '/seckill/list', // post 秒杀列表 | ||
| 50 | seckillDetail: '/seckill/detail', // post 秒杀详情 | ||
| 51 | member: '/member', // post 秒杀收件人信息获取 | ||
| 52 | seckillSubmit: '/seckill/submit', // post 提交秒杀订单 | ||
| 53 | seckillMine: '/seckill/member', // post 我的秒杀产品 | ||
| 39 | 54 | ||
| 40 | areaQuery: 'https://api.k.wxpai.cn/bizproxy/kdapi/area', // post 区域查询 | 55 | areaQuery: 'https://api.k.wxpai.cn/bizproxy/kdapi/area', // post 区域查询 | 
| 41 | 56 | ||
| 42 | uploadFile: '/kdapi/file/upload' //上传图片通用接口 | 57 | uploadFile: '/kdapi/file/upload' //上传图片通用接口 | 
| 58 | |||
| 59 | // websocket 链接 | ||
| 43 | } | 60 | } | ... | ... | 
| ... | @@ -4,14 +4,52 @@ import { | ... | @@ -4,14 +4,52 @@ import { | 
| 4 | 4 | ||
| 5 | let app = getApp(); | 5 | let app = getApp(); | 
| 6 | Page({ | 6 | Page({ | 
| 7 | data: {}, | 7 | data: { | 
| 8 | authorizeVisible: false, | ||
| 9 | productInfo: {}, | ||
| 10 | navBackTimeout: 0, | ||
| 11 | }, | ||
| 8 | onShareAppMessage() {}, | 12 | onShareAppMessage() {}, | 
| 9 | showAuth() { | 13 | showAuth() { | 
| 10 | this.setData({ | 14 | this.setData({ | 
| 11 | authorizeVisible: true | 15 | authorizeVisible: true | 
| 12 | }) | 16 | }) | 
| 13 | }, | 17 | }, | 
| 14 | onLoad(options) {}, | 18 | onLoad(options) { | 
| 19 | this.queryAuctionDetail(options.code); | ||
| 20 | }, | ||
| 21 | onShow() {}, | ||
| 22 | |||
| 23 | /** | ||
| 24 | * 秒杀详情 | ||
| 25 | */ | ||
| 26 | queryAuctionDetail(code) { | ||
| 27 | let _this = this; | ||
| 28 | return new Promise((resolve, reject) => { | ||
| 29 | app.post({ | ||
| 30 | url: app.api.auctionDetail, | ||
| 31 | data: { | ||
| 32 | auctionCode: code | ||
| 33 | } | ||
| 34 | }).then((result) => { | ||
| 35 | this.setData({ | ||
| 36 | productInfo: result | ||
| 37 | }) | ||
| 38 | // wx.setNavigationBarTitle({ | ||
| 39 | // title: result.auctionName || "拍卖活动" | ||
| 40 | // }) | ||
| 41 | resolve(); | ||
| 42 | }).catch((err) => { | ||
| 43 | clearTimeout(_this.data.navBackTimeout); | ||
| 44 | _this.data.navBackTimeout = setTimeout(() => { | ||
| 45 | wx.navigateBack({ | ||
| 46 | delta: 1 | ||
| 47 | }); | ||
| 48 | }, 1000); | ||
| 49 | }); | ||
| 50 | }) | ||
| 51 | }, | ||
| 52 | |||
| 15 | // 隐藏蒙层 | 53 | // 隐藏蒙层 | 
| 16 | hideMask() { | 54 | hideMask() { | 
| 17 | this.setData({ | 55 | this.setData({ | ... | ... | 
| 1 | @import '../../assets/scss/mixins'; | 1 | @import '../../assets/scss/mixins'; | 
| 2 | @import '../../assets/scss/utils'; | 2 | @import '../../assets/scss/utils'; | 
| 3 | 3 | ||
| 4 | $contentWidth:690px; | ||
| 5 | |||
| 4 | .page { | 6 | .page { | 
| 7 | padding-bottom: $pageBottom; | ||
| 8 | |||
| 5 | .bgc {} | 9 | .bgc {} | 
| 6 | 10 | ||
| 7 | .bg {} | 11 | .bg {} | 
| ... | @@ -13,6 +17,240 @@ | ... | @@ -13,6 +17,240 @@ | 
| 13 | 17 | ||
| 14 | .content { | 18 | .content { | 
| 15 | position: relative; | 19 | position: relative; | 
| 20 | min-height: 1000px; | ||
| 21 | |||
| 22 | // 产品图片 | ||
| 23 | .img-wrap { | ||
| 24 | $imgWidth: 750px; | ||
| 25 | $imgHeight: 480px; | ||
| 26 | width: $imgWidth; | ||
| 27 | height: $imgHeight; | ||
| 28 | border: 1PX solid #F0F0F0; | ||
| 29 | border-radius: 4px; | ||
| 30 | @extend .bb; | ||
| 31 | |||
| 32 | .swiper { | ||
| 33 | width: $imgWidth; | ||
| 34 | height: $imgHeight; | ||
| 35 | |||
| 36 | .swiper-image { | ||
| 37 | width: $imgWidth; | ||
| 38 | height: $imgHeight; | ||
| 39 | } | ||
| 40 | } | ||
| 41 | } | ||
| 42 | |||
| 43 | // 价格栏 | ||
| 44 | .func { | ||
| 45 | position: relative; | ||
| 46 | $funcHei: 120px; | ||
| 47 | height: $funcHei; | ||
| 48 | display: flex; | ||
| 49 | justify-content: space-between; | ||
| 50 | background-color: #f2f2f2; | ||
| 51 | |||
| 52 | .arrow { | ||
| 53 | top: 0; | ||
| 54 | left: 450px; | ||
| 55 | position: absolute; | ||
| 56 | width: 0; | ||
| 57 | height: 0; | ||
| 58 | border: $funcHei/2 solid transparent; | ||
| 59 | border-left-color: #f2f2f2; | ||
| 60 | |||
| 61 | } | ||
| 62 | |||
| 63 | &-ele { | ||
| 64 | display: flex; | ||
| 65 | font-size: 22px; | ||
| 66 | @extend .bb; | ||
| 67 | |||
| 68 | .prize { | ||
| 69 | color: #cb3939; | ||
| 70 | font-size: 52px; | ||
| 71 | font-weight: bold; | ||
| 72 | } | ||
| 73 | |||
| 74 | |||
| 75 | } | ||
| 76 | |||
| 77 | &-left { | ||
| 78 | align-items: center; | ||
| 79 | color: #333333; | ||
| 80 | |||
| 81 | padding-left: 24px; | ||
| 82 | font-size: 20px; | ||
| 83 | |||
| 84 | .t1 { | ||
| 85 | margin-left: 20px; | ||
| 86 | margin-top: 36px; | ||
| 87 | align-self: flex-start; | ||
| 88 | |||
| 89 | } | ||
| 90 | |||
| 91 | .t2 {} | ||
| 92 | |||
| 93 | .line-th { | ||
| 94 | text-decoration: line-through; | ||
| 95 | } | ||
| 96 | } | ||
| 97 | |||
| 98 | &-right { | ||
| 99 | text-align: right; | ||
| 100 | @extend .linear; | ||
| 101 | width: 300px; | ||
| 102 | height: $funcHei; | ||
| 103 | |||
| 104 | @include border-right-radius(4px); | ||
| 105 | color: #ffffff; | ||
| 106 | padding-right: 24px; | ||
| 107 | align-content: center; | ||
| 108 | flex-wrap: wrap; | ||
| 109 | |||
| 110 | .t1 { | ||
| 111 | width: 100%; | ||
| 112 | font-size: 20px; | ||
| 113 | padding: 4px 0; | ||
| 114 | } | ||
| 115 | |||
| 116 | .date { | ||
| 117 | // width: 100%; | ||
| 118 | font-size: 22px; | ||
| 119 | } | ||
| 120 | } | ||
| 121 | } | ||
| 122 | |||
| 123 | // 描述 | ||
| 124 | .desc { | ||
| 125 | position: relative; | ||
| 126 | font-size: 26px; | ||
| 127 | color: #666666; | ||
| 128 | width: $contentWidth; | ||
| 129 | margin: 0 auto; | ||
| 130 | |||
| 131 | .refresh-btn { | ||
| 132 | @include cb2(160px, 48px, 24px); | ||
| 133 | position: absolute; | ||
| 134 | right: 0; | ||
| 135 | top: 0; | ||
| 136 | } | ||
| 137 | |||
| 138 | &-tit { | ||
| 139 | font-size: 36px; | ||
| 140 | font-weight: bold; | ||
| 141 | color: #333333; | ||
| 142 | margin: 24px 0 10px; | ||
| 143 | width: 520px; | ||
| 144 | @include ellipsis(1); | ||
| 145 | } | ||
| 146 | |||
| 147 | &-t1 { | ||
| 148 | margin-top: 12px; | ||
| 149 | } | ||
| 150 | } | ||
| 151 | |||
| 152 | // 线 | ||
| 153 | .line { | ||
| 154 | width: $contentWidth; | ||
| 155 | margin: 24px auto; | ||
| 156 | height: 1PX; | ||
| 157 | background-color: #666666; | ||
| 158 | opacity: 0.5; | ||
| 159 | } | ||
| 160 | |||
| 161 | // 拍卖详情 | ||
| 162 | .auction { | ||
| 163 | width: $contentWidth; | ||
| 164 | margin: 24px auto 0; | ||
| 165 | font-size: 24px; | ||
| 166 | |||
| 167 | &-desc { | ||
| 168 | color: #666666; | ||
| 169 | display: flex; | ||
| 170 | flex-wrap: wrap; | ||
| 171 | |||
| 172 | .t1 { | ||
| 173 | width: 50%; | ||
| 174 | padding: 6px 0; | ||
| 175 | // @extend .bb; | ||
| 176 | } | ||
| 177 | } | ||
| 178 | |||
| 179 | &-table { | ||
| 180 | @extend .bb; | ||
| 181 | padding: 24px 0 24px 40px; | ||
| 182 | background-color: #f8f8f8; | ||
| 183 | border-radius: 8px; | ||
| 184 | margin-top: 24px; | ||
| 185 | font-size: 22px; | ||
| 186 | |||
| 187 | .tab { | ||
| 188 | &-item { | ||
| 189 | display: flex; | ||
| 190 | justify-content: space-between; | ||
| 191 | |||
| 192 | .item { | ||
| 193 | text-align: center; | ||
| 194 | height: 32px; | ||
| 195 | line-height: 32px; | ||
| 196 | margin: 6px 0; | ||
| 197 | @extend .bb; | ||
| 198 | padding: 0 6px; | ||
| 199 | } | ||
| 200 | |||
| 201 | .item1 { | ||
| 202 | width: 72px; | ||
| 203 | @extend .fcc; | ||
| 204 | |||
| 205 | .block { | ||
| 206 | width: 72px; | ||
| 207 | height: 32px; | ||
| 208 | line-height: 32px; | ||
| 209 | @extend .linear; | ||
| 210 | color: #ffffff; | ||
| 211 | border-radius: 4px; | ||
| 212 | } | ||
| 213 | } | ||
| 214 | |||
| 215 | .item2 { | ||
| 216 | width: 200px; | ||
| 217 | } | ||
| 218 | |||
| 219 | .item3 { | ||
| 220 | width: 120px; | ||
| 221 | } | ||
| 222 | |||
| 223 | .item4 { | ||
| 224 | flex: 1; | ||
| 225 | } | ||
| 226 | } | ||
| 227 | |||
| 228 | &-item2 { | ||
| 229 | color: #c9c9c9; | ||
| 230 | |||
| 231 | .item1 { | ||
| 232 | .block { | ||
| 233 | background: #c9c9c9; | ||
| 234 | } | ||
| 235 | } | ||
| 236 | } | ||
| 237 | } | ||
| 238 | |||
| 239 | .tips { | ||
| 240 | color: #3680EB; | ||
| 241 | margin-top: 32px; | ||
| 242 | } | ||
| 243 | } | ||
| 244 | } | ||
| 245 | |||
| 246 | |||
| 247 | } | ||
| 248 | |||
| 249 | // 提交按钮 | ||
| 250 | .submit-btn { | ||
| 251 | @include cb(560px, 84px); | ||
| 252 | @extend .linear; | ||
| 253 | margin: 72px auto 0; | ||
| 16 | } | 254 | } | 
| 17 | } | 255 | } | 
| 18 | } | 256 | } | ... | ... | 
| ... | @@ -4,7 +4,85 @@ | ... | @@ -4,7 +4,85 @@ | 
| 4 | <!-- <view class="app__top-shadow"></view> --> | 4 | <!-- <view class="app__top-shadow"></view> --> | 
| 5 | <view class="app__content main"> | 5 | <view class="app__content main"> | 
| 6 | <view class="top-space"></view> | 6 | <view class="top-space"></view> | 
| 7 | <view class="content">auction-list</view> | 7 | <view class="content"> | 
| 8 | <!-- 产品图 --> | ||
| 9 | <view class="img-wrap"> | ||
| 10 | <swiper class="swiper" indicator-color="rgba(0,0,0,.3)" indicator-active-color="rgba(255,255,255,1)" indicator-dots="{{true}}" autoplay="{{true}}" interval="{{5000}}" duration="{{500}}"> | ||
| 11 | <block wx:for="{{productInfo.auctionImage}}" wx:key="{{index}}"> | ||
| 12 | <swiper-item> | ||
| 13 | <image class="swiper-image" src="{{item}}" mode="aspectFill" /> | ||
| 14 | </swiper-item> | ||
| 15 | </block> | ||
| 16 | </swiper> | ||
| 17 | </view> | ||
| 18 | <!-- 价格栏 --> | ||
| 19 | <view class="func"> | ||
| 20 | <view class="arrow"></view> | ||
| 21 | <view class="func-ele func-left"> | ||
| 22 | <text class="prize">¥5</text> | ||
| 23 | <text class="t1">当前价格</text> | ||
| 24 | </view> | ||
| 25 | <view class="func-ele func-right"> | ||
| 26 | <text class="t1">拍卖进行中</text> | ||
| 27 | <text class="t1 date">时间时间</text> | ||
| 28 | </view> | ||
| 29 | </view> | ||
| 30 | <!-- 描述 --> | ||
| 31 | <view class="desc"> | ||
| 32 | <view class="refresh-btn">刷新价格</view> | ||
| 33 | <view class="desc-tit">标题</view> | ||
| 34 | <view class="desc-t1">描述</view> | ||
| 35 | <view class="desc-t1">活动区域</view> | ||
| 36 | </view> | ||
| 37 | <!-- 线 --> | ||
| 38 | <view class="line"></view> | ||
| 39 | <!-- 拍卖详情 --> | ||
| 40 | <view class="auction"> | ||
| 41 | <view class="auction-desc"> | ||
| 42 | <view class="t1">产品原价:280元</view> | ||
| 43 | <view class="t1">起拍价:280元</view> | ||
| 44 | <view class="t1">最小价格幅度:280元</view> | ||
| 45 | <view class="t1">延时周期:5分钟</view> | ||
| 46 | </view> | ||
| 47 | <view class="auction-table"> | ||
| 48 | <view class="tab"> | ||
| 49 | <view class="tab-item"> | ||
| 50 | <view class="item item1">状态</view> | ||
| 51 | <view class="item item2">竞拍者</view> | ||
| 52 | <view class="item item3">出价</view> | ||
| 53 | <view class="item item4">时间</view> | ||
| 54 | </view> | ||
| 55 | <view class="tab-item"> | ||
| 56 | <view class="item item1"> | ||
| 57 | <view class="block">领先</view> | ||
| 58 | </view> | ||
| 59 | <view class="item item2">xxx123</view> | ||
| 60 | <view class="item item3">¥150</view> | ||
| 61 | <view class="item item4">2019.10.02 10:36:12</view> | ||
| 62 | </view> | ||
| 63 | <view class="tab-item tab-item2"> | ||
| 64 | <view class="item item1"> | ||
| 65 | <view class="block">领先</view> | ||
| 66 | </view> | ||
| 67 | <view class="item item2">xxx123</view> | ||
| 68 | <view class="item item3">¥150</view> | ||
| 69 | <view class="item item4">2019.10.02 10:36:12</view> | ||
| 70 | </view> | ||
| 71 | <view class="tab-item tab-item2"> | ||
| 72 | <view class="item item1"> | ||
| 73 | <view class="block">领先</view> | ||
| 74 | </view> | ||
| 75 | <view class="item item2">xxx123</view> | ||
| 76 | <view class="item item3">¥150</view> | ||
| 77 | <view class="item item4">2019.10.02 10:36:12</view> | ||
| 78 | </view> | ||
| 79 | </view> | ||
| 80 | <view class="tips">查看所有n次出价></view> | ||
| 81 | </view> | ||
| 82 | </view> | ||
| 83 | </view> | ||
| 84 | <!-- 按钮 --> | ||
| 85 | <view class="submit-btn">我要出价</view> | ||
| 8 | </view> | 86 | </view> | 
| 9 | </view> | 87 | </view> | 
| 10 | <van-popup show="{{ authorizeVisible }}"> | 88 | <van-popup show="{{ authorizeVisible }}"> | ... | ... | 
| 1 | import { | 1 | import { | 
| 2 | getBindtapData | 2 | getBindtapData | 
| 3 | } from '../../utils/util'; | 3 | } from '../../utils/util'; | 
| 4 | let Date = require('../../utils/date.js'); | ||
| 4 | 5 | ||
| 5 | let app = getApp(); | 6 | let app = getApp(); | 
| 6 | Page({ | 7 | Page({ | 
| 7 | data: {}, | 8 | data: { | 
| 9 | authorizeVisible: false, | ||
| 10 | total: 0, | ||
| 11 | page: 1, | ||
| 12 | size: 10, | ||
| 13 | dataList: [], | ||
| 14 | }, | ||
| 8 | onShareAppMessage() {}, | 15 | onShareAppMessage() {}, | 
| 9 | showAuth() { | 16 | showAuth() { | 
| 10 | this.setData({ | 17 | this.setData({ | 
| 11 | authorizeVisible: true | 18 | authorizeVisible: true | 
| 12 | }) | 19 | }) | 
| 13 | }, | 20 | }, | 
| 14 | onLoad(options) {}, | 21 | onShow() { | 
| 22 | |||
| 23 | }, | ||
| 24 | onLoad(options) { | ||
| 25 | this.resetPage(); | ||
| 26 | this.initData(); | ||
| 27 | }, | ||
| 28 | initData() { | ||
| 29 | this.queryAuctionList(); | ||
| 30 | }, | ||
| 31 | |||
| 32 | // 到达底部 | ||
| 33 | onReachBottom() { | ||
| 34 | if (this.data.dataList.length < this.data.total) { | ||
| 35 | this.setData({ | ||
| 36 | page: this.data.page + 1 | ||
| 37 | }); | ||
| 38 | this.queryAuctionList(); | ||
| 39 | } | ||
| 40 | }, | ||
| 41 | |||
| 42 | // 重置页面列表 点击搜索条件时需要 | ||
| 43 | resetPage() { | ||
| 44 | this.setData({ | ||
| 45 | page: 1, | ||
| 46 | dataList: [] | ||
| 47 | }) | ||
| 48 | }, | ||
| 49 | |||
| 50 | /** | ||
| 51 | * 详情页面 | ||
| 52 | */ | ||
| 53 | onDetailHandler(evt) { | ||
| 54 | let curData = getBindtapData(evt); | ||
| 55 | console.log("curData:", curData); | ||
| 56 | if (curData.status == 0 || curData.status == 1) { | ||
| 57 | app.router.push({ | ||
| 58 | path: "auctionDetail", | ||
| 59 | query: { | ||
| 60 | code: curData.auctionCode, | ||
| 61 | title: curData.auctionName | ||
| 62 | } | ||
| 63 | }) | ||
| 64 | } | ||
| 65 | }, | ||
| 66 | |||
| 67 | // 拍卖列表 | ||
| 68 | queryAuctionList() { | ||
| 69 | return new Promise((resolve, reject) => { | ||
| 70 | app.post({ | ||
| 71 | url: app.api.auctionList, | ||
| 72 | data: { | ||
| 73 | page: this.data.page, | ||
| 74 | size: this.data.size, | ||
| 75 | } | ||
| 76 | }).then((result) => { | ||
| 77 | let dataList = result.list; | ||
| 78 | dataList.forEach(element => { | ||
| 79 | element.dateStr = new Date(element.startTime).toString("yyyy.MM.dd hh:mm") + " - " + new Date(element.endTime).toString("yyyy.MM.dd hh:mm"); | ||
| 80 | }); | ||
| 81 | dataList = this.data.dataList.concat(dataList); | ||
| 82 | this.setData({ | ||
| 83 | dataList: dataList, | ||
| 84 | total: result.total | ||
| 85 | }) | ||
| 86 | resolve(); | ||
| 87 | }) | ||
| 88 | }) | ||
| 89 | }, | ||
| 90 | |||
| 15 | // 隐藏蒙层 | 91 | // 隐藏蒙层 | 
| 16 | hideMask() { | 92 | hideMask() { | 
| 17 | this.setData({ | 93 | this.setData({ | ... | ... | 
| 1 | @import '../../assets/scss/mixins'; | 1 | @import '../../assets/scss/mixins'; | 
| 2 | @import '../../assets/scss/utils'; | 2 | @import '../../assets/scss/utils'; | 
| 3 | 3 | ||
| 4 | $contentWidth:690px; | ||
| 5 | |||
| 4 | .page { | 6 | .page { | 
| 5 | .bgc {} | 7 | .bgc { | 
| 8 | background-color: #f8f8f8; | ||
| 9 | } | ||
| 6 | 10 | ||
| 7 | .bg {} | 11 | .bg {} | 
| 8 | 12 | ||
| ... | @@ -13,6 +17,85 @@ | ... | @@ -13,6 +17,85 @@ | 
| 13 | 17 | ||
| 14 | .content { | 18 | .content { | 
| 15 | position: relative; | 19 | position: relative; | 
| 20 | |||
| 21 | // 我的按钮 | ||
| 22 | .my-btn { | ||
| 23 | display: flex; | ||
| 24 | justify-content: flex-end; | ||
| 25 | |||
| 26 | .btn { | ||
| 27 | @include cb2(180px, 48px, 28px); | ||
| 28 | margin: 24px 24px 0 0; | ||
| 29 | } | ||
| 30 | } | ||
| 31 | |||
| 32 | // list | ||
| 33 | .list { | ||
| 34 | width: $contentWidth; | ||
| 35 | margin: 24px auto 0; | ||
| 36 | |||
| 37 | &-item { | ||
| 38 | @extend .bb; | ||
| 39 | padding: 30px 0; | ||
| 40 | display: flex; | ||
| 41 | justify-content: space-between; | ||
| 42 | align-items: center; | ||
| 43 | |||
| 44 | .prize { | ||
| 45 | margin: 0 24px; | ||
| 46 | |||
| 47 | .image { | ||
| 48 | width: 120px; | ||
| 49 | height: 120px; | ||
| 50 | } | ||
| 51 | } | ||
| 52 | |||
| 53 | .cont { | ||
| 54 | position: relative; | ||
| 55 | height: 100%; | ||
| 56 | flex: 1; | ||
| 57 | padding-right: 8px; | ||
| 58 | @extend .bb; | ||
| 59 | |||
| 60 | .t1 { | ||
| 61 | align-self: center; | ||
| 62 | padding: 4px 0; | ||
| 63 | width: 100%; | ||
| 64 | } | ||
| 65 | |||
| 66 | .t2 { | ||
| 67 | margin-top: 8px; | ||
| 68 | // font-size: 24px; | ||
| 69 | // color: #999999; | ||
| 70 | } | ||
| 71 | |||
| 72 | .t3 { | ||
| 73 | font-size: 20px; | ||
| 74 | color: #999999; | ||
| 75 | // color: #3680EB; | ||
| 76 | } | ||
| 77 | } | ||
| 78 | |||
| 79 | .btn { | ||
| 80 | @include cb(120px, 48px, 24px); | ||
| 81 | margin: 0 16px 0 0; | ||
| 82 | align-self: flex-start; | ||
| 83 | } | ||
| 84 | |||
| 85 | .btn0 { | ||
| 86 | background-color: #fe9b28; | ||
| 87 | } | ||
| 88 | |||
| 89 | .btn1 { | ||
| 90 | background-color: #079815; | ||
| 91 | } | ||
| 92 | |||
| 93 | .btn2 { | ||
| 94 | background-color: #999999; | ||
| 95 | } | ||
| 96 | } | ||
| 97 | } | ||
| 98 | |||
| 16 | } | 99 | } | 
| 17 | } | 100 | } | 
| 18 | } | 101 | } | ... | ... | 
| ... | @@ -4,7 +4,33 @@ | ... | @@ -4,7 +4,33 @@ | 
| 4 | <!-- <view class="app__top-shadow"></view> --> | 4 | <!-- <view class="app__top-shadow"></view> --> | 
| 5 | <view class="app__content main"> | 5 | <view class="app__content main"> | 
| 6 | <view class="top-space"></view> | 6 | <view class="top-space"></view> | 
| 7 | <view class="content">auction-list</view> | 7 | <view class="content"> | 
| 8 | <!-- 我的拍卖按钮 --> | ||
| 9 | <view class="my-btn"> | ||
| 10 | <view class="btn">我的拍卖</view> | ||
| 11 | </view> | ||
| 12 | <view class="list"> | ||
| 13 | <view wx:for="{{dataList}}" wx:key="{{index}}" class="border list-item"> | ||
| 14 | <view class="prize"> | ||
| 15 | <image class="image" mode="aspectFill" src="{{item.auctionImage && item.auctionImage[0] || ''}}" /> | ||
| 16 | </view> | ||
| 17 | <view class="cont"> | ||
| 18 | <view class="t1">{{item.auctionName}}</view> | ||
| 19 | <view class="t1 t2 t3">活动区域:{{item.district}}</view> | ||
| 20 | <view class="t1 t3">{{item.dateStr}}</view> | ||
| 21 | </view> | ||
| 22 | <view bindtap="onDetailHandler" wx:if="{{item.status == 0}}" data-data="{{item}}" data-index="{{index}}" class="btn btn0"> | ||
| 23 | 未开始 | ||
| 24 | </view> | ||
| 25 | <view bindtap="onDetailHandler" wx:if="{{item.status == 1}}" data-data="{{item}}" data-index="{{index}}" class="btn btn1"> | ||
| 26 | 进行中 | ||
| 27 | </view> | ||
| 28 | <view bindtap="onDetailHandler" wx:if="{{item.status == 2}}" data-data="{{item}}" data-index="{{index}}" class="btn btn2"> | ||
| 29 | 已结束 | ||
| 30 | </view> | ||
| 31 | </view> | ||
| 32 | </view> | ||
| 33 | </view> | ||
| 8 | </view> | 34 | </view> | 
| 9 | </view> | 35 | </view> | 
| 10 | <van-popup show="{{ authorizeVisible }}"> | 36 | <van-popup show="{{ authorizeVisible }}"> | ... | ... | 
| ... | @@ -12,8 +12,8 @@ | ... | @@ -12,8 +12,8 @@ | 
| 12 | </view> | 12 | </view> | 
| 13 | <view class="cont"> | 13 | <view class="cont"> | 
| 14 | <view class="t1">{{item.prizeName}}</view> | 14 | <view class="t1">{{item.prizeName}}</view> | 
| 15 | <view class="t1 t2">190701-190714</view> | 15 | <view class="t1 t2">{{item.activityName}}</view> | 
| 16 | <view class="t1 t3">{{item.activityName}}</view> | 16 | <view class="t1 t3">推广积分第一名</view> | 
| 17 | </view> | 17 | </view> | 
| 18 | <view bindtap="onReceiveHandler" wx:if="{{item.acceptType == 0}}" data-data="{{item}}" data-index="{{index}}" class="btn">领取</view> | 18 | <view bindtap="onReceiveHandler" wx:if="{{item.acceptType == 0}}" data-data="{{item}}" data-index="{{index}}" class="btn">领取</view> | 
| 19 | <view wx:if="{{item.acceptType == 1}}" class="btn">已领取</view> | 19 | <view wx:if="{{item.acceptType == 1}}" class="btn">已领取</view> | ... | ... | 
src/pages/seckill-detail/seckill-detail.js
0 → 100755
| 1 | import { | ||
| 2 | getBindtapData | ||
| 3 | } from '../../utils/util'; | ||
| 4 | |||
| 5 | let app = getApp(); | ||
| 6 | Page({ | ||
| 7 | data: {}, | ||
| 8 | onShareAppMessage() {}, | ||
| 9 | showAuth() { | ||
| 10 | this.setData({ | ||
| 11 | authorizeVisible: true | ||
| 12 | }) | ||
| 13 | }, | ||
| 14 | onLoad(options) {}, | ||
| 15 | // 隐藏蒙层 | ||
| 16 | hideMask() { | ||
| 17 | this.setData({ | ||
| 18 | authorizeVisible: false, | ||
| 19 | }) | ||
| 20 | }, | ||
| 21 | // 子组件事件 | ||
| 22 | evtcomp(evt) { | ||
| 23 | let { | ||
| 24 | name, | ||
| 25 | data | ||
| 26 | } = evt.detail; | ||
| 27 | switch (name) { | ||
| 28 | |||
| 29 | // 隐藏弹窗 | ||
| 30 | case "_evt_hide_mask": | ||
| 31 | this.hideMask(); | ||
| 32 | break; | ||
| 33 | |||
| 34 | default: | ||
| 35 | break; | ||
| 36 | } | ||
| 37 | }, | ||
| 38 | }) | 
src/pages/seckill-detail/seckill-detail.json
0 → 100755
src/pages/seckill-detail/seckill-detail.scss
0 → 100755
File mode changed
src/pages/seckill-detail/seckill-detail.wxml
0 → 100755
| 1 | <view class="page"> | ||
| 2 | <view class="app__bgc bgc"></view> | ||
| 3 | <view class="app__bg bg"></view> | ||
| 4 | <!-- <view class="app__top-shadow"></view> --> | ||
| 5 | <view class="app__content main"> | ||
| 6 | <view class="top-space"></view> | ||
| 7 | <view class="content"></view> | ||
| 8 | </view> | ||
| 9 | </view> | ||
| 10 | <van-popup show="{{ authorizeVisible }}"> | ||
| 11 | <authorize-comp bind:evtcomp="evtcomp"></authorize-comp> | ||
| 12 | </van-popup> | 
src/pages/seckill-list/seckill-list.js
0 → 100755
| 1 | import { | ||
| 2 | getBindtapData | ||
| 3 | } from '../../utils/util'; | ||
| 4 | |||
| 5 | let app = getApp(); | ||
| 6 | Page({ | ||
| 7 | data: {}, | ||
| 8 | onShareAppMessage() {}, | ||
| 9 | showAuth() { | ||
| 10 | this.setData({ | ||
| 11 | authorizeVisible: true | ||
| 12 | }) | ||
| 13 | }, | ||
| 14 | onLoad(options) {}, | ||
| 15 | // 隐藏蒙层 | ||
| 16 | hideMask() { | ||
| 17 | this.setData({ | ||
| 18 | authorizeVisible: false, | ||
| 19 | }) | ||
| 20 | }, | ||
| 21 | // 子组件事件 | ||
| 22 | evtcomp(evt) { | ||
| 23 | let { | ||
| 24 | name, | ||
| 25 | data | ||
| 26 | } = evt.detail; | ||
| 27 | switch (name) { | ||
| 28 | |||
| 29 | // 隐藏弹窗 | ||
| 30 | case "_evt_hide_mask": | ||
| 31 | this.hideMask(); | ||
| 32 | break; | ||
| 33 | |||
| 34 | default: | ||
| 35 | break; | ||
| 36 | } | ||
| 37 | }, | ||
| 38 | }) | 
src/pages/seckill-list/seckill-list.json
0 → 100755
src/pages/seckill-list/seckill-list.scss
0 → 100755
File mode changed
src/pages/seckill-list/seckill-list.wxml
0 → 100755
| 1 | <view class="page"> | ||
| 2 | <view class="app__bgc bgc"></view> | ||
| 3 | <view class="app__bg bg"></view> | ||
| 4 | <!-- <view class="app__top-shadow"></view> --> | ||
| 5 | <view class="app__content main"> | ||
| 6 | <view class="top-space"></view> | ||
| 7 | <view class="content"></view> | ||
| 8 | </view> | ||
| 9 | </view> | ||
| 10 | <van-popup show="{{ authorizeVisible }}"> | ||
| 11 | <authorize-comp bind:evtcomp="evtcomp"></authorize-comp> | ||
| 12 | </van-popup> | 
src/pages/seckill-mine/seckill-mine.js
0 → 100755
| 1 | import { | ||
| 2 | getBindtapData | ||
| 3 | } from '../../utils/util'; | ||
| 4 | |||
| 5 | let app = getApp(); | ||
| 6 | Page({ | ||
| 7 | data: {}, | ||
| 8 | onShareAppMessage() {}, | ||
| 9 | showAuth() { | ||
| 10 | this.setData({ | ||
| 11 | authorizeVisible: true | ||
| 12 | }) | ||
| 13 | }, | ||
| 14 | onLoad(options) {}, | ||
| 15 | // 隐藏蒙层 | ||
| 16 | hideMask() { | ||
| 17 | this.setData({ | ||
| 18 | authorizeVisible: false, | ||
| 19 | }) | ||
| 20 | }, | ||
| 21 | // 子组件事件 | ||
| 22 | evtcomp(evt) { | ||
| 23 | let { | ||
| 24 | name, | ||
| 25 | data | ||
| 26 | } = evt.detail; | ||
| 27 | switch (name) { | ||
| 28 | |||
| 29 | // 隐藏弹窗 | ||
| 30 | case "_evt_hide_mask": | ||
| 31 | this.hideMask(); | ||
| 32 | break; | ||
| 33 | |||
| 34 | default: | ||
| 35 | break; | ||
| 36 | } | ||
| 37 | }, | ||
| 38 | }) | 
src/pages/seckill-mine/seckill-mine.json
0 → 100755
src/pages/seckill-mine/seckill-mine.scss
0 → 100755
File mode changed
src/pages/seckill-mine/seckill-mine.wxml
0 → 100755
| 1 | <view class="page"> | ||
| 2 | <view class="app__bgc bgc"></view> | ||
| 3 | <view class="app__bg bg"></view> | ||
| 4 | <!-- <view class="app__top-shadow"></view> --> | ||
| 5 | <view class="app__content main"> | ||
| 6 | <view class="top-space"></view> | ||
| 7 | <view class="content"></view> | ||
| 8 | </view> | ||
| 9 | </view> | ||
| 10 | <van-popup show="{{ authorizeVisible }}"> | ||
| 11 | <authorize-comp bind:evtcomp="evtcomp"></authorize-comp> | ||
| 12 | </van-popup> | 
| ... | @@ -26,6 +26,11 @@ const routerPath = { | ... | @@ -26,6 +26,11 @@ const routerPath = { | 
| 26 | auctionDetail: '/pages/auction-detail/auction-detail', // 拍卖活动详情 | 26 | auctionDetail: '/pages/auction-detail/auction-detail', // 拍卖活动详情 | 
| 27 | auctionBidDetail: '/pages/auction-bid-detail/auction-bid-detail', // 拍卖出价详情 | 27 | auctionBidDetail: '/pages/auction-bid-detail/auction-bid-detail', // 拍卖出价详情 | 
| 28 | 28 | ||
| 29 | // 秒杀 | ||
| 30 | seckillList: '/pages/seckill-list/seckill-list', // 秒杀活动列表 | ||
| 31 | seckillMine: '/pages/seckill-mine/seckill-mine', // 我的秒杀订单 | ||
| 32 | seckillDetail: '/pages/seckill-detail/seckill-detail', // 秒杀活动详情 | ||
| 33 | |||
| 29 | webview: '/pages/webview/webview', | 34 | webview: '/pages/webview/webview', | 
| 30 | example: '/pages/example/example', | 35 | example: '/pages/example/example', | 
| 31 | more: '/pages/more/more', | 36 | more: '/pages/more/more', | ... | ... | 
- 
Please register or sign in to post a comment