Commit 6341715b478fda82dc4f8bf26ba616e235ee4afd
1 parent
1ffc7382
首次上传
Showing
436 changed files
with
51630 additions
and
0 deletions
Too many changes.
To preserve performance only 100 of 436 files are displayed.
.gitignore
0 → 100644
1 | +# Windows | |
2 | +[Dd]esktop.ini | |
3 | +Thumbs.db | |
4 | +$RECYCLE.BIN/ | |
5 | + | |
6 | +# macOS | |
7 | +.DS_Store | |
8 | +.fseventsd | |
9 | +.Spotlight-V100 | |
10 | +.TemporaryItems | |
11 | +.Trashes | |
12 | + | |
13 | +# Node.js | |
14 | +node_modules/ | |
15 | +.idea/workspace.xml | |
16 | +.idea/wexinapp.iml | |
17 | +.idea/vcs.xml | |
18 | +.idea/modules.xml | |
19 | +.idea/misc.xml | |
20 | +.idea/encodings.xml | ... | ... |
api/api.js
0 → 100644
1 | +//这个页面只调用接口 | |
2 | +var rq = require("../utils/request.js") | |
3 | +var regeneratorRuntime = require('../utils/runtime.js'); | |
4 | + | |
5 | +const wxRequest = async(params = {}, url) => { | |
6 | + let data = params.query || {}; | |
7 | + let res = await rq.promiseGet(url,data) | |
8 | + return res; | |
9 | +}; | |
10 | +//--检查是否购买自定义模板-- | |
11 | +const check_isbuy = (params) => wxRequest({}, "/store/storemoduleendtime/page?store_id=" + params.store_id + "&type=" + params.type); | |
12 | +//--获取config-- | |
13 | +const get_config=(stoid)=>wxRequest({},"/api/weshop/store/get/"+stoid); | |
14 | +//--获取自定义模板首页-- | |
15 | +const get_template_fir=(stoid)=>wxRequest({},"/api/weshop/store_module/gets/"+stoid+"/1/4"); | |
16 | + | |
17 | +module.exports = { | |
18 | + check_isbuy, | |
19 | + get_config, | |
20 | + get_template_fir, | |
21 | +} | ... | ... |
app.js
0 → 100644
1 | +var t = require("setting.js"), o = require("./utils/auth.js"), a = require("./utils/request.js"), e = require("./utils/common.js"), ut = require("./utils/util.js"); | |
2 | +var os=t; | |
3 | +var regeneratorRuntime = require('./utils/runtime.js'); | |
4 | +var api = require("./api/api.js") | |
5 | + | |
6 | +//公共方法和变量 | |
7 | +App({ | |
8 | + globalData: { | |
9 | + setting: t, | |
10 | + wechatUser: null, | |
11 | + userInfo: null, | |
12 | + config: null, | |
13 | + config2: null, | |
14 | + code: null, | |
15 | + heigth:0, | |
16 | + user_id: 5682068,// 4379287,// null,// 5682068, | |
17 | + buy_now:null, | |
18 | + picklist:null, //门店列表 | |
19 | + wuliuprice: null, //物流价格表 | |
20 | + wuliu: null, //物流公司 | |
21 | + baddr:null, | |
22 | + mobile: null, //记录手机 | |
23 | + getu:null, //记录会员信息 | |
24 | + sessionKey: null,//记录会员信息 | |
25 | + openid: null, //记录会员信息 | |
26 | + | |
27 | + to_group:null, //参团传递的数据 | |
28 | + wxapp_buy_obj:null,//微信小程序购买的Object | |
29 | + | |
30 | + }, | |
31 | + auth: o, | |
32 | + request: a, | |
33 | + onLaunch: function() { | |
34 | + this.initExt(); | |
35 | + var t = this.globalData.setting; | |
36 | + t.resourceUrl = t.url + "/template/mobile/rainbow"; | |
37 | + var clientWidth = wx.getSystemInfoSync().windowWidth; | |
38 | + var rpxR = 750 / clientWidth; | |
39 | + var calc = wx.getSystemInfoSync().windowHeight * rpxR; | |
40 | + this.globalData.heigth=calc; | |
41 | + | |
42 | + var app=this; | |
43 | + if(!app.globalData.userInfo){ | |
44 | + var user = wx.getStorageSync("userinfo"); | |
45 | + if (user && user.user_id){ | |
46 | + app.globalData.userInfo=wx.getStorageSync("userinfo"); | |
47 | + app.globalData.user_id= app.globalData.userInfo.user_id; | |
48 | + } | |
49 | + } | |
50 | + | |
51 | + }, | |
52 | + | |
53 | + //---初始化第三方---- | |
54 | + initExt: function() { | |
55 | + var tt=t; | |
56 | + console.log("initExt"); | |
57 | + console.log(11); | |
58 | + var t = wx.getExtConfigSync(), o = this.globalData.setting; | |
59 | + console.log(t); | |
60 | + t.appName ? (o.appName = t.appName, o.stoid = t.stoid) : tt=1; | |
61 | + }, | |
62 | + | |
63 | + //首页的第一次登录 | |
64 | + getUserFir(t){ | |
65 | + var s = this; | |
66 | + if (o.isAuth()) "function" == typeof t && t(s.globalData.userInfo, s.globalData.wechatUser); else { | |
67 | + if (!o.isAuth()) return o.wxLogin_fir(t); | |
68 | + if (null == s.globalData.userInfo) { | |
69 | + return o.wxLogin_fir(t); | |
70 | + } | |
71 | + } | |
72 | + }, | |
73 | + | |
74 | + getUserInfo: function(t, n, i) { | |
75 | + var s = this; | |
76 | + if (o.isAuth()) "function" == typeof t && t(s.globalData.userInfo, s.globalData.wechatUser); else { | |
77 | + if (!o.isAuth()) return o.auth(t); | |
78 | + if (null == s.globalData.userInfo){ | |
79 | + return o.auth(t); | |
80 | + } | |
81 | + /*--- | |
82 | + a.get("/api/user/userInfo", { | |
83 | + isShowLoading: void 0 === i || i, | |
84 | + success: function(o) { | |
85 | + s.globalData.userInfo = o.data.result, s.globalData.userInfo.head_pic = e.getFullUrl(s.globalData.userInfo.head_pic), | |
86 | + "function" == typeof t && t(s.globalData.userInfo, s.globalData.wechatUser); | |
87 | + } | |
88 | + });--*/ | |
89 | + } | |
90 | + }, | |
91 | + //----------------获取配置参数-------------------- | |
92 | + getConfig: function(t, o) { | |
93 | + var e = this; if(this.globalData.config==undefined) this.globalData.config=null; | |
94 | + this.globalData.config ? "function" == typeof t && t(this.globalData.config) : e.request.get("/api/weshop/store/get/" + e.globalData.setting.stoid, { | |
95 | + success: function(o) { | |
96 | + console.log('getConfig'); | |
97 | + if(o.data.code==0){ | |
98 | + e.globalData.config = o.data.data, "function" == typeof t && t(e.globalData.config); | |
99 | + } | |
100 | + } | |
101 | + }); | |
102 | + }, | |
103 | + | |
104 | + //----------------获取配置参数-------------------- | |
105 | + getConfig2: function (t, o) { | |
106 | + var e = this; | |
107 | + this.globalData.config2 && !o ? | |
108 | + "function" == typeof t && t(this.globalData.config2) : a.get("/api/weshop/storeconfig/get/" + e.globalData.setting.stoid, { | |
109 | + success: function (o) { | |
110 | + console.log('getConfig2'); | |
111 | + if (o.data.code == 0) { | |
112 | + e.globalData.config = o.data.data, "function" == typeof t && t(e.globalData.config); | |
113 | + } | |
114 | + } | |
115 | + }); | |
116 | + }, | |
117 | + | |
118 | + //----------------获取商家开启的物流-------------------- | |
119 | + getwuliu: function (t, o){ | |
120 | + var th = this, st = this.globalData.setting; | |
121 | + this.globalData.wuliu && !o ? | |
122 | + "function" == typeof t && t(this.globalData.wuliu) : a.get("/api/weshop/storeshipping/list", { | |
123 | + data: { store_id: st.stoid, status: 1, pageSize:600 }, | |
124 | + success: function (o) { | |
125 | + console.log('getwuliu'); | |
126 | + console.log(o); | |
127 | + if (o.data.code == 0) { | |
128 | + var arr = o.data.data.pageData; | |
129 | + console.log(arr); | |
130 | + arr.forEach(function(item,index){ | |
131 | + arr[index].code = item.shipping_code; arr[index].name = item.shipping_name; | |
132 | + }) | |
133 | + th.globalData.wuliu = arr, "function" == typeof t && t(arr); | |
134 | + } | |
135 | + } | |
136 | + }); | |
137 | + }, | |
138 | + | |
139 | + //----------------获取物流价格表-------------------- | |
140 | + getwuliuprice: function (t, o) { | |
141 | + var e = this,th=e, st = this.globalData.setting; | |
142 | + this.globalData.wuliuprice && !o ? | |
143 | + "function" == typeof t && t(this.globalData.wuliuprice) : a.get("/api/weshop/shippingarea/list",{ | |
144 | + data: { store_id: st.stoid,pageSize: 600 }, | |
145 | + success: function (o) { | |
146 | + console.log('getwuliuprice'); | |
147 | + console.log(o); | |
148 | + if (o.data.code == 0) { | |
149 | + var arr=o.data.data.pageData; | |
150 | + console.log(arr); | |
151 | + if (arr.length>0){ | |
152 | + for (var i = 0; i < arr.length;i++){ | |
153 | + arr[i].code = arr[i].shipping_code; | |
154 | + if (arr[i].json_config != "" && arr[i].json_config != undefined && arr[i].json_config != null ) | |
155 | + arr[i].config = JSON.parse(arr[i].json_config); | |
156 | + } | |
157 | + } | |
158 | + th.globalData.wuliuprice = o.data.data, "function" == typeof t && t(e.globalData.wuliuprice); | |
159 | + } | |
160 | + } | |
161 | + }); | |
162 | + }, | |
163 | + //----------------设置立即购买数组-------------------- | |
164 | + set_b_now: function (d) { this.globalData.buy_now=d;}, | |
165 | + get_b_now: function () {return this.globalData.buy_now}, | |
166 | + | |
167 | + getPrevPageData: function(t) { | |
168 | + void 0 === t && (t = 1); | |
169 | + var o = getCurrentPages(); | |
170 | + return o[o.length - t - 1].data; | |
171 | + }, | |
172 | + showLoading: function(t, o) { | |
173 | + void 0 === o && (o = 1500), wx.showToast({ | |
174 | + title: "加载中", | |
175 | + icon: "loading", | |
176 | + duration: o, | |
177 | + mask: !0, | |
178 | + complete: function() { | |
179 | + "function" == typeof t && setTimeout(t, o); | |
180 | + } | |
181 | + }); | |
182 | + }, | |
183 | + showSuccess: function(t, o, a) { | |
184 | + void 0 === a && (a = 1e3), wx.showToast({ | |
185 | + title: t, | |
186 | + icon: "success", | |
187 | + duration: a, | |
188 | + mask: !0, | |
189 | + complete: function() { | |
190 | + "function" == typeof o && setTimeout(o, a); | |
191 | + } | |
192 | + }); | |
193 | + }, | |
194 | + showWarning: function(t, o, a, e) { | |
195 | + //var imghost=this.globalData.setting.imghost; | |
196 | + !a && (a = 1500), void 0 === e && (e = !0), wx.showToast({ | |
197 | + title: t, | |
198 | + mask: e, | |
199 | + duration: a, | |
200 | + image:"/images/gt.png", | |
201 | + complete: function() { | |
202 | + "function" == typeof o && setTimeout(o, a); | |
203 | + } | |
204 | + }); | |
205 | + }, | |
206 | + | |
207 | + confirmBox: function(t, o) { | |
208 | + wx.showModal({ | |
209 | + title: t, | |
210 | + showCancel: !1, | |
211 | + complete: function() { | |
212 | + "function" == typeof o && o(); | |
213 | + } | |
214 | + }); | |
215 | + }, | |
216 | + | |
217 | + //----------获取所有的门店------------ | |
218 | + get_allsto(func){ | |
219 | + var th=this; | |
220 | + if (this.globalData.picklist!=null){ | |
221 | + "function" == typeof func && func(th.globalData.picklist); | |
222 | + }else{ | |
223 | + th.request.get("/api/weshop/pickup/page", { | |
224 | + data: { store_id: th.globalData.setting.stoid, pageSize: 600 }, | |
225 | + success: function (da) { | |
226 | + //设置门店 | |
227 | + //th.setData({ allsto: da.data.data.pageData }); | |
228 | + th.globalData.picklist = da.data.data.pageData; | |
229 | + "function" == typeof func && func(th.globalData.picklist); | |
230 | + } | |
231 | + }) | |
232 | + } | |
233 | + }, | |
234 | + | |
235 | + //同步化,在调用的时候要await | |
236 | + async get_isbuy() { | |
237 | + | |
238 | + var th=this; | |
239 | + await api.check_isbuy({ store_id: t.stoid, type: 5 }).then(res=>{ | |
240 | + var o=res; | |
241 | + if (o.data.code == 0) { | |
242 | + var ob = { isout: 0, isbuy: 1 }; | |
243 | + var arr = o.data.data.pageData; | |
244 | + var isbuy = 0; | |
245 | + //----如果数组不为空---- | |
246 | + if (arr.length > 0) { | |
247 | + arr.forEach(function (val, ind) { | |
248 | + if (val.is_sy == 0 && val.type == 5) { | |
249 | + isbuy = 1; | |
250 | + var now = ut.gettimestamp(); | |
251 | + if (now > val.end_time) ob.isout = 1; | |
252 | + return false; | |
253 | + } | |
254 | + }) | |
255 | + } | |
256 | + ob.isbuy = isbuy; | |
257 | + th.globalData.wxapp_buy_obj=ob; | |
258 | + } | |
259 | + }) | |
260 | + }, | |
261 | + | |
262 | + //--同步化,在调用的时候要await,获取商家config-- | |
263 | + async getConfig_ays(){ | |
264 | + if(this.globalData.config!=null) return false; | |
265 | + var th=this; | |
266 | + await api.get_config(this.globalData.setting.stoid).then(res=>{ | |
267 | + var o=res; | |
268 | + if(o.data.code==0){ | |
269 | + th.globalData.config = o.data.data; | |
270 | + } | |
271 | + }) | |
272 | + }, | |
273 | + | |
274 | + //----智能跳转,判断 非tabBar,tabBar页面的跳转---- | |
275 | + goto:function (url) { | |
276 | + var arr_tabbar=["/pages/index/index/index","/pages/goods/categoryList/categoryList", | |
277 | + "/pages/cart/cart/cart","/pages/user/index/index"]; | |
278 | + if(arr_tabbar.indexOf(url)!=-1){ | |
279 | + wx.switchTab({ url: url, }) //跳到tabbar页 | |
280 | + }else{ | |
281 | + wx.navigateTo({ url: url, }) //跳到非tabbar页 | |
282 | + } | |
283 | + }, | |
284 | + | |
285 | + //显示提示,word提示内容,type 0失败,提示 1成功 | |
286 | + my_warnning(word,type,that){ | |
287 | + var warn = that.selectComponent("#warn"); //组件的id | |
288 | + warn.open(word,type); | |
289 | + return 1; | |
290 | + } | |
291 | + | |
292 | +}); | ... | ... |
app.json
0 → 100644
1 | +{ | |
2 | + "pages": [ | |
3 | + "pages/index/index/index", | |
4 | + "pages/goods/categoryList/categoryList", | |
5 | + "pages/cart/cart/cart", | |
6 | + "pages/cart/cart2/cart2", | |
7 | + "pages/cart/cart4/cart4", | |
8 | + "pages/goods/goodsInfo/goodsInfo", | |
9 | + "pages/goods/goodsList/goodsList", | |
10 | + "pages/goods/search/search", | |
11 | + "pages/order/refund_order/refund_order", | |
12 | + "pages/payment/payment/payment", | |
13 | + "pages/user/index/index", | |
14 | + "pages/user/order_list/order_list", | |
15 | + "pages/user/order_detail/order_detail", | |
16 | + "pages/user/visit_log/visit_log", | |
17 | + "pages/user/address_list/address_list", | |
18 | + "pages/user/userinfo/userinfo", | |
19 | + "pages/user/account/account", | |
20 | + "pages/user/comment/comment", | |
21 | + "pages/user/return_goods_list/return_goods_list", | |
22 | + "pages/user/userinfo_edit/userinfo_edit", | |
23 | + "pages/user/collect_list/collect_list", | |
24 | + "pages/user/coupon/coupon", | |
25 | + "pages/user/checkcoupon/checkcoupon", | |
26 | + "pages/user/add_address/add_address", | |
27 | + "pages/user/account_list/account_list", | |
28 | + "pages/user/points_list/points_list", | |
29 | + "pages/user/recharge_list/recharge_list", | |
30 | + "pages/user/withdrawals_list/withdrawals_list", | |
31 | + "pages/user/add_comment/add_comment", | |
32 | + "pages/user/return_goods_info/return_goods_info", | |
33 | + "pages/user/return_goods/return_goods", | |
34 | + "pages/user/withdrawals/withdrawals", | |
35 | + "pages/user/recharge/recharge", | |
36 | + "pages/user/message_notice/message_notice", | |
37 | + "pages/user/express/express", | |
38 | + "pages/user/binding_info/binding_info", | |
39 | + "pages/user/get_user_info/get_user_info", | |
40 | + "pages/activity/seckill_list/seckill_list", | |
41 | + "pages/activity/pind_list/pind_list", | |
42 | + "pages/togoin/togoin", | |
43 | + "pages/getphone/getphone", | |
44 | + "pages/team/team_success/team_success", | |
45 | + "pages/team/team_show/team_show", | |
46 | + "pages/team/team_ping/team_ping", | |
47 | + "pages/cart/cart2_pt/cart2_pt", | |
48 | + "pages/cart/cart_wk/cart_wk", | |
49 | + | |
50 | + "pages/user/member/menber", | |
51 | + "pages/user/member/bring/bring", | |
52 | + "pages/user/member/bring/msg/msg", | |
53 | + "pages/user/member/account/account", | |
54 | + "pages/user/member/account_unable/account_unable", | |
55 | + "pages/user/member/cash_record/cash_record", | |
56 | + "pages/user/deposit/deposit", | |
57 | + "pages/user/deposit/prepaid/prepaid", | |
58 | + "pages/user/deposit/prepaid/msg/msg", | |
59 | + "pages/user/coupons/coupons", | |
60 | + "pages/user/coupons/qr_code/qr_code", | |
61 | + "pages/user/coupons/query/index", | |
62 | + "pages/user/coupons/exchange/exchange", | |
63 | + "pages/user/integral/integral", | |
64 | + "pages/user/integral/query/index", | |
65 | + "pages/user/integral/msg/msg", | |
66 | + | |
67 | + "pages/user/userqy/userqy", | |
68 | + "pages/user/user_spsy/user_spsy", | |
69 | + "pages/user/user_fw/user_fw", | |
70 | + "pages/user/user_coupon/user_coupon", | |
71 | + "pages/user/grow_value/grow_value" | |
72 | + | |
73 | + ], | |
74 | + "window": { | |
75 | + "backgroundTextStyle": "light", | |
76 | + "navigationBarTextStyle": "black", | |
77 | + "navigationBarTitleText": "加载中...", | |
78 | + "navigationBarBackgroundColor": "#ffffff", | |
79 | + "backgroundColor": "#eeeeee", | |
80 | + "enablePullDownRefresh": true | |
81 | + }, | |
82 | + "tabBar": { | |
83 | + "color": "#6e6d6b", | |
84 | + "selectedColor": "#f23030", | |
85 | + "borderStyle": "white", | |
86 | + "backgroundColor": "#ffffff", | |
87 | + "list": [ | |
88 | + { | |
89 | + "pagePath": "pages/index/index/index", | |
90 | + "text": "首页", | |
91 | + "iconPath": "images/bar/index.png", | |
92 | + "selectedIconPath": "images/bar/index_on.png" | |
93 | + }, | |
94 | + { | |
95 | + "pagePath": "pages/goods/categoryList/categoryList", | |
96 | + "text": "分类", | |
97 | + "iconPath": "images/bar/fl.png", | |
98 | + "selectedIconPath": "images/bar/fl_on.png" | |
99 | + }, | |
100 | + { | |
101 | + "pagePath": "pages/cart/cart/cart", | |
102 | + "text": "购物车", | |
103 | + "iconPath": "images/bar/car.png", | |
104 | + "selectedIconPath": "images/bar/car_on.png" | |
105 | + }, | |
106 | + { | |
107 | + "pagePath": "pages/user/index/index", | |
108 | + "text": "我的", | |
109 | + "iconPath": "images/bar/user.png", | |
110 | + "selectedIconPath": "images/bar/user_on.png" | |
111 | + } | |
112 | + ] | |
113 | + }, | |
114 | + "debug": false, | |
115 | + "sitemapLocation": "sitemap.json" | |
116 | +} | |
0 | 117 | \ No newline at end of file | ... | ... |
app.wxss
0 → 100644
1 | + | |
2 | +.flex { | |
3 | + display: flex; | |
4 | +} | |
5 | +.flex_auto { | |
6 | + flex: 1; | |
7 | +} | |
8 | +.container { | |
9 | + /*font-family: "iconfont" !important; */ | |
10 | + display: flex; flex-direction: column; | |
11 | + justify-content: space-between; | |
12 | + box-sizing: border-box; | |
13 | +} | |
14 | +page { | |
15 | + /*background-color: #f2f2f2;*/ | |
16 | +} | |
17 | +button { | |
18 | + border-radius: 0; padding-left: 0; | |
19 | + padding-right: 0; background-color: transparent; | |
20 | + font-size: 28rpx; | |
21 | +} | |
22 | +.wh100 { | |
23 | + width: 100%; | |
24 | + height: 100%; | |
25 | +} | |
26 | +.ellipsis-1 { | |
27 | + overflow: hidden; | |
28 | + white-space: nowrap; | |
29 | + text-overflow: ellipsis; | |
30 | +} | |
31 | +.ellipsis-2 { | |
32 | + overflow: hidden; | |
33 | + text-overflow: ellipsis; | |
34 | + display: -webkit-box; | |
35 | + -webkit-box-orient: vertical; | |
36 | + -webkit-line-clamp: 2; | |
37 | +} | |
38 | +.ellipsis-3 { | |
39 | + overflow: hidden; | |
40 | + text-overflow: ellipsis; | |
41 | + display: -webkit-box; | |
42 | + -webkit-box-orient: vertical; | |
43 | + -webkit-line-clamp: 3; | |
44 | +} | |
45 | +.pd-bg-fff { | |
46 | + padding: 0 30rpx; | |
47 | + background-color: #fff; | |
48 | + font-size: 32rpx; | |
49 | +} | |
50 | +.co-red { | |
51 | + color: #f23030; | |
52 | +} | |
53 | +.hide { | |
54 | + display: none; | |
55 | +} | |
56 | +.t-c { | |
57 | + text-align: center; | |
58 | +} | |
59 | +.cover-layer { | |
60 | + position: fixed; | |
61 | + left: 0; | |
62 | + top: 0; | |
63 | + right: 0; | |
64 | + bottom: 0; | |
65 | + z-index: 11; | |
66 | + background: rgba(0,0,0,0.4); | |
67 | + width: 100%; | |
68 | + height: 100%; | |
69 | +} | |
70 | +.modal-close { | |
71 | + position: absolute; | |
72 | + right: 25rpx; | |
73 | + top: 25rpx; | |
74 | +} | |
75 | +.no-data { | |
76 | + width: 100%; | |
77 | + text-align: center; | |
78 | +} | |
79 | +.no-data .no-data-title { | |
80 | + color: #9b9b9b; | |
81 | + margin-bottom: 30rpx; | |
82 | + font-size: 35rpx; | |
83 | +} | |
84 | +.no-data .cart-image { | |
85 | + width: 140px; | |
86 | + height: 140px; | |
87 | + margin-top: 100rpx; | |
88 | +} | |
89 | +.no-data .lookat { | |
90 | + padding: 16rpx 40rpx; | |
91 | + background-color: white; | |
92 | + display: inline; | |
93 | + margin: 0 auto; | |
94 | +} | |
95 | +.big{font-size:32rpx;} | |
96 | +.one-level-word{ | |
97 | + font-size: 60rpx; | |
98 | +} | |
99 | +.two-level-word{ | |
100 | + font-size:40rpx; | |
101 | +} | |
102 | +.three-level-word{ | |
103 | + font-size:28rpx; | |
104 | +} | |
105 | +.four-level-word{ | |
106 | + font-size:24rpx; | |
107 | +} | |
108 | +.five-level-word{ | |
109 | + font-size:20rpx; | |
110 | +} | |
111 | +/* 圆 */ | |
112 | +.circle{ | |
113 | + border-radius: 50%; | |
114 | + -moz-border-radius: 50%; | |
115 | + -webkit-border-radius: 50%; | |
116 | +} | |
117 | +/* 水平垂直 */ | |
118 | +.flex-center{ | |
119 | +display:flex; | |
120 | +justify-content:center; | |
121 | +align-items:center; | |
122 | +} | |
123 | +/* 水平居中 */ | |
124 | +.flex-level{ | |
125 | + display:flex; | |
126 | +justify-content:center; | |
127 | +} | |
128 | +/* 垂直居中 */ | |
129 | +.flex-vertical{ | |
130 | + display:flex; | |
131 | +align-items:center; | |
132 | +} | |
133 | +/* 水平左垂直对齐 */ | |
134 | +.flex-left-center{ | |
135 | + display:flex; | |
136 | +justify-content:flex-start; | |
137 | +align-items:center; | |
138 | +} | |
139 | +/* 水平左对齐 */ | |
140 | +.flex-level-left{ | |
141 | + display:flex; | |
142 | +justify-content:flex-start; | |
143 | +} | |
144 | +/* 水平右对齐 */ | |
145 | +.flex-level-right{ | |
146 | + display:flex; | |
147 | +justify-content:flex-end; | |
148 | +} | |
149 | + | |
150 | +/* 水平右对垂直对齐 */ | |
151 | +.flex-right-vertical{ | |
152 | + display:flex; | |
153 | +justify-content:flex-end; | |
154 | +align-items:center; | |
155 | +} | |
156 | +/* 水平两端等距离*/ | |
157 | +.flex-equality{ | |
158 | + display:flex; | |
159 | +justify-content:space-around; | |
160 | +} | |
161 | +/* 相对定位 */ | |
162 | +.rel{ | |
163 | + position: relative; | |
164 | + | |
165 | +} | |
166 | +/* 相对定位 */ | |
167 | +.abs{ | |
168 | + position: absolute; | |
169 | +} | |
170 | +/* 隐藏溢出 */ | |
171 | +.hidden{ | |
172 | +overflow: hidden; | |
173 | +} | |
174 | +/*内容溢出滑动 */ | |
175 | +.slide{ | |
176 | +overflow:auto; | |
177 | +} | |
178 | +/* 处于底部 */ | |
179 | +.fixed{ | |
180 | +position:fixed; | |
181 | + bottom:0; | |
182 | +} | |
183 | +/* 中间等距两边贴边 */ | |
184 | +.flex-space-between{ | |
185 | + display: flex; | |
186 | + justify-content:space-between; | |
187 | +} | |
188 | + | |
189 | + | |
190 | +/* 垂直居中 中间等距两边贴边 7.13*/ | |
191 | +.flex-vertical-between{ | |
192 | + display:flex; | |
193 | +align-items:center; | |
194 | +justify-content:space-between; | |
195 | +} | |
196 | +/* 垂直居中 各项周围留有空白 */ | |
197 | +.flex-center-around{ | |
198 | + display:flex; | |
199 | +align-items:center; | |
200 | +justify-content:space-around; | |
201 | +} | |
202 | +/* 右向箭头 */ | |
203 | +.bg_right{ | |
204 | + border-top: 2rpx solid ; | |
205 | + border-right: 2rpx solid ; | |
206 | + transform: rotate(45deg); | |
207 | + display:inline-block; | |
208 | + width:18rpx;height:18rpx;border-color:#da0b31;margin-top:6rpx; | |
209 | + | |
210 | +} | |
211 | +/*********************** 7.15 */ | |
212 | +/* 左向箭头 */ | |
213 | +.bg_left{ | |
214 | + border-top: 2rpx solid ; | |
215 | + border-right: 2rpx solid ; | |
216 | + transform: rotate(225deg); | |
217 | + display:inline-block; | |
218 | + | |
219 | +} | |
220 | + | |
221 | +/* 文字中间加线条 */ | |
222 | +.word-line{ | |
223 | + text-decoration:line-through; | |
224 | +} | |
225 | + | |
226 | +.t-r{ | |
227 | + text-align: right; | |
228 | +} | |
229 | +.t-l{ | |
230 | + text-align: right; | |
231 | +} | |
232 | +.white{ | |
233 | + color: #fff; | |
234 | +} | |
235 | +.img_gray{ | |
236 | + -webkit-filter: grayscale(1);/* Webkit */ | |
237 | + filter:gray;/* IE6-9 */ | |
238 | + filter: grayscale(1);/* W3C */ | |
239 | +} | |
240 | +.ib{ | |
241 | + display:inline-block; | |
242 | +} | |
243 | + | |
244 | +@font-face { | |
245 | + font-family: '思源黑体'; | |
246 | + src: url(data:application/font-woff2;charset=utf-8;base64,d09GMgABAAAAAAyEABAAAAAAGSAAAAwoAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cGh4GVgCCSggEEQgKniiXCAtwAAE2AiQDdgQgBYVNB4QwFyQYdhv0EyNSs7oj+6sE7pD8K97BB076ZgsFAjQ8WpcHaLuZ+OiuO+X4eiaRKxjl9+UsfzVo5Cr1IqMs0zIcN2E7exs4BonVchjfndUBAAf/h6dt/lO4FavGbNrgRELFGhUW6RF2YUQi2rhIFxXOv5Zf7X6HQTe/Jf4ga9v9ooDSiDMILJLE8ihqt/fTeIBZRgFTUzdBfs7GGBdTwpFm0FqqHyYMDh+MjpKJMQsX2N3fAN+FCHWEibDsw20dsMu5r3DE2tezsxWmqod51QkXLhkUKZb3A9MBUB/8LaPDg+fT8qV/gpeKCDl6mQrExCxQJvUwAOlf8AYsoFrVMwDa/U9L32AqKUBBa5zCu+CBthxaeQDIh/7QQ/JY1QylsSYYoPVaD8g5Vihi8QZj4gOY8Sqn/sjfhoDf/B2+UO4GBUgwM3aDYt85hJM5VJ0L2ZT/T7lmO05lrAXM/uighyPUkwSUWmih7NxJK7ZeWZFbqsNV4rlSsIwJw86FQs9CGHG/KHIu6N9NRMJe4sKxYa9OA3t35t6FrtKzm3Rv6TlGOnUPuAs7nNGdw65iZ5ehvbq7wb17s1hnErHcOYliPi5HD7kk68VXxGKlzaMew+NrU65KW5MaGbNZn35+yq0ZNZrSVlyQ8br0Ek9USYGKhnMizpIJzjpEyl4Rc7XSs4Q0Fp7daTwxObGinBbDem2S2OxosBGcrm/jkvm+lay4BrPlsBw4yIdiJEzjoDKn4qfK1c3+NckzGyWOy1xN2EMV9x0sSkYtqkO56vPrZg90+BN1P5qm9tSByUpzR8M8d+gTjSqSbG1UiPgY2MfZkOd25SorttJRXFZVlM0L192YLH621X2T5LG33ntoke4K9XvffXJk0XtnI+qMyJwRBTI1R2ZDDCi4a3dMKlf6qXJ/c3BNjsguqfiiNEs1v/da31eupzbs4GqWcDqkLLWqFF+cKC9PLkm5wslVWT++J46dLuq71I+VJm1TQsf7mnHEYX+jWcpIfTzp6TG1KU64Z1nqtKNEaWr8WB7CLYK4Wh+YBhVX398yTKCiYqJY6ek7Yb7fmJAEnOwrl7qJrs1cW5/I+6asF+naIbuwCW9dBghYsWYqzRBx6ubTWxFZq4+4GFlV8SGMKVv3jqdED1OXn2NjCLLMeYqgplGpM7gXinWj8l62qM46Ime+ar2LGne33Yn6YcynVzH5Tala2yylkrczcljiCldjHCcx9Uq53tyxZMVKUQZHbaaXzwXzGdGuwijkHao/54MNVX5zL5GsVd/b0qDQ+OGkCKtmtblWWTLZDNZJMO5kxyFmaKbUisM/7KhGi3usCmZch92KKslLvVK7kJYMA540rkM6tstuUNGjJUWvgpVsUNxhas8jVZqSkCSkJC8SA3ovka0DL6QwcGMHZli2fdhD0nUvdouzXqxr83K3YtplOAUmcfDlHpW7xtDh9XYOBxwYal5r/tLlnvxe0I/KnxMuf4UI1+Uot2WbWwC5NenbMLRG+hn4+7OvpUmSUlHuDgkwicmxOd1pltvm0cosOjvOEFE8V3KmpSQmmVvObl0AxI+SDbqB8VtPDh+6szjTKJcGx8dkt8wc95haaCxLkYIV243rN64dOnLj1tUWUu2c9YDX3Iy1FrjZ3qEMreFReKRZCpideP6DuwUUgRwQPmInCSfm7j+RP3m8v1UhD+bFFXQeOtY/YD3RFYJg7737kIQGTRtMu00Lt4UbbxvBKvJS3hLlPcoxmGRwxwO1vjCzPTb7A1iuN+9fRwPKBvehh3pjN2wm3Y/eOXnk0K+AZgufbyGDO22CM7P+RgT9xC+j8WCXwEZd9F49A0XPnrXiz1kjZyGomrMIbDaa4hdNP7RqX/GJMBs9ld8dGupgnwEUu5wj1xYtY9cXjxy+/ij4cpuyQwPjCzW1loWBfstRe8s+gLG9HjarsjIsmT3TZH1fbSXnWGVkUycgL2Uu9LCMXXLX+A7M0UczsmVjZlp2eBpf2o6hZlsJhIma8VODLbyY/YOWU8CH/Uns+Tiq7cfdt6R5aWmY36UBB76ycApZBQC/dEHWn11xLC8n8d96SoyiIIEOcyP2YauCMGFlbz0lbbqsLqU8RBpfKNRHhjoew+etVAaKHFPl4OX8ZnIqefM8eL0cflmEKxEx1Y4wVeUoZAbCi3YZPt9QVahFTIUN4MXOZbpl9jDVSoBwoZYvzLO07cvg6xvL9HSr9/g2HtqrE6uss8IN1keBs51QXeDDTCt8ZTl6+IstDKwW7ZT12+AX4OXfpW9VkS1LFffR1AuNS8wVzb/F7M7lk2TOTfSjwBh2W/DK8/9HGDUfUFildHR0XqZVTEv/D/IEX3q8V3uBvNr9/boVMuDGxMspr7baTY1qNdGj41U4hh7JUwgJaA4qLzGDk54QFkfm4WFNZvLslU1jcQC/sL3ebMlXJzLRCA4Lf26vyxWklVX03fWUMVNTSuuNGkUZIs8SA6jFfn6wKpfP/SI+UqKvNSE6U5VBxY+7lygqqQFzLDmvIL91oK7aYs4LFjttQanewFj8KlbnXV1OVbJSKSZJmSlJlfXgh0LlvDmnoLE+f5f7Uzt1bekzHiUxObyscv8QPG1R6JFEYWU6IEauxtzFHp6h/0T46bP42WTABDpch+QgAvDbAWccaxQywiHMQPRvImF5hgz3j02Yf+YJiw1yeK2rV2xphz45lBE/nmGqauCfNdVI+fQImYDOkAki6D4tBAOsRaq4ZF+mW3QD8Q+BP+iJhT+yK8lQZiYpdHoJzJnpJskD6rrB3s8gAn3H5l78d7v3fIf/bs9u0PVTAjPMoMou5ES5c55GiVl87kbfo3WO/4I+C0tloHDUqIfP3zKZT/a0tPYAzJekf6pK83DLGLEzceYkC6T2IkAClFahrfHJKMhQn12UwBwhixcjQpTdqGWmTaJmNwC27cSvFthnK4wXFiXhHFEUN44sC+jrBgZZmR4y1U4PktMGa02FaZdLqh+WmMjNmB6C1d+gCKuYqDyuqqSyx9QwNpabrGQA5tet5CRmUmpxnVFP/uURMZj+xu4BSq8WZOa39jZWTYzlKJLoaA0Odes3Y0a5QqkUkcVMRVJFPZD3JKJrUX5MU8I+GmTfndihnY0FgP1LakIHRxjq58ULTt/zlKClZfL1Ibnuma85YQgvmuTDOOZX6qhmw4wSqX4AjD3YOxkwhV51JcG8i7DLSUDnCaPYe1b4zsJ0eTYYlWuR/POLEpgriuLEkpMI0ibqTgJaDp5/viOiNWbYx3AAcmI7CVtj4E92gC5nd0TkCNIdFBIIK8LmCph5glOuGWi9s1KfKQg7sSMhg9HujOggV729IQLkS72u/sdU1x97OA7JQ3iKOvo11DtbWBkdHHIkFMJ5rusA62nshXaPR0tyR21I04a/Heh97FBC7rvQqLchv5YNg3+G9N4yEC659NwaJ4DT7RbswOTwk6vR+JO4sAr6IgpH2ZMiJ8oJkYq6VfTv1mVnEYD9yR+DuCXKTeG/rqGjvnrHdZbr/1o/j0IyOoLQCkCYpDuuVQVJzdrvXbJMJ+AaRo8KPOsBf/eBlYZ5erwuICJFC7vZjCS2vQ5fueO1K7y9Xnk/oQIF+NKPRvTrSfY1C8DOuuMHC/FVZSL8J8KfEv2Pt/42IWs2QHFDnTSAJYKcGiOXwSAZosQepYvLoy2IeIwhfR5LeqM3MGSUUDytgmOJAR5liNOjnWPIYyxpo8fq1S+CsgdLIZKjSD4tRCy1bCL3zgUicQXaGekZFKJMyJTbq6aB5AaMtMCHCS2x6mzRpb0gkhv4JxoV+O+jE9QghUYtkF+nee8qObIZ88/Op4dwoXHS2tuMGmy0YGqyTgSbhX1KQv4aReArytcjLppLmunEaHWfliywz9W+eTKT8xOIfAWMi1PvQi2IJt+h/PmKyyFUKqd8862I3tbZCIhKkSZDlgJqoZAKxCQUkaNO1Jm6oBhOkBTNsBwviBKpTK5QqtQarU5vMJrMFqvN7nC63HtPGaODk/ShoGFg4eAREJEAFFQ0dPfQ6BsAAAAAAACoLhKgoGFg4eAREJEAFFQ0dPeIrhIKGgYWDh4BcW4i0276/0dv2eG5zuNGQKQ0HE3FBzHbD2xs1NUA9g4qrGZ9/2XlUJn/FYvByLE5/qvM4VJIyovZgwgA) format('woff2'), | |
247 | + url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAABG4ABAAAAAAGSQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAROAAAABoAAAAciFVS40dERUYAABEcAAAAHAAAAB4AJwA9T1MvMgAAAeAAAABFAAAAVlTqX05jbWFwAAACnAAAAEkAAAFK/5AC8mN2dCAAAALoAAAABAAAAAQAIQJ5Z2FzcAAAERQAAAAIAAAACP//AANnbHlmAAADXAAAC8YAAA8sJSI70mhlYWQAAAFsAAAAMQAAADYV5G7paGhlYQAAAaAAAAAeAAAAJAdCAvBobXR4AAACKAAAAHQAAAB2IGYVs2xvY2EAAALsAAAAcAAAAHBhyGU2bWF4cAAAAcAAAAAfAAAAIAB8AHJuYW1lAAAPJAAAARMAAALN3HocAHBvc3QAABA4AAAA2QAAAjCvKG2+dmhlYQAAEVQAAAAiAAAAJARSEfh2bXR4AAAReAAAAD4AAAB2FfsVTHjaY2BkYGAA4gupsbPi+W2+MtgzvwCKMNyMmPoWTiv+Z2bez6wO5HIwMIFEAW2dDHcAAAB42mNgZGBgVv/PzBDF/IIBCJj3MzAyoAIWAFKLAzoAAHjaY2BkYGAwZ3BkYGYAASYgZmQAiTkw6IEEAA+KAO8AeNpjYGR+wXCCgZWBgamLaQ8DA0MPhGZ8wGDIyAQUZWBmZkAHAiAiIM01hYHhv+L/KGaF/xYMUSyKjJpAYUaQHAAhqgvjAAAAeNoNibsJwlAAAO8UghKtJAMoghtolRHSx8INHMgRdAMby/RpkoCQ1OKnsLIIou/gmjv3zAmYwfDGkZ6Suws3nGmM1IEpJ64cjINTOgoaLqyoqGmNHRvR8nbJx8SEp2sn7JyFO6IzV76hvNjy40H/BxLFHDR42mNgYGBmgGAZBkYGEHAB8hjBfBYGDSDNBqQZGZj+W/2P+v+fgeG/4n9HIP2I4Q5UPRAwsjHAOYxMQIKJARUwMgx7AACiEAt8AAAAACECeQAAACoAKgAqAEwAfgCgAL4A1gDsARQBLAFCAVoBdgGGAbQB1AH6AhoCTgJyAq4CwALkAwIDNgNgA34DlAPGA/QEFgREBG4EkAToBQgFJgVQBWoFhAWwBdAF8AYcBkoGZgaYBrwG3Ab4By4HWAeAB5Z42l1XCVRTZxZ+970ssgkhhChLQhIgCAgkLyFKAmETcGOVssoqIBVFUCuOoqhoxa0dpdqy6Ii41Q5WTlvtmdZqa8cz1lLtZofWOqfbKGpnbO1x5ig/c/+XgHY4Jzk5j/9+97v3fvfe/zEso2EYCGe7GI6RMlGngYm2DUpFzD3jaYn4G9sgx+JP5jRHH4vp40GpBB7bBoE+52UamZ6X6TTgcuvSJbZrtFbDFjIMyxxnGM7ADiOiJ8No9BqpDngX0OhD9TqJlL1fQd6sSABtKuhICESaS0QiacGDB+zwaCjotv/sKv8RzZlH+KVHjMmMkgliGF7GG30VPlKFChQ+Eh3HG2PNptAIkI3/eHR32/Nrc4tf7PnwlXXL6p/rf3Nby9qO0+zwM6Vrg8XupRmNNdCdmDbbPtqRUZKZzuAfMFfHHnBR7E+MD8OESHTaULMpljcqpaE6rcTLlzdauKj6zt6Lf+3bUhQ8d9m2w4e2rFlYUjd08tVPCvQZr5NvBgsw1hHkOR15TmK8JlhKdHqk5YWsRi6cf//9cx0b+48eObKRHT7/6msXTScg9LDgH7Q0ULR1wyzJNIrxD2jhGnkWsshpOMwOm8l/zORjMz1vwfOT8LzL0+fBgqeXQA45Rc/eMpPjQmxnx37lVBjbVGdsXhOhKXwwtliLWWfWcKqSA/1/GzrWUR6cvWLXyaO7LbWBl0GUljcEhR8X6eec2tt5OmDK1zziXUff3g6uGCVWHguP39etcNFmIzZ2mHwA8VjBerJfiE2CQvjOGZsZz5o1Cp2MV4Dk6lX45upVE9tkNo++YBLOwtgD9gSedUeumDyt3oIMzTKePbG4YcfsKFtdV/zlylWN6qJjrCs9zyKXNMd5yoOn6tKBVAGsVQT7M8gvYJpFbv8ZOS2DPeRfxAJ/Ovkb2sWjHaCd2GGHmY63wTYUXrHAgzmB/7fj//2EGOW+Sj4BLHIaqMmik3I6Tq/zVchO5LwVqRR5RLi8lRM3SZx2JuZsqliCvkqfjVU1+EI/JmFIf7ifFMPR/pJGYnRobRixvRBbJmCDkg810xSCADkcD+XVYulMO+mrFlEst87q5+B1RPqtc3camYs6exm1mo31dGUUCOfjlGuQr1ioJrZAkITLPt/TfeECxF4Y3XqgbWNvLyG90PjaJ5+8dvLKlZOdg4OdewcGsCyANeF8kIsr4y1kQtBsBEwFRKK9BG7X93f3vnhoz8bW1q272OHKpUuWkitQlzmQyjAClxyuCLkoaGeKlZSLPgqE7qFIUmQU4uSEYuPmu4cn17+g3TVwobvrwsBO6xEDGWo7QNn1NhhlRXPdr/RRgoeuuDcefOMl5Lj3pTeoH/BAnmFCnbFDNTpOh5Xgg6gHDkkjvo4LS/v+bNx9mNJc85/jt1atgNnkDDv8wTM17lBAPu+ZnyLk/lvsBQ/kGzahLxU4khYNUdxTXa/wUbFqUAHn0bl2oDk0pj29bGXW/PUa0wz1jqW7K4ILVuYu9jeFqVsXlL1d0Lg8PCp2nt1qD4h29wu3heTXFYXNTZ0RGK3xdotSFaHfD5G/VpiDtF/NQrd+Qf7NLsTPUZNptJj2FXKjtaBV5WU+k1mdNoql0nDUlf3KFrOgyhpXmRdlXV9d04baSM1rSVapklvy4B2S0b5qVbsQ47voKwJxMGca4OUqcIoX4HNy297rZvURy2d6dseTO1SqAUeNMb16qlVqq0fb99A2ALXJCbqPRUsBg/5A4QuTm7v9vn1JmI9IH7DZusUjykXsErXUem7Wy94BIrXXPoQtPpC9uwKOkuLIfpXuIziK+v1n0qJlFjLV0QNfOHXni37kHK+kjuzAc3Idygc9eMIXj++mdIQFioIDtibdIWm73c0eosCo3bAGKq/ZplnDr5Fe0jEsz5RHZgw7ML9ETJmwJzDHwCsF0ggKMvhyjEncKErxEaUpN8aPMRACb96UrAlqnn6TzCVfo+0NJx+cp7wZaIFAo7gBN0g6KyVaGAlmN5l0o60moWdwRv2d1SJ3NarIFGtBvUj1CUAlL9MheWwCC62ZxTwZG+jd6+wr1dV+4esT62oNYq55yfwlcdnWqqXnerYWLZQfSgtXxTSXkYHM4nlzTIbSw15zqA8X7HE3zh83ib+zx/U6KZ2aUtpZ4Gx09Mu5dTdXFouk0VauadGadWRm4cLSNeU1hcvAZ3Nvcizn/2Nd7l4ynNxeX/WHfMeukSD//7Ia2knB/7cLLLSDQXKsdXmOem5+3aa2xRU5gcWr2zqA3ZelT22rqV0/J2wB9v2NsV/Zm8hPRpXyZGP6KvV0wutDBDAZxWWPFK1o3t7bFJtvFFljpKR5eUl5RUFpcWtK9kub1nertZVfPf4x5VLt+nzgk9vpTLmPsTPIz5tuLLlzlEg1KnDQC7VoaOSS+8caV2zliIHd9Gm2b+madcdt0LO4KLcVXNd1tzcrfarWxIbH7+8rq12CMQdjfYM5PY0ZaLiBwCvoDNGZLQJxLlhmTdv/yy8zDh6srcnhpJH+fXYDCYAfIsW22uU0bxzzcIzjlFh3PWNkEhlGiZU3Y9jCF00jIgobX6vHZFrBsf61od7OUuFDbnxCRwAeehgTbklOXFsQHTTclbi60GrgW3bWlR7Y0LrlTFtBoT2xcFp9dc365FntxqDcGnWKn9jPaokSWfJyGzyiTVm59X7a0IyZiXMacqAtx56Qm5tgJ6sNtizTNJ1LJK0zzhGhRo7J7lCOgm4w5CKVgcLKNjQUl1tf4Itmcv7/aKmoqyMnYX7fdJ40CTOX2ldxgDvS0zm1ZKxQZxoZ60cegV0Wo1bHqOEHw+gddo96ylS1euoUYS/cHROz1WjrSWsIaDmxzGPNstgJFPCGpMqV82cp4lMXpIRTsCAKdmlxY3BUUE4mO3lgAhQglt55MJ4nu14q13G462PjOIhJ/ehu0lAH5z96Hqyfk3Pgt/1FtHFHrT9EGw/KAiepU+JmGbg/bopOkOUb+9hb/OjmFr/IoEE2WZgjC9HPHlYnzEAZjzMEa4sfIXW05RwplMoWGiTcouq2aSsr37KmpOfVWrfnV7G+ueUNDUM0kbnZFaQJ81khpBO5yDEx3yKuox4C7jgmrYc8ZhLbWP+2bdZsU2EcxRFQ8rLG64E9hzMB+8KF3hxEEzkU0U2tlfiw9SN9fSN9ZMc7LS3vtLjv37Bx376NG2o2XG5ruyzUc9KYnHNB/8JMETsZOBWrVEx9MlRgkkHKNVesbu1ZXlIBJcULV5fVLLjHcclZf9zQ3pOUfJPtIFeSN9fXrRZ4fTsmZ29O4Nrhyf2Zt/AyeGoU9LGiqobm7Qcby0pwYhFbQ1l5RX5Z8bp7lxfn7tnS2pPIPx6Fh/VrF4ApWdhlQF8iHmLMns6c0SkrzCtMWKFRzEW0zYs3yIzGnYtYxabkeb68Tz8567xH/oR2eCsJsTgD04/PKOe8UzpeILQA6rKd8/Oyl1xdWmdp0qsya7LSTq2paqnrTJ82b2Z4qMXPWB2fExwYFmcKS4xQpVsTCwSdjGI9WPYU3dchOEhw0yjoXp+Yo6HQc/CQ1ABKcjsxNzXdMyf32aLL4Bcp7uoykO9ysv0ighoZQaO/sp+xvlQXIYI2nRvfQm+FerZrUfNZ66wMU0lsnEFcVDsE+WQwL9Noga2jI0WUxz3M0SO0p33BPbWr4bOfEra7TnMTq9Xbrd+zvuTslPqp6XmQMToi8EdjbjfaqX5vN3HZxWUv7GIpB15nEpZLAyXiAO+mpGZ3rUgaJF068/TcBpcgqVgrq0fsAf9y3wU2yCUDwQ1TKqZA7ugIJAXUKhfz5AL6GkOOt9EX7nsN3ffju5ku/FBh3zNj195LqnKb7iqWzCi3n/80uUFhFs+YXAdKZqzd0zrZJXszeUx+3qVKzfTZJfC/M+bFjjowxePTxQ7cUzce1iN9R3DgZN/A6hmyx/a9IuNksWvYpE3WhEF3g8vzUWwgedulKcCvXg7piIfvmexdVvH7O8AjfG14Gf5CGqE3CC4agojNwPwPaZrdmwAAeNq9kDFuwjAYhZ9DQKragYnZF3CUZEFFHaBIiIGyRGIPkZVEQg5yjNQLdO7Wc/QYPUAP1Gfw1oEBiUiOP/1+7/n3D+AJXxDwn4DEa+AIY3wEHuBFjAPHkOIz8BCP4ifwCDKaUCniB1bmZ5fniJlV4AHeedeFY8zFW+AhJuI78Ij1XxTocIKlU2ONEoYV/++xxBYKG7So0cCRFzjgSC6xp9rxpAKK7mQrvS5NUZp+uVWbtm6cWhyOTbnXrqXiasR/y4pdGR773dKs+bYcCVLuM65bu76k5MxTmHJ5yvDMizvjVp2ttcyTVM7ktddRkqdqqvI0o/sOw9xRbBnYnick2bWfCnba9m1nZJak92jjDx4YiQQAeNptj7dOQ0EUBXceweScc87BfjY2r9y7mJ7PoKHj+wHBuONKq2lWMzqpSr/39Zbq9N8Nfh6pomKMcSaYpMUU08wwyxzzLLDIEsussMoa62ywyRbb7LDLHvsccMgRx5xwyhnnXHDJFdfccMsd9zzwSJsONV16PLU+P96H/aYtO7KWXdmTo/99OZDPspFZhizyRQ7l6x+z/Ww/28/2s/1sP9vP9rP9bD/0hb7QF/pCX+gLfaEv9MXI555wT7gn3BPuCfcU+8V+sV/sF/vFfrFf7Bf7pfkGzMB9lwAAAAAAAAH//wACeNpjYGRgYOABYjEgZmJgBEIzIGYB8xgABfAAZXjaY2BgYGQAgqtL1DlA9M2IqW9hNABC6QcQAAB42mNgFGBgPP2PhyGK+cV/ZgYGZnUGBgZGBmTAAgB2EQReAAB42mN+wdDGwMCswPwChBncgNAKTCJoNyS+FRbxfwysDP9B+P9PMFseCFmB8C8Q/oeS/xkKGbngkBsAS/IYXAAA) format('woff'); | |
248 | + font-weight: 300; | |
249 | + font-style: normal; | |
250 | +} | |
251 | + | |
252 | +.fs20{ | |
253 | + font-size: 20rpx; | |
254 | +} | |
255 | +.fs22{ | |
256 | + font-size: 22rpx; | |
257 | +} | |
258 | +.fs24{ | |
259 | + font-size: 24rpx; | |
260 | +} | |
261 | +.fs26{ | |
262 | + font-size: 26rpx; | |
263 | +} | |
264 | +.fs28{ | |
265 | + font-size: 28rpx; | |
266 | +} | |
267 | + | |
268 | +.fs30{ | |
269 | + font-size:30rpx; | |
270 | +} | |
271 | +.fs32{ | |
272 | + font-size:32rpx; | |
273 | +} | |
274 | +.fs35{ | |
275 | + font-size:35rpx; | |
276 | +} | |
277 | +.fs45{ | |
278 | + font-size: 45rpx; | |
279 | +} | |
280 | +.fs50{ | |
281 | + font-size: 50rpx; | |
282 | +} | |
283 | +.fs60{ font-size:60rpx;} | |
284 | + | |
285 | +/* 7.26 */ | |
286 | +.xc-wc{ | |
287 | + color: #e4374d; | |
288 | +} | |
289 | +.oh{ | |
290 | + overflow: hidden; | |
291 | +} | |
292 | + | |
293 | +.xc-ash{ | |
294 | +color: #b9b9b9; | |
295 | +} | |
296 | +.xc-black{ | |
297 | + color: #000; | |
298 | +} | |
299 | + | |
300 | + | |
301 | + | ... | ... |
components/diy_advertising/diy_advertising.js
0 → 100644
1 | +Component({ | |
2 | + properties: { | |
3 | + // 这里定义了innerText属性,属性值可以在组件使用时指定 | |
4 | + object:{ | |
5 | + type:Object, | |
6 | + value:null | |
7 | + }, | |
8 | + | |
9 | + }, | |
10 | + data: { | |
11 | + // 这里是一些组件内部数据 | |
12 | + yc:false, | |
13 | + btn: 1, | |
14 | + ad:false, | |
15 | + autoplay:false, | |
16 | + interval:5000, | |
17 | + duration:1000, | |
18 | + someData: {} | |
19 | + }, | |
20 | + methods: { | |
21 | + customMethod: function () { }, | |
22 | + //---智能跳转--- | |
23 | + go_url:function(e){ | |
24 | + var url=e.currentTarget.dataset.url; | |
25 | + getApp().goto(url); | |
26 | + } | |
27 | + } | |
28 | +}) | |
0 | 29 | \ No newline at end of file | ... | ... |
components/diy_advertising/diy_advertising.json
0 → 100644
components/diy_advertising/diy_advertising.wxml
0 → 100644
1 | +<!--pages/diy_gk/diy_gk.wxml--> | |
2 | +<!--上下两块--> | |
3 | +<block wx:if='{{object.style==0}}'> | |
4 | +<view class="zwp_s1"> | |
5 | + <block wx:for="{{object.data}}" wx:key="{{index}}"> | |
6 | + <view class='s1'> | |
7 | + <view class='s1_gk'> | |
8 | + <block wx:if="{{item.src==''}}"> | |
9 | + <text>建议宽度640</text> | |
10 | + </block> | |
11 | + <block wx:if="{{item.src!=''}}"> | |
12 | + <view data-url="{{item.wxapp_imgurl}}" class="s1_gk_a1" bindtap="go_url"> | |
13 | + <image src="{{item.src}}" mode="widthFix"> | |
14 | + </image> | |
15 | + </view> | |
16 | + </block> | |
17 | + </view> | |
18 | + | |
19 | + </view> | |
20 | + </block> | |
21 | +</view> | |
22 | +</block> | |
23 | +<view class="clear"></view> | |
24 | +<!--一张图片--> | |
25 | +<view class='s2' wx:if='{{object.style==1}}'> | |
26 | + | |
27 | + <block wx:for="{{object.data}}" wx:key="{{index}}"> | |
28 | + <view class="s2_w"> | |
29 | + <view class='s2_gk'> | |
30 | + <block wx:if="{{item.src==''}}"> | |
31 | + <text>建议宽度640</text> | |
32 | + </block> | |
33 | + <block wx:if="{{item.src!=''}}"> | |
34 | + <view data-url="{{item.wxapp_imgurl}}" class="s1_gk_a1" bindtap="go_url"> | |
35 | + <image src="{{item.src}}" mode="widthFix"> | |
36 | + </image> | |
37 | + </view> | |
38 | + </block> | |
39 | + | |
40 | + </view> | |
41 | + </view> | |
42 | + </block> | |
43 | + | |
44 | +</view> | |
45 | +<view class="clear"></view> | |
46 | +<!--左右两块--> | |
47 | +<view> | |
48 | + <block wx:if='{{object.style==2}}'> | |
49 | + | |
50 | + <block wx:for="{{object.data}}" wx:key="{{index}}"> | |
51 | + <view class='s3'> | |
52 | + | |
53 | + <view class='s3_gk'> | |
54 | + <block wx:if="{{item.src==''}}"> | |
55 | + <text>300*300</text> | |
56 | + </block> | |
57 | + <block wx:if="{{item.src!=''}}"> | |
58 | + <view data-url="{{item.wxapp_imgurl}}" class="s1_gk_a1" bindtap="go_url"> | |
59 | + <image src="{{item.src}}" mode="widthFix"></image> | |
60 | + </view> | |
61 | + </block> | |
62 | + </view> | |
63 | + </view> | |
64 | + </block> | |
65 | + | |
66 | + </block> | |
67 | +</view> | |
68 | +<view class="clear"></view> | |
69 | +<!--2行三列--> | |
70 | +<view class='s4' wx:if='{{object.style==3}}'> | |
71 | + | |
72 | + <block wx:for="{{object.data}}" wx:key="{{index}}"> | |
73 | + | |
74 | + <view class='s4_gk'> | |
75 | + <block wx:if="{{item.src==''}}"> | |
76 | + <text>200*200</text> | |
77 | + </block> | |
78 | + <block wx:if="{{item.src!=''}}"> | |
79 | + <view data-url="{{item.wxapp_imgurl}}" class="s1_gk_a1" bindtap="go_url"> | |
80 | + <image src="{{item.src}}" ></image> | |
81 | + </view> | |
82 | + </block> | |
83 | + </view> | |
84 | + </block> | |
85 | +</view> | |
86 | +<view class="clear"></view> | |
87 | + | |
88 | + | |
89 | + | |
90 | +<!--第5 3个图 --> | |
91 | +<view class='s5' wx:if='{{object.style==5}}'> | |
92 | + | |
93 | + <view class='s5_gk'> | |
94 | + <block wx:if="{{object.data[0].src==''}}"> | |
95 | + <text>300*300</text> | |
96 | + </block> | |
97 | + <block wx:if="{{object.data[0].src!=''}}"> | |
98 | + <view data-url="{{object.data[0].wxapp_imgurl}}" class="s1_gk_a1" bindtap="go_url"> | |
99 | + <image src="{{object.data[0].src}}"></image> | |
100 | + </view> | |
101 | + </block> | |
102 | + </view> | |
103 | + | |
104 | + <view class='s5_g5'> | |
105 | + <view class='s5_g5_1'> | |
106 | + <block wx:if="{{object.data[1].src==''}}"> | |
107 | + <text>300*150</text> | |
108 | + </block> | |
109 | + <block wx:if="{{object.data[1].src!=''}}"> | |
110 | + <view data-url="{{object.data[1].wxapp_imgurl}}" class="s1_gk_a1" bindtap="go_url"> | |
111 | + <image src="{{object.data[1].src}}"></image> | |
112 | + </view> | |
113 | + </block> | |
114 | + </view> | |
115 | + <view class='s5_g5_2'> | |
116 | + <block wx:if="{{object.data[2].src==''}}"> | |
117 | + <text>300*150</text> | |
118 | + </block> | |
119 | + <block wx:if="{{object.data[2].src!=''}}"> | |
120 | + <view data-url="{{object.data[2].wxapp_imgurl}}" open-type="switchTab" class="s1_gk_a1" bindtap="go_url"> | |
121 | + <image src="{{object.data[2].src}}"></image> | |
122 | + </view> | |
123 | + </block> | |
124 | + </view> | |
125 | + </view> | |
126 | + | |
127 | +</view> | |
128 | + | |
129 | +<!--第6 4个图第1个--> | |
130 | +<view class='s6' wx:if='{{object.style==6}}'> | |
131 | + <view class='s6_gk6'> | |
132 | + <view class='s6_gk6_1'> | |
133 | + <block wx:if="{{object.data[0].src==''}}"> | |
134 | + <text>200*200</text> | |
135 | + </block> | |
136 | + <block wx:if="{{object.data[0].src!=''}}"> | |
137 | + <view data-url="{{object.data[0].wxapp_imgurl}}" class="s1_gk_a1" bindtap="go_url"> | |
138 | + <image src="{{object.data[0].src}}"></image> | |
139 | + </view> | |
140 | + </block> | |
141 | + </view> | |
142 | + <view class='s6_gk6_2' style='margin-right:8rpx'> | |
143 | + <block wx:if="{{object.data[1].src==''}}"> | |
144 | + <text>400*200</text> | |
145 | + </block> | |
146 | + <block wx:if="{{object.data[1].src!=''}}"> | |
147 | + <view data-url="{{object.data[1].wxapp_imgurl}}" class="s1_gk_a1" bindtap="go_url"> | |
148 | + <image src="{{object.data[1].src}}"></image> | |
149 | + </view> | |
150 | + </block> | |
151 | + </view> | |
152 | + </view> | |
153 | + <!-- 2 --> | |
154 | + <view class='s6_gk6'> | |
155 | + <view class='s6_gk6_2'> | |
156 | + <block wx:if="{{object.data[2].src==''}}"> | |
157 | + <text>400*200</text> | |
158 | + </block> | |
159 | + <block wx:if="{{object.data[2].src!=''}}"> | |
160 | + <view data-url="{{object.data[2].wxapp_imgurl}}" class="s1_gk_a1" bindtap="go_url"> | |
161 | + <image src="{{object.data[2].src}}"></image> | |
162 | + </view> | |
163 | + </block> | |
164 | + </view> | |
165 | + <view class='s6_gk6_1' style='margin-right:8rpx'> | |
166 | + <block wx:if="{{object.data[3].src==''}}"> | |
167 | + <text>200*200</text> | |
168 | + </block> | |
169 | + <block wx:if="{{object.data[3].src!=''}}"> | |
170 | + <view data-url="{{object.data[3].wxapp_imgurl}}" class="s1_gk_a1" bindtap="go_url"> | |
171 | + <image src="{{object.data[3].src}}"></image> | |
172 | + </view> | |
173 | + </block> | |
174 | + </view> | |
175 | + </view> | |
176 | +</view> | |
177 | + | |
178 | +<!--第7 4个图第2个--> | |
179 | +<view class='s7' wx:if='{{object.style==7}}'> | |
180 | + | |
181 | + <view class='s7_gk7'> | |
182 | + <view class='s7_gk7_1'> | |
183 | + <block wx:if="{{object.data[0].src==''}}"> | |
184 | + <text>300*150</text> | |
185 | + </block> | |
186 | + <block wx:if="{{object.data[0].src!=''}}"> | |
187 | + <view data-url="{{object.data[0].wxapp_imgurl}}" class="s1_gk_a1" bindtap="go_url"> | |
188 | + <image src="{{object.data[0].src}}"></image> | |
189 | + </view> | |
190 | + </block> | |
191 | + </view> | |
192 | + <view class='s7_gk7_2'> | |
193 | + | |
194 | + <block wx:if="{{object.data[1].src==''}}"> | |
195 | + <text>300*300</text> | |
196 | + </block> | |
197 | + <block wx:if="{{object.data[1].src!=''}}"> | |
198 | + <view data-url="{{object.data[1].wxapp_imgurl}}" class="s1_gk_a1" bindtap="go_url"> | |
199 | + <image src="{{object.data[1].src}}"></image> | |
200 | + </view> | |
201 | + </block> | |
202 | + | |
203 | + </view> | |
204 | + </view> | |
205 | + <!-- 2 --> | |
206 | + <view class='s7_gk7'> | |
207 | + <view class='s7_gk7_2'> | |
208 | + <block wx:if="{{object.data[1].src==''}}"> | |
209 | + <text>300*300</text> | |
210 | + </block> | |
211 | + <block wx:if="{{object.data[2].src!=''}}"> | |
212 | + <view data-url="{{object.data[2].wxapp_imgurl}}" class="s1_gk_a1" bindtap="go_url"> | |
213 | + <image src="{{object.data[2].src}}"> | |
214 | + </image> | |
215 | + </view> | |
216 | + </block> | |
217 | + </view> | |
218 | + <view class='s7_gk7_1'> | |
219 | + <block wx:if="{{object.data[3].src==''}}"> | |
220 | + <text>300*150</text> | |
221 | + </block> | |
222 | + <block wx:if="{{object.data[3].src!=''}}"> | |
223 | + <view data-url="{{object.data[3].wxapp_imgurl}}" class="s1_gk_a1" bindtap="go_url"> | |
224 | + <image src="{{object.data[3].src}}"> | |
225 | + </image> | |
226 | + </view> | |
227 | + </block> | |
228 | + </view> | |
229 | + </view> | |
230 | + | |
231 | +</view> | |
232 | + | |
233 | +<!--第8 5个图--> | |
234 | +<view class='s8' wx:if='{{object.style==8}}'> | |
235 | + | |
236 | + <!-- <block wx:for="{{object.data}}" > --> | |
237 | + <!-- <view class='s8_gk8'> | |
238 | + | |
239 | + <view class='s8_gk1'> | |
240 | + | |
241 | + <block wx:if="{{object.data[0].src==''}}"> | |
242 | + <text>200*200</text> | |
243 | + </block> | |
244 | + <block wx:if="{{object.data[0].src!=''}}"> | |
245 | + <view data-url="{{object.data[0].wxapp_imgurl}}" class="s1_gk_a1" bindtap="go_url"> | |
246 | + <image src="{{object.data[0].src}}"> | |
247 | + </image> | |
248 | + </view> | |
249 | + </block> | |
250 | + </view> | |
251 | + <view class='s8_gk1'> | |
252 | + <block wx:if="{{object.data[1].src==''}}"> | |
253 | + <text>200*200</text> | |
254 | + </block> | |
255 | + <block wx:if="{{object.data[1].src!=''}}"> | |
256 | + <view data-url="{{object.data[1].wxapp_imgurl}}" class="s1_gk_a1" bindtap="go_url"> | |
257 | + <image src="{{object.data[1].src}}" mode="widthFix"> | |
258 | + </image> | |
259 | + </view> | |
260 | + </block> | |
261 | + </view> | |
262 | + </view> --> | |
263 | + | |
264 | + | |
265 | + | |
266 | + | |
267 | + | |
268 | + | |
269 | + <view class='s8_gk8'> | |
270 | + <view class='s8_gk1'> | |
271 | + <block wx:if="{{object.data[0].src==''}}"> | |
272 | + <text>200*200</text> | |
273 | + </block> | |
274 | + <block wx:if="{{object.data[0].src!=''}}"> | |
275 | + <view data-url="{{object.data[0].wxapp_imgurl}}" class="s1_gk_a1" bindtap="go_url"> | |
276 | + <image src="{{object.data[0].src}}" > | |
277 | + </image> | |
278 | + </view> | |
279 | + </block> | |
280 | + </view> | |
281 | + <view class='s8_gk1'> | |
282 | + <block wx:if="{{object.data[1].src==''}}"> | |
283 | + <text>200*200</text> | |
284 | + </block> | |
285 | + <block wx:if="{{object.data[1].src!=''}}"> | |
286 | + <view data-url="{{object.data[1].wxapp_imgurl}}" class="s1_gk_a1" bindtap="go_url"> | |
287 | + <image src="{{object.data[1].src}}" > | |
288 | + </image> | |
289 | + </view> | |
290 | + </block> | |
291 | + </view> | |
292 | + </view> | |
293 | + | |
294 | + <!-- 2 --> | |
295 | + <view class='s8_gk8'> | |
296 | + <view class='s8_gk1'> | |
297 | + <block wx:if="{{object.data[2].src==''}}"> | |
298 | + <text>200*200</text> | |
299 | + </block> | |
300 | + <block wx:if="{{object.data[2].src!=''}}"> | |
301 | + <view data-url="{{object.data[2].wxapp_imgurl}}" class="s1_gk_a1" bindtap="go_url"> | |
302 | + <image src="{{object.data[2].src}}" > | |
303 | + </image> | |
304 | + </view> | |
305 | + </block> | |
306 | + </view> | |
307 | + <view class='s8_gk1'> | |
308 | + <block wx:if="{{object.data[3].src==''}}"> | |
309 | + <text>200*200</text> | |
310 | + </block> | |
311 | + <block wx:if="{{object.data[3].src!=''}}"> | |
312 | + <view data-url="{{object.data[3].wxapp_imgurl}}" class="s1_gk_a1" bindtap="go_url"> | |
313 | + <image src="{{object.data[3].src}}" > | |
314 | + </image> | |
315 | + </view> | |
316 | + </block> | |
317 | + </view> | |
318 | + </view> | |
319 | + | |
320 | + <!-- 3 --> | |
321 | + <view class='s8_gk8'> | |
322 | + <view class='s8_gk2'> | |
323 | + | |
324 | + <block wx:if="{{object.data[4].src==''}}"> | |
325 | + <text>200*420</text> | |
326 | + </block> | |
327 | + <block wx:if="{{object.data[4].src!=''}}"> | |
328 | + <view data-url="{{object.data[4].wxapp_imgurl}}" class="s1_gk_a1" bindtap="go_url"> | |
329 | + <image src="{{object.data[4].src}}" style='height:492rpx'> | |
330 | + </image> | |
331 | + </view> | |
332 | + </block> | |
333 | + </view> | |
334 | + </view> | |
335 | + <!--</block>--> | |
336 | + | |
337 | +</view> | |
338 | + | |
339 | +<!--幻灯片--> | |
340 | +<block wx:if='{{object.style==4}}'> | |
341 | + <swiper class="swiper" indicator-dots="true" autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}"> | |
342 | + <block wx:for="{{object.data}}" wx:for-index="index" > | |
343 | + <block wx:if="{{item.src!=''}}"> | |
344 | + <view data-url="{{item.wxapp_imgurl}}" class="s1_gk_a1" bindtap="go_url"> | |
345 | + <swiper-item> | |
346 | + <image src="{{item.src}}" class="slide-image" mode="aspectFill" /> | |
347 | + </swiper-item> | |
348 | + </view> | |
349 | + </block> | |
350 | + <block wx:if="{{item.src==''}}"> | |
351 | + <view url="{{item.wxapp_imgurl}}" class="s1_gk_a1" bindtap="go_url"> | |
352 | + <swiper-item> | |
353 | + <image src="" class="slide-image" mode="aspectFill" /> | |
354 | + </swiper-item> | |
355 | + </view> | |
356 | + </block> | |
357 | + </block> | |
358 | + </swiper> | |
359 | + | |
360 | +</block> | |
0 | 361 | \ No newline at end of file | ... | ... |
components/diy_advertising/diy_advertising.wxss
0 → 100644
1 | +/* pages/diy_gk/diy_gk.wxss */ | |
2 | + | |
3 | +.s1_gk { | |
4 | + /* background-color: rgb(129, 213, 249); */ | |
5 | + width: 100%; | |
6 | + color: #fff; | |
7 | + font-size: 32rpx; | |
8 | + min-height: 300rpx; | |
9 | + line-height: 300rpx; | |
10 | + text-align: center; | |
11 | +} | |
12 | + | |
13 | +.s1_gk image { | |
14 | + width: 100%; | |
15 | + height: 100%; | |
16 | + vertical-align: top; | |
17 | + padding: 0rpx; | |
18 | + margin: 0rpx; | |
19 | +} | |
20 | + | |
21 | +.s1 { | |
22 | + width: 100%; | |
23 | + display: flex; | |
24 | +} | |
25 | + | |
26 | +.s2_w { | |
27 | + width: 100%; | |
28 | + height: 100%; | |
29 | + display: flex; | |
30 | +} | |
31 | + | |
32 | +.s3_gk image { | |
33 | + width: 100%; | |
34 | + height: 100%; | |
35 | + vertical-align: top; | |
36 | + padding: 0rpx; | |
37 | + margin: 0rpx; | |
38 | +} | |
39 | + | |
40 | +.s5_gk image { | |
41 | + width: 100%; | |
42 | + height: 100%; | |
43 | + vertical-align: top; | |
44 | + padding: 0rpx; | |
45 | + margin: 0rpx; | |
46 | +} | |
47 | + | |
48 | +.s5_g5_1 image { | |
49 | + width: 100%; | |
50 | + height: 100%; | |
51 | + vertical-align: top; | |
52 | + padding: 0rpx; | |
53 | + margin: 0rpx; | |
54 | +} | |
55 | + | |
56 | +.s6 image { | |
57 | + width: 100%; | |
58 | + height: 100%; | |
59 | + vertical-align: top; | |
60 | + padding: 0rpx; | |
61 | + margin: 0rpx; | |
62 | +} | |
63 | + | |
64 | +.s8_gk8 image { | |
65 | + width: 100%; | |
66 | + height: 240rpx; | |
67 | + vertical-align: top; | |
68 | + padding: 0rpx; | |
69 | + margin: 0rpx; | |
70 | +} | |
71 | + | |
72 | +.s7_gk7 image { | |
73 | + width: 100%; | |
74 | + height: 100%; | |
75 | + vertical-align: top; | |
76 | + padding: 0rpx; | |
77 | + margin: 0rpx; | |
78 | +} | |
79 | + | |
80 | +.s5_g5_2 image { | |
81 | + width: 100%; | |
82 | + height: 100%; | |
83 | + vertical-align: top; | |
84 | + padding: 0rpx; | |
85 | + margin: 0rpx; | |
86 | +} | |
87 | + | |
88 | +.s4_gk image { | |
89 | + width: 100%; | |
90 | + height: 100%; | |
91 | + vertical-align: top; | |
92 | + padding: 0rpx; | |
93 | + margin: 0rpx; | |
94 | +} | |
95 | + | |
96 | +.s1_gk1 { | |
97 | + /* background-color: rgb(255, 129, 149); */ | |
98 | + width: 100%; | |
99 | + color: #fff; | |
100 | + font-size: 32rpx; | |
101 | + min-height: 300rpx; | |
102 | + line-height: 300rpx; | |
103 | + text-align: center; | |
104 | +} | |
105 | + | |
106 | +.s2_gk { | |
107 | + /* background-color: rgb(129, 213, 249); */ | |
108 | + width: 98%; | |
109 | + color: #fff; | |
110 | + font-size: 32rpx; | |
111 | + min-height: 300rpx; | |
112 | + line-height: 300rpx; | |
113 | + text-align: center; | |
114 | + margin: 8rpx; | |
115 | +} | |
116 | + | |
117 | +.s2_gk image { | |
118 | + width: 100%; | |
119 | + height: 100%; | |
120 | + vertical-align: top; | |
121 | + padding: 0rpx; | |
122 | + margin: 0rpx; | |
123 | +} | |
124 | + | |
125 | +.s2_gk1 { | |
126 | + /* background-color: rgb(255, 129, 149); */ | |
127 | + width: 97%; | |
128 | + color: #fff; | |
129 | + font-size: 32rpx; | |
130 | + min-height: 300rpx; | |
131 | + line-height: 300rpx; | |
132 | + text-align: center; | |
133 | + margin: 10rpx; | |
134 | +} | |
135 | + | |
136 | +.s3 { | |
137 | + width: 101%; | |
138 | + /* min-height: 20rpx; */ | |
139 | +} | |
140 | + | |
141 | +.s3_gk { | |
142 | + /* background-color: rgb(129, 213, 249); */ | |
143 | + width: 48%; | |
144 | + color: #fff; | |
145 | + font-size: 32rpx; | |
146 | + line-height: 300rpx; | |
147 | + text-align: center; | |
148 | + float: left; | |
149 | + margin-left: 8rpx; | |
150 | + margin-bottom: 8rpx; | |
151 | +} | |
152 | + | |
153 | +.s3_gk1 { | |
154 | + /* background-color: rgb(255, 129, 149); */ | |
155 | + width: 48%; | |
156 | + color: #fff; | |
157 | + font-size: 32rpx; | |
158 | + line-height: 300rpx; | |
159 | + text-align: center; | |
160 | + float: left; | |
161 | + margin-left: 10rpx; | |
162 | +} | |
163 | + | |
164 | +.s4_gk { | |
165 | + /* background-color: rgb(129, 213, 249); */ | |
166 | + width: 32%; | |
167 | + color: #fff; | |
168 | + font-size: 32rpx; | |
169 | + height: 240rpx; | |
170 | + text-align: center; | |
171 | + margin-left: 1%; | |
172 | + float: left; | |
173 | + margin-bottom: 8rpx; | |
174 | +} | |
175 | + | |
176 | +.s4_gk1 { | |
177 | + /* background-color: rgb(255, 129, 149); */ | |
178 | + width: 30%; | |
179 | + color: #fff; | |
180 | + font-size: 32rpx; | |
181 | + line-height: 200rpx; | |
182 | + text-align: center; | |
183 | + margin: 6rpx; | |
184 | + float: left; | |
185 | +} | |
186 | + | |
187 | +.s5 { | |
188 | + display: flex; | |
189 | + margin: 0px; | |
190 | + margin-bottom: 8rpx; | |
191 | +} | |
192 | + | |
193 | +.s5_gk { | |
194 | + /* background-color: rgb(129, 213, 249); */ | |
195 | + width: 366rpx; | |
196 | + height: 390rpx; | |
197 | + color: #fff; | |
198 | + font-size: 32rpx; | |
199 | + text-align: center; | |
200 | + flex: 1; | |
201 | + margin-left: 6rpx; | |
202 | +} | |
203 | + | |
204 | +.s5_g5 { | |
205 | + flex: 1; | |
206 | + /* background-color: white; */ | |
207 | + width: 366rpx; | |
208 | + height: 390rpx; | |
209 | + margin: 0 6rpx; | |
210 | +} | |
211 | + | |
212 | +.s5_g5_1 { | |
213 | + width: 100%; | |
214 | + height: 192rpx; | |
215 | + margin-bottom: 6rpx; | |
216 | + line-height: 150rpx; | |
217 | + text-align: center; | |
218 | + color: #fff; | |
219 | + font-size: 32rpx; | |
220 | +} | |
221 | + | |
222 | +.s5_g5_2 { | |
223 | + width: 100%; | |
224 | + height: 192rpx; | |
225 | + line-height: 150rpx; | |
226 | + text-align: center; | |
227 | + color: #fff; | |
228 | + font-size: 32rpx; | |
229 | +} | |
230 | + | |
231 | +.s6 { | |
232 | + width: 100%; | |
233 | + color: #fff; | |
234 | + font-size: 32rpx; | |
235 | + margin-bottom: 8rpx; | |
236 | +} | |
237 | + | |
238 | +.s6_gk6 { | |
239 | + width: 100%; | |
240 | + display: flex; | |
241 | + margin-top: 8rpx; | |
242 | +} | |
243 | + | |
244 | +.s6_gk6_1 { | |
245 | + width: 242rpx; | |
246 | + height: 242rpx; | |
247 | + margin-left: 8rpx; | |
248 | + text-align: center; | |
249 | +} | |
250 | + | |
251 | +.s6_gk6_2 { | |
252 | + width: 484rpx; | |
253 | + height: 242rpx; | |
254 | + text-align: center; | |
255 | + margin-left: 8rpx; | |
256 | +} | |
257 | + | |
258 | +.s7 { | |
259 | + width: 100%; | |
260 | + color: #fff; | |
261 | + font-size: 32rpx; | |
262 | + display: flex; | |
263 | +} | |
264 | + | |
265 | +.s7_gk7 { | |
266 | + width: 362rpx; | |
267 | + margin: 0 8rpx; | |
268 | + /* margin-top: 6rpx; */ | |
269 | +} | |
270 | + | |
271 | +.s7_gk7_1 { | |
272 | + width: 100%; | |
273 | + height: 181rpx; | |
274 | + /* background-color: #99cc66; */ | |
275 | + margin-right: 10rpx; | |
276 | + line-height: 150rpx; | |
277 | + text-align: center; | |
278 | + margin-bottom: 8rpx; | |
279 | +} | |
280 | + | |
281 | +.s7_gk7_2 { | |
282 | + width: 100%; | |
283 | + height: 362rpx; | |
284 | + /* background-color: #99cc66; */ | |
285 | + line-height: 300rpx; | |
286 | + text-align: center; | |
287 | + margin-right: 10rpx; | |
288 | + margin-bottom: 8rpx; | |
289 | +} | |
290 | + | |
291 | +.s8 { | |
292 | + width: 100%; | |
293 | + color: #fff; | |
294 | + font-size: 32rpx; | |
295 | + display: flex; | |
296 | +} | |
297 | + | |
298 | +.s8_gk8 { | |
299 | + flex: 1; | |
300 | + width: 30%; | |
301 | +} | |
302 | + | |
303 | +.s1_gk_a1 { | |
304 | + display: inline; | |
305 | + width: auto; | |
306 | + height: auto; | |
307 | +} | |
308 | + | |
309 | +.s8_gk1 { | |
310 | + /* background-color: rgb(255, 129, 149); */ | |
311 | + width: 96%; | |
312 | + color: #fff; | |
313 | + font-size: 32rpx; | |
314 | + line-height: 200rpx; | |
315 | + text-align: center; | |
316 | + margin: 6rpx; | |
317 | + margin-bottom: 10rpx; | |
318 | +} | |
319 | + | |
320 | +.s8_gk2 { | |
321 | + /* background-color: rgb(255, 129, 149); */ | |
322 | + width: 94%; | |
323 | + color: #fff; | |
324 | + font-size: 32rpx; | |
325 | + line-height: 496rpx; | |
326 | + text-align: center; | |
327 | + margin: 6rpx; | |
328 | +} | |
329 | + | |
330 | +/**index.wxss**/ | |
331 | + | |
332 | +.swiper { | |
333 | + height: 400rpx; | |
334 | + width: 98%; | |
335 | + padding:0 7rpx; | |
336 | + padding-bottom: 7rpx; | |
337 | + padding-top: 7rpx; | |
338 | + /* background-color: palevioletred; */ | |
339 | +} | |
340 | + | |
341 | +.swiper image { | |
342 | + height: 100%; | |
343 | + width: 100%; | |
344 | + margin: 0; | |
345 | +} | |
346 | + | |
347 | + | |
348 | +.zwp_s1{ | |
349 | + margin-bottom: 8rpx; | |
350 | +} | |
0 | 351 | \ No newline at end of file | ... | ... |
components/diy_assist/diy_assist.js
0 → 100644
1 | +Component({ | |
2 | + properties: { | |
3 | + object: { | |
4 | + type: Object, | |
5 | + value: null | |
6 | + }, | |
7 | + // 这里定义了innerText属性,属性值可以在组件使用时指定 | |
8 | + | |
9 | + }, | |
10 | + data: { | |
11 | + // 这里是一些组件内部数据 | |
12 | + someData: {} | |
13 | + }, | |
14 | + methods: { | |
15 | + // 这里是一个自定义方法 | |
16 | + customMethod() { } | |
17 | + } | |
18 | +}) | |
0 | 19 | \ No newline at end of file | ... | ... |
components/diy_assist/diy_assist.json
0 → 100644
components/diy_assist/diy_assist.wxml
0 → 100644
components/diy_assist/diy_assist.wxss
0 → 100644
components/diy_goodsGroup/diy_goodsGroup.js
0 → 100644
1 | +// var e = function(e) { | |
2 | +// return e && e.__esModule ? e : { | |
3 | +// default: e | |
4 | +// }; | |
5 | +// }(require("../../utils/LoadMore3.js")), | |
6 | +// n = new e.default(), | |
7 | +var t = getApp(), | |
8 | + a = t.request, | |
9 | + o = t.globalData.setting, | |
10 | + os = o, | |
11 | + i = require("../../utils/util.js"), | |
12 | + ut = i, | |
13 | + s = require("../../utils/common.js"); | |
14 | +var regeneratorRuntime = require('../../utils/runtime.js'); | |
15 | + | |
16 | +Component({ | |
17 | + properties: { | |
18 | + // 这里定义了innerText属性,属性值可以在组件使用时指定 | |
19 | + object: { | |
20 | + type: Object, | |
21 | + value: null, | |
22 | + }, | |
23 | + | |
24 | + }, | |
25 | + data: { | |
26 | + // 这里是一些组件内部数据 | |
27 | + group: false, | |
28 | + imghost: o.imghost, | |
29 | + is_recommend: 0, | |
30 | + is_hot: 0, | |
31 | + is_new: 0, | |
32 | + baseUrl: "/api/weshop/goods/page", | |
33 | + resourceUrl: t.globalData.setting.resourceUrl, | |
34 | + currentPage: 1, | |
35 | + requestData: null, | |
36 | + requestUrl: "", | |
37 | + goods_array: null, | |
38 | + total: null, | |
39 | + prom_id: 0, | |
40 | + classstyle_id: null, | |
41 | + g_id: null, | |
42 | + wgroup: null, | |
43 | + goods_btn: null, | |
44 | + loadText: '加载更多', | |
45 | + someData: {}, | |
46 | + goodscount: null, | |
47 | + firist_type_data: null, | |
48 | + firist_type_curr: 0, | |
49 | + }, | |
50 | + | |
51 | + ready: function () { | |
52 | + console.log("ready"); | |
53 | + this.data.classstyle_id = this.data.object.classstyle; | |
54 | + this.data.goodscount = this.data.object.goodscount; | |
55 | + console.log(this.data.classstyle_id); | |
56 | + this.data.wgroup = this.data.object.wgroup; | |
57 | + console.log(this.data.wgroup); | |
58 | + this.setData({ | |
59 | + classstyle_id: this.data.object.classstyle | |
60 | + }) | |
61 | + if (this.data.object.goodsclass == 1) { | |
62 | + this.data.is_recommend = 1 | |
63 | + } | |
64 | + if (this.data.object.goodsclass == 2) { | |
65 | + this.data.is_hot = 1 | |
66 | + } | |
67 | + if (this.data.object.goodsclass == 3) { | |
68 | + this.data.is_new = 1 | |
69 | + } | |
70 | + this.data.requestData = new Array(); | |
71 | + this.data.g_id = this.data.object.data; | |
72 | + var arr = []; | |
73 | + | |
74 | + for (var i = 0; i < this.data.g_id.length; i += this.data.goodscount) { | |
75 | + arr.push(this.data.g_id.slice(i, i + this.data.goodscount)); | |
76 | + } | |
77 | + this.data.firist_type_data = arr; | |
78 | + console.log("firist_type_data"); | |
79 | + console.log(this.data.firist_type_data); | |
80 | + this.init(this.data.classstyle_id, this.data.wgroup); | |
81 | + | |
82 | + }, | |
83 | + methods: { | |
84 | + // 这里是一个自定义方法 | |
85 | + | |
86 | + init: function (classstyle_id, wgroup) { | |
87 | + var th = this; | |
88 | + var g_id = this.data.g_id; | |
89 | + if (classstyle_id == 1) { | |
90 | + //手动选择的时候 | |
91 | + g_id = this.data.firist_type_data[th.data.firist_type_curr]; | |
92 | + th.data.firist_type_curr++; | |
93 | + } | |
94 | + | |
95 | + var th = this, | |
96 | + app = getApp(), | |
97 | + index = 0, | |
98 | + gdata = []; | |
99 | + switch (classstyle_id) { | |
100 | + case "1": | |
101 | + g_id.forEach(function (val, ind) { | |
102 | + var item = {}; | |
103 | + var prom_id = null; | |
104 | + console.log(val.goodsid); | |
105 | + app.request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + val.goodsid, {}).then(res => { | |
106 | + //商品地址 | |
107 | + var goods = res.data.data; | |
108 | + th.setData({ | |
109 | + goods_btn: res.data.data | |
110 | + }) | |
111 | + | |
112 | + item.goods_name = goods.goods_name; | |
113 | + item.goods_img = th.data.imghost + goods.original_img; | |
114 | + item.market_price = goods.market_price; | |
115 | + item.shop_price = goods.shop_price; | |
116 | + item.sales_sum = goods.sales_sum; | |
117 | + item.goods_id = goods.goods_id; | |
118 | + prom_id = res.data.data.prom_id; | |
119 | + | |
120 | + var prom_type = res.data.data.prom_type; //0普通商品 1秒杀 6拼单 | |
121 | + | |
122 | + var url = ""; | |
123 | + if (prom_type == 1) { | |
124 | + url = "/api/weshop/teamlist/get/" + os.stoid + "/" + prom_id; | |
125 | + } else if (prom_type == 6) { | |
126 | + url = "/api/ms/flash_sale/get/" + os.stoid + "/" + prom_id; | |
127 | + } | |
128 | + return app.request.promiseGet(url, {}) | |
129 | + }).then(res => { | |
130 | + index++; | |
131 | + var prom = res.data.data; | |
132 | + if (prom != null) { | |
133 | + item.shop_price = res.data.data.price; | |
134 | + } | |
135 | + th.data.requestData.push(item); | |
136 | + th.setData({ | |
137 | + goods_array: th.data.requestData, | |
138 | + }); | |
139 | + | |
140 | + if (th.data.firist_type_curr == th.data.firist_type_data.length) { | |
141 | + th.setData({ | |
142 | + goods_btn: [] | |
143 | + }); | |
144 | + } | |
145 | + }) | |
146 | + }) | |
147 | + break; | |
148 | + case "2": | |
149 | + console.log(2222222222222222222); | |
150 | + var item = {}; | |
151 | + app.request.promiseGet("/api/weshop/goods/page", { | |
152 | + data: { | |
153 | + store_id: 1, | |
154 | + is_recommend: th.data.is_recommend, | |
155 | + is_hot: th.data.is_hot, | |
156 | + is_new: th.data.is_new, | |
157 | + pageSize: th.data.goodscount , | |
158 | + page: th.data.currentPage, | |
159 | + } | |
160 | + }).then(res => { | |
161 | + //商品地址 | |
162 | + var goods = res.data.data.pageData; | |
163 | + th.setData({ | |
164 | + goods_btn: res.data.data.pageData, | |
165 | + total: res.data.data.total | |
166 | + }) | |
167 | + console.log(66666666677777777777); | |
168 | + console.log(res.data.data.total); | |
169 | + console.log(res.data); | |
170 | + console.log(this.data.total); | |
171 | + th.data.currentPage++; | |
172 | + | |
173 | + goods.forEach(function (val, ind) { | |
174 | + var item = {}; | |
175 | + var prom_id = null; | |
176 | + console.log(val.goodsid); | |
177 | + app.request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + val.goods_id, {}).then(res => { | |
178 | + //商品地址 | |
179 | + var goods = res.data.data; | |
180 | + | |
181 | + item.goods_name = goods.goods_name; | |
182 | + item.goods_img = th.data.imghost + goods.original_img; | |
183 | + item.market_price = goods.market_price; | |
184 | + item.shop_price = goods.shop_price; | |
185 | + item.sales_sum = goods.sales_sum; | |
186 | + item.goods_id = goods.goods_id; | |
187 | + prom_id = res.data.data.prom_id; | |
188 | + | |
189 | + var prom_type = res.data.data.prom_type; //0普通商品 1秒杀 6拼单 | |
190 | + | |
191 | + var url = ""; | |
192 | + if (prom_type == 1) { | |
193 | + url = "/api/weshop/teamlist/get/" + os.stoid + "/" + prom_id; | |
194 | + } else if (prom_type == 6) { | |
195 | + url = "/api/ms/flash_sale/get/" + os.stoid + "/" + prom_id; | |
196 | + } | |
197 | + return app.request.promiseGet(url, {}) | |
198 | + }).then(res => { | |
199 | + var prom = res.data.data; | |
200 | + if (prom != null) { | |
201 | + item.shop_price = res.data.data.price; | |
202 | + } | |
203 | + th.data.requestData.push(item); | |
204 | + th.setData({ | |
205 | + goods_array: th.data.requestData, | |
206 | + page: th.data.currentPage-1, | |
207 | + }); | |
208 | + }) | |
209 | + }) | |
210 | + | |
211 | + }) | |
212 | + | |
213 | + break; | |
214 | + case "3": | |
215 | + var item = {}; | |
216 | + app.request.promiseGet("/api/weshop/goodsGroup/pageGoodsList", { | |
217 | + data: { | |
218 | + store_id: 1, | |
219 | + gpid: wgroup, | |
220 | + pageSize: th.data.goodscount, | |
221 | + page: th.data.currentPage, | |
222 | + } | |
223 | + }).then(res => { | |
224 | + //商品地址 | |
225 | + var goods = res.data.data.pageData; | |
226 | + console.log("333333333zwp" ); | |
227 | + console.log(res.data.data); | |
228 | + th.setData({ | |
229 | + goods_btn: res.data.data.pageData, | |
230 | + total: res.data.data.total | |
231 | + }) | |
232 | + console.log("goods_btn"); | |
233 | + console.log(th.data.goods_btn); | |
234 | + th.data.currentPage++; | |
235 | + goods.forEach(function (val, ind) { | |
236 | + var item = {}; | |
237 | + var prom_id = null; | |
238 | + console.log(val.goodsid); | |
239 | + app.request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + val.goods_id, {}).then(res => { | |
240 | + //商品地址 | |
241 | + var goods = res.data.data; | |
242 | + console.log("goods"); | |
243 | + console.log(goods); | |
244 | + // th.setData({ | |
245 | + // goods_btn: res.data.data | |
246 | + // }) | |
247 | + item.goods_name = goods.goods_name; | |
248 | + item.goods_img = th.data.imghost + goods.original_img; | |
249 | + item.market_price = goods.market_price; | |
250 | + item.shop_price = goods.shop_price; | |
251 | + item.sales_sum = goods.sales_sum; | |
252 | + item.goods_id = goods.goods_id; | |
253 | + prom_id = res.data.data.prom_id; | |
254 | + | |
255 | + var prom_type = res.data.data.prom_type; //0普通商品 1秒杀 6拼单 | |
256 | + | |
257 | + var url = ""; | |
258 | + if (prom_type == 1) { | |
259 | + url = "/api/weshop/teamlist/get/" + os.stoid + "/" + prom_id; | |
260 | + } else if (prom_type == 6) { | |
261 | + url = "/api/ms/flash_sale/get/" + os.stoid + "/" + prom_id; | |
262 | + } | |
263 | + return app.request.promiseGet(url, {}) | |
264 | + }).then(res => { | |
265 | + var prom = res.data.data; | |
266 | + if (prom != null) { | |
267 | + item.shop_price = res.data.data.price; | |
268 | + } | |
269 | + th.data.requestData.push(item); | |
270 | + th.setData({ | |
271 | + goods_array: th.data.requestData, | |
272 | + page: th.data.currentPage-1, | |
273 | + }); | |
274 | + }) | |
275 | + }) | |
276 | + }) | |
277 | + break; | |
278 | + } | |
279 | + }, | |
280 | + setLoading: function () { | |
281 | + var that = this; | |
282 | + that.init(that.data.classstyle_id, that.data.wgroup); | |
283 | + }, | |
284 | + | |
285 | + //图片失败,默认图片 | |
286 | + bind_bnerr3: function (e) { | |
287 | + var _errImg = e.target.dataset.errorimg; | |
288 | + var _errObj = {}; | |
289 | + _errObj[_errImg] = this.data.imghost+"/public/images/default_goods_image_240.gif"; | |
290 | + this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ; | |
291 | + }, | |
292 | + } | |
293 | +}) | |
0 | 294 | \ No newline at end of file | ... | ... |
components/diy_goodsGroup/diy_goodsGroup.json
0 → 100644
components/diy_goodsGroup/diy_goodsGroup.wxml
0 → 100644
1 | +<!--pages/diy_zs/diy_zs.wxml--> | |
2 | +<!--1个--> | |
3 | +<view class="zs_goods_wai"> | |
4 | + <!--右下角--> | |
5 | + | |
6 | + <block wx:if='{{object.column==1 && object.position==4}}'> | |
7 | + <block wx:for="{{goods_array}}" > | |
8 | + <view class='zs_goods'> | |
9 | + <navigator url="/pages/goods/goodsInfo/goodsInfo?goods_id={{item.goods_id}}" class="s1_gk_a1"> | |
10 | + <view class='zs_top'> | |
11 | + <block> | |
12 | + <image class='zs_t_img' src="{{item.goods_img}}" | |
13 | + data-errorimg="goods_array[{{index}}].goods_img" | |
14 | + binderror="bind_bnerr3" | |
15 | + ></image></block> | |
16 | + | |
17 | + <block wx:if="{{object.goodicon==3}}"> | |
18 | + <image class='zs_t1' wx:if="{{ object.position==4}}" | |
19 | + src='{{object.customicon}}'></image> | |
20 | + <!--<image class='zs_t1' wx:if="{{object.position==1}}"--> | |
21 | + <!--src='{{object.customicon}}'></image>--> | |
22 | + <!--<image class='zs_t1' wx:if="{{ object.position==1}}"--> | |
23 | + <!--src='{{object.customicon}}'></image>--> | |
24 | + <!--<image class='zs_t1' wx:if="{{object.position==1}}"--> | |
25 | + <!--src='{{object.customicon}}'></image>--> | |
26 | + </block> | |
27 | + <block wx:if="{{object.goodicon==1}}"> | |
28 | + <image class='zs_t1' src=''></image> | |
29 | + </block> | |
30 | + <block wx:if="{{object.goodicon==2}}"> | |
31 | + <image class='zs_t1' wx:if="{{object.styleicon==1}}" | |
32 | + src='{{imghost}}/miniapp/images/Recommend.png'></image> | |
33 | + <image class='zs_t1' wx:if="{{object.styleicon==2}}" | |
34 | + src='{{imghost}}/miniapp/images/hot.png'></image> | |
35 | + <image class='zs_t1' wx:if="{{object.styleicon==3}}" | |
36 | + src='{{imghost}}/miniapp/images/new.png'></image> | |
37 | + <image class='zs_t1' wx:if="{{object.styleicon==4}}" | |
38 | + src='{{imghost}}/miniapp/images/Promotion.png'></image> | |
39 | + </block> | |
40 | + </view> | |
41 | + <view class='zs_center'> | |
42 | + | |
43 | + <view class='zs_wz1' wx:if="{{object.goodstit}}">{{item.goods_name}}</view> | |
44 | + <view class='zs_wz2' wx:if="{{object.goodsprice}}"> | |
45 | + <view class='wz_red'>¥{{item.shop_price}}</view> | |
46 | + <view class='del'>¥{{item.market_price}}</view> | |
47 | + </view> | |
48 | + <!-- <view class='zs_wz3'>美妆价:¥9.00</view> | |
49 | + <view class='zs_wz4'>等级价:¥8.00</view> --> | |
50 | + <view class='zs_wz5' wx:if="{{object.goodsnum}}">销量:{{item.sales_sum}}件</view> | |
51 | + | |
52 | + </view> | |
53 | + </navigator> | |
54 | + </view> | |
55 | + </block> | |
56 | + </block> | |
57 | + | |
58 | + <!-- 右上角 --> | |
59 | + <block wx:if='{{object.column==1 && object.position==2}}'> | |
60 | + <block wx:for="{{goods_array}}" > | |
61 | + <view class='zs_goods' > | |
62 | + <navigator url="/pages/goods/goodsInfo/goodsInfo?goods_id={{item.goods_id}}" class="s1_gk_a1"> | |
63 | + <view class='zs_top'> | |
64 | + | |
65 | + <block> | |
66 | + <image class='zs_t_img' src="{{item.goods_img}}" data-errorimg="goods_array[{{index}}].goods_img" | |
67 | + binderror="bind_bnerr3"></image> | |
68 | + </block> | |
69 | + | |
70 | + <!-- <image class='zs_t2' src='http://jmh.xinda100.cn/public/static/images/model/Recommend.png'></image> --> | |
71 | + <block wx:if="{{object.goodicon==3}}"> | |
72 | + <image class='zs_t2' wx:if="{{object.position==2}}" | |
73 | + src='{{object.customicon}}'></image> | |
74 | + <!--<image class='zs_t2' wx:if="{{object.styleicon==2 && object.position==2}}"--> | |
75 | + <!--src='{{object.customicon}}'></image>--> | |
76 | + <!--<image class='zs_t2' wx:if="{{object.styleicon==3 && object.position==2}}"--> | |
77 | + <!--src='{{object.customicon}}'></image>--> | |
78 | + <!--<image class='zs_t2' wx:if="{{object.styleicon==4 && object.position==2}}"--> | |
79 | + <!--src='{{object.customicon}}'></image>--> | |
80 | + </block> | |
81 | + <block wx:if="{{object.goodicon==1}}"> | |
82 | + <image class='zs_t2' src=''></image> | |
83 | + </block> | |
84 | + <block wx:if="{{object.goodicon==2}}"> | |
85 | + <image class='zs_t2' wx:if="{{object.styleicon==1}}" | |
86 | + src='{{imghost}}/miniapp/images/Recommend.png'></image> | |
87 | + <image class='zs_t2' wx:if="{{object.styleicon==2 }}" | |
88 | + src='{{imghost}}/miniapp/images/hot.png'></image> | |
89 | + <image class='zs_t2' wx:if="{{object.styleicon==3}}" | |
90 | + src='{{imghost}}/miniapp/images/new.png'></image> | |
91 | + <image class='zs_t2' wx:if="{{object.styleicon==4 }}" | |
92 | + src='{{imghost}}/miniapp/images/Promotion.png'></image> | |
93 | + </block> | |
94 | + </view> | |
95 | + | |
96 | + <view class='zs_center'> | |
97 | + <view class='zs_wz1' wx:if="{{object.goodstit}}">{{item.goods_name}}</view> | |
98 | + <view class='zs_wz2' wx:if="{{object.goodsprice}}"> | |
99 | + <view class='wz_red'>¥{{item.shop_price}}</view> | |
100 | + <view class='del'>¥{{item.market_price}}</view> | |
101 | + </view> | |
102 | + <view class='zs_wz5' wx:if="{{object.goodsnum}}">销量:{{item.sales_sum}}件</view> | |
103 | + | |
104 | + </view> | |
105 | + </navigator> | |
106 | + | |
107 | + </view> | |
108 | + </block> | |
109 | + </block> | |
110 | + <!-- 左上角 --> | |
111 | + <block wx:if='{{object.column==1 && object.position==1}}'> | |
112 | + <block wx:for="{{goods_array}}"> | |
113 | + <view class='zs_goods'> | |
114 | + <navigator url="/pages/goods/goodsInfo/goodsInfo?goods_id={{item.goods_id}}" class="s1_gk_a1"> | |
115 | + <view class='zs_top'> | |
116 | + | |
117 | + <block> | |
118 | + <image class='zs_t_img' src="{{item.goods_img}}" data-errorimg="goods_array[{{index}}].goods_img" | |
119 | + binderror="bind_bnerr3"></image> | |
120 | + </block> | |
121 | + <!-- <image class='zs_t3' src='http://jmh.xinda100.cn/public/static/images/model/hot.png'></image> --> | |
122 | + <block wx:if="{{object.goodicon==3}}"> | |
123 | + <image class='zs_t3' wx:if="{{ object.position==1}}" | |
124 | + src='{{object.customicon}}'></image> | |
125 | + <!--<image class='zs_t3' wx:if="{{object.styleicon==2 && object.position==3}}"--> | |
126 | + <!--src='{{object.customicon}}'></image>--> | |
127 | + <!--<image class='zs_t3' wx:if="{{object.styleicon==3 && object.position==3}}"--> | |
128 | + <!--src='{{object.customicon}}'></image>--> | |
129 | + <!--<image class='zs_t3' wx:if="{{object.styleicon==4 && object.position==3}}"--> | |
130 | + <!--src='{{object.customicon}}'></image>--> | |
131 | + </block> | |
132 | + <block wx:if="{{object.goodicon==1}}"> | |
133 | + <image class='zs_t3' src=''></image> | |
134 | + </block> | |
135 | + <block wx:if="{{object.goodicon==2}}"> | |
136 | + <image class='zs_t3' wx:if="{{object.styleicon==1}}" | |
137 | + src='{{imghost}}/miniapp/images/Recommend.png'></image> | |
138 | + <image class='zs_t3' wx:if="{{object.styleicon==2 }}" | |
139 | + src='{{imghost}}/miniapp/images/hot.png'></image> | |
140 | + <image class='zs_t3' wx:if="{{object.styleicon==3}}" | |
141 | + src='{{imghost}}/miniapp/images/new.png'></image> | |
142 | + <image class='zs_t3' wx:if="{{object.styleicon==4 }}" | |
143 | + src='{{imghost}}/miniapp/images/Promotion.png'></image> | |
144 | + </block> | |
145 | + </view> | |
146 | + | |
147 | + <view class='zs_center'> | |
148 | + | |
149 | + <view class='zs_wz1' wx:if="{{object.goodstit}}">{{item.goods_name}}</view> | |
150 | + <view class='zs_wz2' wx:if="{{object.goodsprice}}"> | |
151 | + <view class='wz_red'>¥{{item.shop_price}}</view> | |
152 | + <view class='del'>¥{{item.market_price}}</view> | |
153 | + </view> | |
154 | + <view class='zs_wz5' wx:if="{{object.goodsnum}}">销量:{{item.sales_sum}}件</view> | |
155 | + | |
156 | + </view> | |
157 | + </navigator> | |
158 | + | |
159 | + </view> | |
160 | + </block> | |
161 | + </block> | |
162 | + <!-- 左下角 --> | |
163 | + <block wx:if='{{object.column==1 && object.position==3}}'> | |
164 | + <block wx:for="{{goods_array}}" > | |
165 | + <view class='zs_goods' > | |
166 | + <navigator url="/pages/goods/goodsInfo/goodsInfo?goods_id={{item.goods_id}}" class="s1_gk_a1"> | |
167 | + <view class='zs_top'> | |
168 | + | |
169 | + <block> | |
170 | + <image class='zs_t_img' src="{{item.goods_img}}" data-errorimg="goods_array[{{index}}].goods_img" | |
171 | + binderror="bind_bnerr3"></image> | |
172 | + </block> | |
173 | + <!-- <image class='zs_t4' src='http://jmh.xinda100.cn/public/static/images/model/new.png'></image> --> | |
174 | + | |
175 | + <block wx:if="{{object.goodicon==3}}"> | |
176 | + <image class='zs_t4' wx:if="{{ object.position==3}}" | |
177 | + src='{{object.customicon}}'></image> | |
178 | + <!--<image class='zs_t4' wx:if="{{object.styleicon==2 && object.position==4}}"--> | |
179 | + <!--src='{{object.customicon}}'></image>--> | |
180 | + <!--<image class='zs_t4' wx:if="{{object.styleicon==3 && object.position==4}}"--> | |
181 | + <!--src='{{object.customicon}}'></image>--> | |
182 | + <!--<image class='zs_t4' wx:if="{{object.styleicon==4 && object.position==4}}"--> | |
183 | + <!--src='{{object.customicon}}'></image>--> | |
184 | + </block> | |
185 | + <block wx:if="{{object.goodicon==1}}"> | |
186 | + <image class='zs_t4' src=''></image> | |
187 | + </block> | |
188 | + <block wx:if="{{object.goodicon==2}}"> | |
189 | + <image class='zs_t4' wx:if="{{object.styleicon==1}}" | |
190 | + src='{{imghost}}/miniapp/images/Recommend.png'></image> | |
191 | + <image class='zs_t4' wx:if="{{object.styleicon==2 }}" | |
192 | + src='{{imghost}}/miniapp/images/hot.png'></image> | |
193 | + <image class='zs_t4' wx:if="{{object.styleicon==3}}" | |
194 | + src='{{imghost}}/miniapp/images/new.png'></image> | |
195 | + <image class='zs_t4' wx:if="{{object.styleicon==4 }}" | |
196 | + src='{{imghost}}/miniapp/images/Promotion.png'></image> | |
197 | + </block> | |
198 | + </view> | |
199 | + | |
200 | + <view class='zs_center'> | |
201 | + <view class='zs_wz1' wx:if="{{object.goodstit}}">{{item.goods_name}}</view> | |
202 | + <view class='zs_wz2' wx:if="{{object.goodsprice}}"> | |
203 | + <view class='wz_red'>¥{{item.shop_price}}</view> | |
204 | + <view class='del'>¥{{item.market_price}}</view> | |
205 | + </view> | |
206 | + <view class='zs_wz5' wx:if="{{object.goodsnum}}">销量:{{item.sales_sum}}件</view> | |
207 | + | |
208 | + </view> | |
209 | + </navigator> | |
210 | + </view> | |
211 | + </block> | |
212 | + </block> | |
213 | +</view> | |
214 | + | |
215 | + | |
216 | +<!-- 列表显示 --> | |
217 | +<view class="zs_goods_xiao_wai"> | |
218 | + <!--右上角--> | |
219 | + <block wx:if='{{object.column==4 && object.position==2}}'> | |
220 | + <block wx:for="{{goods_array}}" > | |
221 | + <navigator url="/pages/goods/goodsInfo/goodsInfo?goods_id={{item.goods_id}}" class="s1_gk_a1"> | |
222 | + <view class="{{object.noboder==0?'zs_goods_xiao_bottom':'zs_goods_xiao'}}" > | |
223 | + <view class='zs_top_x'> | |
224 | + <!--<image class='zs_t_img_x'></image>--> | |
225 | + <block> | |
226 | + <image class='zs_t_img_x' src="{{item.goods_img}}" data-errorimg="goods_array[{{index}}].goods_img" | |
227 | + binderror="bind_bnerr3" mode="widthFix" style='max-height:290rpx'></image> | |
228 | + </block> | |
229 | + | |
230 | + <block wx:if="{{object.goodicon==3}}"> | |
231 | + <image class='zs_t1_x' wx:if="{{object.position==2}}" | |
232 | + src='{{object.customicon}}'></image> | |
233 | + <!--<image class='zs_t1_x' wx:if="{{object.styleicon==2 && object.position==1}}"--> | |
234 | + <!--src='{{object.customicon}}'></image>--> | |
235 | + <!--<image class='zs_t1_x' wx:if="{{object.styleicon==3 && object.position==1}}"--> | |
236 | + <!--src='{{object.customicon}}'></image>--> | |
237 | + <!--<image class='zs_t1_x' wx:if="{{object.styleicon==4 && object.position==1}}"--> | |
238 | + <!--src='{{object.customicon}}'></image>--> | |
239 | + </block> | |
240 | + <block wx:if="{{object.goodicon==1}}"> | |
241 | + <image class='zs_t1_x' src=''></image> | |
242 | + </block> | |
243 | + <block wx:if="{{object.goodicon==2}}"> | |
244 | + <image class='zs_t1_x' wx:if="{{object.styleicon==1}}" | |
245 | + src='{{imghost}}/miniapp/images/Recommend.png'></image> | |
246 | + <image class='zs_t1_x' wx:if="{{object.styleicon==2 }}" | |
247 | + src='{{imghost}}/miniapp/images/hot.png'></image> | |
248 | + <image class='zs_t1_x' wx:if="{{object.styleicon==3}}" | |
249 | + src='{{imghost}}/miniapp/images/new.png'></image> | |
250 | + <image class='zs_t1_x' wx:if="{{object.styleicon==4 }}" | |
251 | + src='{{imghost}}/miniapp/images/Promotion.png'></image> | |
252 | + </block> | |
253 | + </view> | |
254 | + | |
255 | + <view class='zs_center_x'> | |
256 | + | |
257 | + | |
258 | + <view class='zs_wz1_x' wx:if="{{object.goodstit}}">{{item.goods_name}}</view> | |
259 | + <view class='zs_wz2_x' wx:if="{{object.goodsprice}}"> | |
260 | + <view class='wz_red'>¥{{item.shop_price}}</view> | |
261 | + <view class='del'>¥{{item.market_price}}</view> | |
262 | + </view> | |
263 | + <view class='zs_wz5_x' wx:if="{{object.goodsnum}}">销量:{{item.sales_sum}}件</view> | |
264 | + | |
265 | + | |
266 | + </view> | |
267 | + | |
268 | + </view> | |
269 | + </navigator> | |
270 | + </block> | |
271 | + </block> | |
272 | + <!-- 左上角 --> | |
273 | + <block wx:if='{{object.column==4 && object.position==1}}'> | |
274 | + <block wx:for="{{goods_array}}" > | |
275 | + <navigator url="/pages/goods/goodsInfo/goodsInfo?goods_id={{item.goods_id}}" class="s1_gk_a1"> | |
276 | + <view class="{{object.noboder==0?'zs_goods_xiao_bottom':'zs_goods_xiao'}}" > | |
277 | + <view class='zs_top_x'> | |
278 | + | |
279 | + <block wx:if="{{item.goods_img!=''}}"> | |
280 | + <image class='zs_t_img_x' src="{{item.goods_img}}" data-errorimg="goods_array[{{index}}].goods_img" | |
281 | + binderror="bind_bnerr3" mode="widthFix" style='max-height:290rpx'></image> | |
282 | + </block> | |
283 | + | |
284 | + <block wx:if="{{object.goodicon==3}}"> | |
285 | + <image class='zs_t1_x1' wx:if="{{ object.position==1}}" | |
286 | + src='{{object.customicon}}'></image> | |
287 | + <!--<image class='zs_t1_x1' wx:if="{{object.styleicon==2 && object.position==2}}"--> | |
288 | + <!--src='{{object.customicon}}'></image>--> | |
289 | + <!--<image class='zs_t1_x1' wx:if="{{object.styleicon==3 && object.position==2}}"--> | |
290 | + <!--src='{{object.customicon}}'></image>--> | |
291 | + <!--<image class='zs_t1_x1' wx:if="{{object.styleicon==4 && object.position==2}}"--> | |
292 | + <!--src='{{object.customicon}}'></image>--> | |
293 | + </block> | |
294 | + <block wx:if="{{object.goodicon==1}}"> | |
295 | + <image class='zs_t1_x1' src=''></image> | |
296 | + </block> | |
297 | + <block wx:if="{{object.goodicon==2}}"> | |
298 | + <image class='zs_t1_x1' wx:if="{{object.styleicon==1}}" | |
299 | + src='{{imghost}}/miniapp/images/Recommend.png'></image> | |
300 | + <image class='zs_t1_x1' wx:if="{{object.styleicon==2 }}" | |
301 | + src='{{imghost}}/miniapp/images/hot.png'></image> | |
302 | + <image class='zs_t1_x1' wx:if="{{object.styleicon==3}}" | |
303 | + src='{{imghost}}/miniapp/images/new.png'></image> | |
304 | + <image class='zs_t1_x1' wx:if="{{object.styleicon==4 }}" | |
305 | + src='{{imghost}}/miniapp/images/Promotion.png'></image> | |
306 | + </block> | |
307 | + </view> | |
308 | + <view class='zs_center_x'> | |
309 | + <view class='zs_wz1_x' wx:if="{{object.goodstit}}">{{item.goods_name}}</view> | |
310 | + <view class='zs_wz2_x' wx:if="{{object.goodsprice}}"> | |
311 | + <view class='wz_red'>¥{{item.shop_price}}</view> | |
312 | + <view class='del'>¥{{item.market_price}}</view> | |
313 | + </view> | |
314 | + <view class='zs_wz5_x' wx:if="{{object.goodsnum}}">销量:{{item.sales_sum}}件</view> | |
315 | + </view> | |
316 | + | |
317 | + </view> | |
318 | + </navigator> | |
319 | + </block> | |
320 | + </block> | |
321 | + <!-- 右下角 --> | |
322 | + <block wx:if='{{object.column==4 && object.position==4}}'> | |
323 | + <block wx:for="{{goods_array}}" > | |
324 | + <navigator url="/pages/goods/goodsInfo/goodsInfo?goods_id={{item.goods_id}}" class="s1_gk_a1"> | |
325 | + <view class="{{object.noboder==0?'zs_goods_xiao_bottom':'zs_goods_xiao'}}" > | |
326 | + <view class='zs_top_x'> | |
327 | + | |
328 | + <block> | |
329 | + <image class='zs_t_img_x' src="{{item.goods_img}}" data-errorimg="goods_array[{{index}}].goods_img" | |
330 | + binderror="bind_bnerr3" mode="widthFix" style='max-height:290rpx'></image> | |
331 | + </block> | |
332 | + | |
333 | + <block wx:if="{{object.goodicon==3}}"> | |
334 | + <image class='zs_t1_x2' wx:if="{{object.position==4}}" | |
335 | + src='{{object.customicon}}'></image> | |
336 | + <!--<image class='zs_t1_x2' wx:if="{{object.styleicon==2 && object.position==3}}"--> | |
337 | + <!--src='{{object.customicon}}'></image>--> | |
338 | + <!--<image class='zs_t1_x2' wx:if="{{object.styleicon==3 && object.position==3}}"--> | |
339 | + <!--src='{{object.customicon}}'></image>--> | |
340 | + <!--<image class='zs_t1_x2' wx:if="{{object.styleicon==4 && object.position==3}}"--> | |
341 | + <!--src='{{object.customicon}}'></image>--> | |
342 | + </block> | |
343 | + <block wx:if="{{object.goodicon==1}}"> | |
344 | + <image class='zs_t1_x2' src=''></image> | |
345 | + </block> | |
346 | + <block wx:if="{{object.goodicon==2}}"> | |
347 | + <image class='zs_t1_x2' wx:if="{{object.styleicon==1}}" | |
348 | + src='{{imghost}}/miniapp/images/Recommend.png'></image> | |
349 | + <image class='zs_t1_x2' wx:if="{{object.styleicon==2 }}" | |
350 | + src='{{imghost}}/miniapp/images/hot.png'></image> | |
351 | + <image class='zs_t1_x2' wx:if="{{object.styleicon==3}}" | |
352 | + src='{{imghost}}/miniapp/images/new.png'></image> | |
353 | + <image class='zs_t1_x2' wx:if="{{object.styleicon==4 }}" | |
354 | + src='{{imghost}}/miniapp/images/Promotion.png'></image> | |
355 | + </block> | |
356 | + </view> | |
357 | + | |
358 | + <view class='zs_center_x'> | |
359 | + <view class='zs_wz1_x' wx:if="{{object.goodstit}}">{{item.goods_name}}</view> | |
360 | + <view class='zs_wz2_x' wx:if="{{object.goodsprice}}"> | |
361 | + <view class='wz_red'>¥{{item.shop_price}}</view> | |
362 | + <view class='del'>¥{{item.market_price}}</view> | |
363 | + </view> | |
364 | + <view class='zs_wz5_x' wx:if="{{object.goodsnum}}">销量:{{item.sales_sum}}件</view> | |
365 | + | |
366 | + </view> | |
367 | + | |
368 | + </view> | |
369 | + </navigator> | |
370 | + </block> | |
371 | + </block> | |
372 | + <!-- 左下角 --> | |
373 | + <block wx:if='{{object.column==4 && object.position==3}}'> | |
374 | + <block wx:for="{{goods_array}}" > | |
375 | + <navigator url="/pages/goods/goodsInfo/goodsInfo?goods_id={{item.goods_id}}" class="s1_gk_a1"> | |
376 | + <view class="{{object.noboder==0?'zs_goods_xiao_bottom':'zs_goods_xiao'}}" > | |
377 | + <view class='zs_top_x'> | |
378 | + <block wx:if="{{item.goods_img!=''}}"> | |
379 | + <image class='zs_t_img_x' src="{{item.goods_img}}" data-errorimg="goods_array[{{index}}].goods_img" | |
380 | + binderror="bind_bnerr3" mode="widthFix" style='max-height:290rpx'></image> | |
381 | + </block> | |
382 | + | |
383 | + <block wx:if="{{object.goodicon==3}}"> | |
384 | + <image class='zs_t1_x3' wx:if="{{object.position==3}}" | |
385 | + src='{{object.customicon}}'></image> | |
386 | + <!--<image class='zs_t1_x3' wx:if="{{object.styleicon==2 && object.position==4}}"--> | |
387 | + <!--src='{{object.customicon}}'></image>--> | |
388 | + <!--<image class='zs_t1_x3' wx:if="{{object.styleicon==3 && object.position==4}}"--> | |
389 | + <!--src='{{object.customicon}}'></image>--> | |
390 | + <!--<image class='zs_t1_x3' wx:if="{{object.styleicon==4 && object.position==4}}"--> | |
391 | + <!--src='{{object.customicon}}'></image>--> | |
392 | + </block> | |
393 | + <block wx:if="{{object.goodicon==1}}"> | |
394 | + <image class='zs_t1_x3' src=''></image> | |
395 | + </block> | |
396 | + <block wx:if="{{object.goodicon==2}}"> | |
397 | + <image class='zs_t1_x3' wx:if="{{object.styleicon==1}}" | |
398 | + src='{{imghost}}/miniapp/images/Recommend.png'></image> | |
399 | + <image class='zs_t1_x3' wx:if="{{object.styleicon==2 }}" | |
400 | + src='{{imghost}}/miniapp/images/hot.png'></image> | |
401 | + <image class='zs_t1_x3' wx:if="{{object.styleicon==3}}" | |
402 | + src='{{imghost}}/miniapp/images/new.png'></image> | |
403 | + <image class='zs_t1_x3' wx:if="{{object.styleicon==4 }}" | |
404 | + src='{{imghost}}/miniapp/images/Promotion.png'></image> | |
405 | + </block> | |
406 | + </view> | |
407 | + <view class='zs_center_x'> | |
408 | + | |
409 | + <view class='zs_wz1_x' wx:if="{{object.goodstit}}">{{item.goods_name}}</view> | |
410 | + <view class='zs_wz2_x' wx:if="{{object.goodsprice}}"> | |
411 | + <view class='wz_red'>¥{{item.shop_price}}</view> | |
412 | + <view class='del'>¥{{item.market_price}}</view> | |
413 | + </view> | |
414 | + <view class='zs_wz5_x' wx:if="{{object.goodsnum}}">销量:{{item.sales_sum}}件</view> | |
415 | + </view> | |
416 | + | |
417 | + </view> | |
418 | + </navigator> | |
419 | + </block> | |
420 | + </block> | |
421 | +</view> | |
422 | + | |
423 | + | |
424 | +<!--2个一列--> | |
425 | +<!--左上角--> | |
426 | +<block wx:if="{{object.column==2 && object.position==1}}"> | |
427 | +<block wx:for="{{goods_array}}" > | |
428 | + <navigator url="/pages/goods/goodsInfo/goodsInfo?goods_id={{item.goods_id}}" class="s1_gk_a1"> | |
429 | + | |
430 | + <view class="zs_goods_wai_ban"> | |
431 | + <view class="zs_goods_ban"> | |
432 | + <view class='zs_goods_2l'> | |
433 | + | |
434 | + <view class='zs_top_2l'> | |
435 | + <!--<image class='zs_t_img_2l'></image>--> | |
436 | + <block wx:if="{{item.goods_img!=''}}"> | |
437 | + <image class='zs_t_img_2l' src="{{item.goods_img}}" data-errorimg="goods_array[{{index}}].goods_img" | |
438 | + binderror="bind_bnerr3"></image> | |
439 | + </block> | |
440 | + | |
441 | + <block wx:if="{{object.goodicon==3}}"> | |
442 | + <image class='zs_t1_2l' wx:if="{{object.position==1}}" | |
443 | + src='{{object.customicon}}'></image> | |
444 | + <!--<image class='zs_t1_2l' wx:if="{{object.styleicon==2 && object.position==1}}"--> | |
445 | + <!--src='{{object.customicon}}'></image>--> | |
446 | + <!--<image class='zs_t1_2l' wx:if="{{object.styleicon==3 && object.position==1}}"--> | |
447 | + <!--src='{{object.customicon}}'></image>--> | |
448 | + <!--<image class='zs_t1_2l' wx:if="{{object.styleicon==4 && object.position==1}}"--> | |
449 | + <!--src='{{object.customicon}}'></image>--> | |
450 | + </block> | |
451 | + <block wx:if="{{object.goodicon==1}}"> | |
452 | + <image class='zs_t1_2l' src=''></image> | |
453 | + </block> | |
454 | + <block wx:if="{{object.goodicon==2}}"> | |
455 | + <image class='zs_t1_2l' wx:if="{{object.styleicon==1}}" | |
456 | + src='{{imghost}}/miniapp/images/Recommend.png'></image> | |
457 | + <image class='zs_t1_2l' wx:if="{{object.styleicon==2 }}" | |
458 | + src='{{imghost}}/miniapp/images/hot.png'></image> | |
459 | + <image class='zs_t1_2l' wx:if="{{object.styleicon==3}}" | |
460 | + src='{{imghost}}/miniapp/images/new.png'></image> | |
461 | + <image class='zs_t1_2l' wx:if="{{object.styleicon==4 }}" | |
462 | + src='{{imghost}}/miniapp/images/Promotion.png'></image> | |
463 | + </block> | |
464 | + </view> | |
465 | + | |
466 | + <view class='zs_center_2l'> | |
467 | + <view class='zs_wz1_2l' wx:if="{{object.goodstit}}">{{item.goods_name}}</view> | |
468 | + <view class='zs_wz2_2l' wx:if="{{object.goodsprice}}"> | |
469 | + <view class='wz_red'>¥{{item.shop_price}}</view> | |
470 | + <view class='del'>¥{{item.market_price}}</view> | |
471 | + </view> | |
472 | + <view class='zs_wz5_2l' wx:if="{{object.goodsnum}}">销量:{{item.sales_sum}}件</view> | |
473 | + </view> | |
474 | + </view> | |
475 | + </view> | |
476 | + | |
477 | + </view> | |
478 | + </navigator> | |
479 | +</block> | |
480 | + | |
481 | +<view class="clear"></view> | |
482 | +</block> | |
483 | +<!--右上角--> | |
484 | +<block wx:if='{{object.column==2 && object.position==2}}'> | |
485 | +<block wx:for="{{goods_array}}" > | |
486 | + <navigator url="/pages/goods/goodsInfo/goodsInfo?goods_id={{item.goods_id}}" class="s1_gk_a1"> | |
487 | + <view class="zs_goods_wai_ban" > | |
488 | + <view class="zs_goods_ban"> | |
489 | + <view class='zs_goods_2l'> | |
490 | + | |
491 | + <view class='zs_top_2l'> | |
492 | + <!--<image class='zs_t_img_2l'></image>--> | |
493 | + <block> | |
494 | + <image class='zs_t_img_2l' src="{{item.goods_img}}" data-errorimg="goods_array[{{index}}].goods_img" | |
495 | + binderror="bind_bnerr3"></image> | |
496 | + </block> | |
497 | + <block wx:if="{{object.goodicon==3}}"> | |
498 | + <image class='zs_t2_2l' wx:if="{{ object.position==2}}" | |
499 | + src='{{object.customicon}}'></image> | |
500 | + <!--<image class='zs_t2_2l' wx:if="{{object.styleicon==2 && object.position==2}}"--> | |
501 | + <!--src='{{object.customicon}}'></image>--> | |
502 | + <!--<image class='zs_t2_2l' wx:if="{{object.styleicon==3 && object.position==2}}"--> | |
503 | + <!--src='{{object.customicon}}'></image>--> | |
504 | + <!--<image class='zs_t2_2l' wx:if="{{object.styleicon==4 && object.position==2}}"--> | |
505 | + <!--src='{{object.customicon}}'></image>--> | |
506 | + </block> | |
507 | + <block wx:if="{{object.goodicon==1}}"> | |
508 | + <image class='zs_t2_2l' src=''></image> | |
509 | + </block> | |
510 | + <block wx:if="{{object.goodicon==2}}"> | |
511 | + <image class='zs_t2_2l' wx:if="{{object.styleicon==1}}" | |
512 | + src='{{imghost}}/miniapp/images/Recommend.png'></image> | |
513 | + <image class='zs_t2_2l' wx:if="{{object.styleicon==2 }}" | |
514 | + src='{{imghost}}/miniapp/images/hot.png'></image> | |
515 | + <image class='zs_t2_2l' wx:if="{{object.styleicon==3}}" | |
516 | + src='{{imghost}}/miniapp/images/new.png'></image> | |
517 | + <image class='zs_t2_2l' wx:if="{{object.styleicon==4 }}" | |
518 | + src='{{imghost}}/miniapp/images/Promotion.png'></image> | |
519 | + </block> | |
520 | + </view> | |
521 | + <view class='zs_center_2l'> | |
522 | + | |
523 | + | |
524 | + <view class='zs_wz1_2l' wx:if="{{object.goodstit}}">{{item.goods_name}}</view> | |
525 | + <view class='zs_wz2_2l' wx:if="{{object.goodsprice}}"> | |
526 | + <view class='wz_red'>¥{{item.shop_price}}</view> | |
527 | + <view class='del'>¥{{item.market_price}}</view> | |
528 | + </view> | |
529 | + <view class='zs_wz5_2l' wx:if="{{object.goodsnum}}">销量:{{item.sales_sum}}件</view> | |
530 | + | |
531 | + </view> | |
532 | + </view> | |
533 | + </view> | |
534 | + | |
535 | + </view> | |
536 | + </navigator> | |
537 | +</block> | |
538 | + | |
539 | +<view class="clear"></view> | |
540 | +</block> | |
541 | +<!--右下角--> | |
542 | +<block wx:if='{{object.column==2 && object.position==4}}'> | |
543 | +<block wx:for="{{goods_array}}" > | |
544 | + <navigator url="/pages/goods/goodsInfo/goodsInfo?goods_id={{item.goods_id}}" class="s1_gk_a1"> | |
545 | + <view class="zs_goods_wai_ban" > | |
546 | + <view class="zs_goods_ban"> | |
547 | + <view class='zs_goods_2l'> | |
548 | + | |
549 | + <view class='zs_top_2l'> | |
550 | + <!--<image class='zs_t_img_2l'></image>--> | |
551 | + <block> | |
552 | + <image class='zs_t_img_2l' src="{{item.goods_img}}" data-errorimg="goods_array[{{index}}].goods_img" | |
553 | + binderror="bind_bnerr3"></image> | |
554 | + </block> | |
555 | + | |
556 | + <block wx:if="{{object.goodicon==3}}"> | |
557 | + <image class='zs_t3_2l' wx:if="{{ object.position==4}}" | |
558 | + src='{{object.customicon}}'></image> | |
559 | + <!--<image class='zs_t3_2l' wx:if="{{object.styleicon==2 && object.position==3}}"--> | |
560 | + <!--src='{{object.customicon}}'></image>--> | |
561 | + <!--<image class='zs_t3_2l' wx:if="{{object.styleicon==3 && object.position==3}}"--> | |
562 | + <!--src='{{object.customicon}}'></image>--> | |
563 | + <!--<image class='zs_t3_2l' wx:if="{{object.styleicon==4 && object.position==3}}"--> | |
564 | + <!--src='{{object.customicon}}'></image>--> | |
565 | + </block> | |
566 | + <block wx:if="{{object.goodicon==1}}"> | |
567 | + <image class='zs_t3_2l' src=''></image> | |
568 | + </block> | |
569 | + <block wx:if="{{object.goodicon==2}}"> | |
570 | + <image class='zs_t3_2l' wx:if="{{object.styleicon==1}}" | |
571 | + src='{{imghost}}/miniapp/images/Recommend.png'></image> | |
572 | + <image class='zs_t3_2l' wx:if="{{object.styleicon==2 }}" | |
573 | + src='{{imghost}}/miniapp/images/hot.png'></image> | |
574 | + <image class='zs_t3_2l' wx:if="{{object.styleicon==3}}" | |
575 | + src='{{imghost}}/miniapp/images/new.png'></image> | |
576 | + <image class='zs_t3_2l' wx:if="{{object.styleicon==4 }}" | |
577 | + src='{{imghost}}/miniapp/images/Promotion.png'></image> | |
578 | + </block> | |
579 | + </view> | |
580 | + | |
581 | + <view class='zs_center_2l'> | |
582 | + | |
583 | + <view class='zs_wz1_2l' wx:if="{{object.goodstit}}">{{item.goods_name}}</view> | |
584 | + <view class='zs_wz2_2l' wx:if="{{object.goodsprice}}"> | |
585 | + <view class='wz_red'>¥{{item.shop_price}}</view> | |
586 | + <view class='del'>¥{{item.market_price}}</view> | |
587 | + </view> | |
588 | + <view class='zs_wz5_2l' wx:if="{{object.goodsnum}}">销量:{{item.sales_sum}}件</view> | |
589 | + </view> | |
590 | + | |
591 | + </view> | |
592 | + </view> | |
593 | + | |
594 | + | |
595 | + </view> | |
596 | + </navigator> | |
597 | +</block> | |
598 | + | |
599 | +<view class="clear"></view> | |
600 | +</block> | |
601 | +<!--左下角--> | |
602 | +<block wx:if='{{object.column==2 && object.position==3}}'> | |
603 | +<block wx:for="{{goods_array}}" > | |
604 | + <navigator url="/pages/goods/goodsInfo/goodsInfo?goods_id={{item.goods_id}}" class="s1_gk_a1"> | |
605 | + <view class="zs_goods_wai_ban" > | |
606 | + <view class="zs_goods_ban"> | |
607 | + <view class='zs_goods_2l'> | |
608 | + | |
609 | + <view class='zs_top_2l'> | |
610 | + <!--<image class='zs_t_img_2l'></image>--> | |
611 | + <block> | |
612 | + <image class='zs_t_img_2l' src="{{item.goods_img}}" data-errorimg="goods_array[{{index}}].goods_img" | |
613 | + binderror="bind_bnerr3"></image> | |
614 | + </block> | |
615 | + | |
616 | + <block wx:if="{{object.goodicon==3}}"> | |
617 | + <image class='zs_t4_2l' wx:if="{{ object.position==3}}" | |
618 | + src='{{object.customicon}}'></image> | |
619 | + <!--<image class='zs_t4_2l' wx:if="{{object.styleicon==2 && object.position==4}}"--> | |
620 | + <!--src='{{object.customicon}}'></image>--> | |
621 | + <!--<image class='zs_t4_2l' wx:if="{{object.styleicon==3 && object.position==4}}"--> | |
622 | + <!--src='{{object.customicon}}'></image>--> | |
623 | + <!--<image class='zs_t4_2l' wx:if="{{object.styleicon==4 && object.position==4}}"--> | |
624 | + <!--src='{{object.customicon}}'></image>--> | |
625 | + </block> | |
626 | + <block wx:if="{{object.goodicon==1}}"> | |
627 | + <image class='zs_t4_2l' src=''></image> | |
628 | + </block> | |
629 | + <block wx:if="{{object.goodicon==2}}"> | |
630 | + <image class='zs_t4_2l' wx:if="{{object.styleicon==1}}" | |
631 | + src='{{imghost}}/miniapp/images/Recommend.png'></image> | |
632 | + <image class='zs_t4_2l' wx:if="{{object.styleicon==2 }}" | |
633 | + src='{{imghost}}/miniapp/images/hot.png'></image> | |
634 | + <image class='zs_t4_2l' wx:if="{{object.styleicon==3}}" | |
635 | + src='{{imghost}}/miniapp/images/new.png'></image> | |
636 | + <image class='zs_t4_2l' wx:if="{{object.styleicon==4 }}" | |
637 | + src='{{imghost}}/miniapp/images/Promotion.png'></image> | |
638 | + </block> | |
639 | + </view> | |
640 | + | |
641 | + <view class='zs_center_2l'> | |
642 | + | |
643 | + <view class='zs_wz1_2l' wx:if="{{object.goodstit}}">{{item.goods_name}}</view> | |
644 | + <view class='zs_wz2_2l' wx:if="{{object.goodsprice}}"> | |
645 | + <view class='wz_red'>¥{{item.shop_price}}</view> | |
646 | + <view class='del'>¥{{item.market_price}}</view> | |
647 | + </view> | |
648 | + <view class='zs_wz5_2l' wx:if="{{object.goodsnum}}">销量:{{item.sales_sum}}件</view> | |
649 | + | |
650 | + </view> | |
651 | + </view> | |
652 | + </view> | |
653 | + | |
654 | + </view> | |
655 | + </navigator> | |
656 | +</block> | |
657 | + | |
658 | +<view class="clear"></view> | |
659 | +</block> | |
660 | + | |
661 | +<!--3个一列--> | |
662 | +<!--左上角--> | |
663 | +<block wx:if='{{object.column==3 && object.position==1}}'> | |
664 | +<view class="zwp_3"> | |
665 | + <block wx:for="{{goods_array}}" > | |
666 | + <navigator url="/pages/goods/goodsInfo/goodsInfo?goods_id={{item.goods_id}}" class="s1_gk_a1"> | |
667 | + <view class="zs_goods_wai_san" > | |
668 | + <view class="zs_goods_san"> | |
669 | + <view class='zs_goods_3l'> | |
670 | + <view class='zs_top_3l'> | |
671 | + <block> | |
672 | + <image class='zs_t_img_3l' src="{{item.goods_img}}" data-errorimg="goods_array[{{index}}].goods_img" | |
673 | + binderror="bind_bnerr3"></image> | |
674 | + </block> | |
675 | + | |
676 | + <block wx:if="{{object.goodicon==3}}"> | |
677 | + <image class='zs_t1_3l' wx:if="{{ object.position==1}}" | |
678 | + src='{{object.customicon}}'></image> | |
679 | + <!-- <image class='zs_t1_3l' wx:if="{{object.styleicon==2 && object.position==1}}" | |
680 | + src='{{object.customicon}}'></image> | |
681 | + <image class='zs_t1_3l' wx:if="{{object.styleicon==3 && object.position==1}}" | |
682 | + src='{{object.customicon}}'></image> | |
683 | + <image class='zs_t1_3l' wx:if="{{object.styleicon==4 && object.position==1}}" | |
684 | + src='{{object.customicon}}'></image> --> | |
685 | + </block> | |
686 | + <block wx:if="{{object.goodicon==1}}"> | |
687 | + <image class='zs_t1_3l' src=''></image> | |
688 | + </block> | |
689 | + <block wx:if="{{object.goodicon==2}}"> | |
690 | + <image class='zs_t1_3l' wx:if="{{object.styleicon==1}}" | |
691 | + src='{{imghost}}/miniapp/images/Recommend.png'></image> | |
692 | + <image class='zs_t1_3l' wx:if="{{object.styleicon==2 }}" | |
693 | + src='{{imghost}}/miniapp/images/hot.png'></image> | |
694 | + <image class='zs_t1_3l' wx:if="{{object.styleicon==3}}" | |
695 | + src='{{imghost}}/miniapp/images/new.png'></image> | |
696 | + <image class='zs_t1_3l' wx:if="{{object.styleicon==4 }}" | |
697 | + src='{{imghost}}/miniapp/images/Promotion.png'></image> | |
698 | + </block> | |
699 | + </view> | |
700 | + <view class='zs_center_3l'> | |
701 | + | |
702 | + | |
703 | + <view class='zs_wz1_3l' wx:if="{{object.goodstit}}">{{item.goods_name}}</view> | |
704 | + <view class='zs_wz2_3l' wx:if="{{object.goodsprice}}"> | |
705 | + <view class='wz_red'>¥{{item.shop_price}}</view> | |
706 | + <view class='del'>¥{{item.market_price}}</view> | |
707 | + </view> | |
708 | + <view class='zs_wz5_3l' wx:if="{{object.goodsnum}}">销量:{{item.sales_sum}}件</view> | |
709 | + </view> | |
710 | + </view> | |
711 | + </view> | |
712 | + </view> | |
713 | + </navigator> | |
714 | + </block> | |
715 | +</view> | |
716 | +<view class="clear"></view> | |
717 | +</block> | |
718 | +<!--右上角--> | |
719 | +<block wx:if='{{object.column==3 && object.position==2}}'> | |
720 | +<block wx:for="{{goods_array}}" > | |
721 | + <navigator url="/pages/goods/goodsInfo/goodsInfo?goods_id={{item.goods_id}}" class="s1_gk_a1"> | |
722 | + <view class="zs_goods_wai_san" > | |
723 | + <view class="zs_goods_san"> | |
724 | + <view class='zs_goods_3l'> | |
725 | + <view class='zs_top_3l'> | |
726 | + <!--<image class='zs_t_img_3l'></image>--> | |
727 | + <block> | |
728 | + <image class='zs_t_img_3l' src="{{item.goods_img}}" data-errorimg="goods_array[{{index}}].goods_img" | |
729 | + binderror="bind_bnerr3"></image> | |
730 | + </block> | |
731 | + | |
732 | + <block wx:if="{{object.goodicon==3}}"> | |
733 | + <image class='zs_t2_3l' wx:if="{{ object.position==2}}" | |
734 | + src='{{object.customicon}}'></image> | |
735 | + <!--<image class='zs_t2_3l' wx:if="{{object.styleicon==2 && object.position==2}}"--> | |
736 | + <!--src='{{object.customicon}}'></image>--> | |
737 | + <!--<image class='zs_t2_3l' wx:if="{{object.styleicon==3 && object.position==2}}"--> | |
738 | + <!--src='{{object.customicon}}'></image>--> | |
739 | + <!--<image class='zs_t2_3l' wx:if="{{object.styleicon==4 && object.position==2}}"--> | |
740 | + <!--src='{{object.customicon}}'></image>--> | |
741 | + </block> | |
742 | + <block wx:if="{{object.goodicon==1}}"> | |
743 | + <image class='zs_t2_3l' src=''></image> | |
744 | + </block> | |
745 | + <block wx:if="{{object.goodicon==2}}"> | |
746 | + <image class='zs_t2_3l' wx:if="{{object.styleicon==1}}" | |
747 | + src='{{imghost}}/miniapp/images/Recommend.png'></image> | |
748 | + <image class='zs_t2_3l' wx:if="{{object.styleicon==2 }}" | |
749 | + src='{{imghost}}/miniapp/images/hot.png'></image> | |
750 | + <image class='zs_t2_3l' wx:if="{{object.styleicon==3}}" | |
751 | + src='{{imghost}}/miniapp/images/new.png'></image> | |
752 | + <image class='zs_t2_3l' wx:if="{{object.styleicon==4 }}" | |
753 | + src='{{imghost}}/miniapp/images/Promotion.png'></image> | |
754 | + </block> | |
755 | + </view> | |
756 | + <view class='zs_center_3l'> | |
757 | + | |
758 | + | |
759 | + <view class='zs_wz1_3l' wx:if="{{object.goodstit}}">{{item.goods_name}}</view> | |
760 | + <view class='zs_wz2_3l' wx:if="{{object.goodsprice}}"> | |
761 | + <view class='wz_red'>¥{{item.shop_price}}</view> | |
762 | + <view class='del'>¥{{item.market_price}}</view> | |
763 | + </view> | |
764 | + <view class='zs_wz5_3l' wx:if="{{object.goodsnum}}">销量:{{item.sales_sum}}件</view> | |
765 | + | |
766 | + <!--<view class='zs_wz3_3l'>美妆价:¥9.00</view>--> | |
767 | + <!--<view class='zs_wz4_3l'>等级价:¥8.00</view>--> | |
768 | + | |
769 | + </view> | |
770 | + </view> | |
771 | + </view> | |
772 | + </view> | |
773 | + </navigator> | |
774 | +</block> | |
775 | +<view class="clear"></view> | |
776 | +</block> | |
777 | +<!--右下角--> | |
778 | + | |
779 | +<block wx:if='{{object.column==3 && object.position==4}}'> | |
780 | +<block wx:for="{{goods_array}}" > | |
781 | + <navigator url="/pages/goods/goodsInfo/goodsInfo?goods_id={{item.goods_id}}" class="s1_gk_a1"> | |
782 | + <view class="zs_goods_wai_san" > | |
783 | + <view class="zs_goods_san"> | |
784 | + <view class='zs_goods_3l'> | |
785 | + <view class='zs_top_3l'> | |
786 | + | |
787 | + <block> | |
788 | + <image class='zs_t_img_3l' src="{{item.goods_img}}" data-errorimg="goods_array[{{index}}].goods_img" | |
789 | + binderror="bind_bnerr3"></image> | |
790 | + </block> | |
791 | + | |
792 | + <block wx:if="{{object.goodicon==3}}"> | |
793 | + <image class='zs_t3_3l' wx:if="{{ object.position==4}}" | |
794 | + src='{{object.customicon}}'></image> | |
795 | + <!--<image class='zs_t3_3l' wx:if="{{object.styleicon==2 && object.position==3}}"--> | |
796 | + <!--src='{{object.customicon}}'></image>--> | |
797 | + <!--<image class='zs_t3_3l' wx:if="{{object.styleicon==3 && object.position==3}}"--> | |
798 | + <!--src='{{object.customicon}}'></image>--> | |
799 | + <!--<image class='zs_t3_3l' wx:if="{{object.styleicon==4 && object.position==3}}"--> | |
800 | + <!--src='{{object.customicon}}'></image>--> | |
801 | + </block> | |
802 | + <block wx:if="{{object.goodicon==1}}"> | |
803 | + <image class='zs_t3_3l' src=''></image> | |
804 | + </block> | |
805 | + <block wx:if="{{object.goodicon==2}}"> | |
806 | + <image class='zs_t3_3l' wx:if="{{object.styleicon==1}}" | |
807 | + src='{{imghost}}/miniapp/images/Recommend.png'></image> | |
808 | + <image class='zs_t3_3l' wx:if="{{object.styleicon==2 }}" | |
809 | + src='{{imghost}}/miniapp/images/hot.png'></image> | |
810 | + <image class='zs_t3_3l' wx:if="{{object.styleicon==3}}" | |
811 | + src='{{imghost}}/miniapp/images/new.png'></image> | |
812 | + <image class='zs_t3_3l' wx:if="{{object.styleicon==4 }}" | |
813 | + src='{{imghost}}/miniapp/images/Promotion.png'></image> | |
814 | + </block> | |
815 | + </view> | |
816 | + <view class='zs_center_3l'> | |
817 | + | |
818 | + | |
819 | + <view class='zs_wz1_3l' wx:if="{{object.goodstit}}">{{item.goods_name}}</view> | |
820 | + <view class='zs_wz2_3l' wx:if="{{object.goodsprice}}"> | |
821 | + <view class='wz_red'>¥{{item.shop_price}}</view> | |
822 | + <view class='del'>¥{{item.market_price}}</view> | |
823 | + </view> | |
824 | + <view class='zs_wz5_3l' wx:if="{{object.goodsnum}}">销量:{{item.sales_sum}}件</view> | |
825 | + <!--<view class='zs_wz3_3l'>美妆价:¥9.00</view>--> | |
826 | + <!--<view class='zs_wz4_3l'>等级价:¥8.00</view>--> | |
827 | + </view> | |
828 | + </view> | |
829 | + </view> | |
830 | + | |
831 | + </view> | |
832 | + </navigator> | |
833 | +</block> | |
834 | + | |
835 | + | |
836 | +<view class="clear"></view> | |
837 | +</block> | |
838 | +<!--左下角--> | |
839 | +<block wx:if='{{object.column==3 && object.position==3}}'> | |
840 | +<block wx:for="{{goods_array}}" > | |
841 | + <navigator url="/pages/goods/goodsInfo/goodsInfo?goods_id={{item.goods_id}}" class="s1_gk_a1"> | |
842 | + <view class="zs_goods_wai_san" > | |
843 | + <view class="zs_goods_san"> | |
844 | + <view class='zs_goods_3l'> | |
845 | + | |
846 | + <view class='zs_top_3l'> | |
847 | + | |
848 | + <block> | |
849 | + <image class='zs_t_img_3l' src="{{item.goods_img}}" data-errorimg="goods_array[{{index}}].goods_img" | |
850 | + binderror="bind_bnerr3"></image> | |
851 | + </block> | |
852 | + | |
853 | + <block wx:if="{{object.goodicon==3}}"> | |
854 | + <image class='zs_t4_3l' wx:if="{{object.position==3}}" | |
855 | + src='{{object.customicon}}'></image> | |
856 | + <!--<image class='zs_t4_3l' wx:if="{{ object.position==4}}"--> | |
857 | + <!--src='{{object.customicon}}'></image>--> | |
858 | + <!--<image class='zs_t4_3l' wx:if="{{object.position==4}}"--> | |
859 | + <!--src='{{object.customicon}}'></image>--> | |
860 | + <!--<image class='zs_t4_3l' wx:if="{{ object.position==4}}"--> | |
861 | + <!--src='{{object.customicon}}'></image>--> | |
862 | + </block> | |
863 | + <block wx:if="{{object.goodicon==1}}"> | |
864 | + <image class='zs_t4_3l' src=''></image> | |
865 | + </block> | |
866 | + <block wx:if="{{object.goodicon==2}}"> | |
867 | + <image class='zs_t4_3l' wx:if="{{object.styleicon==1}}" | |
868 | + src='{{imghost}}/miniapp/images/Recommend.png'></image> | |
869 | + <image class='zs_t4_3l' wx:if="{{object.styleicon==2 }}" | |
870 | + src='{{imghost}}/miniapp/images/hot.png'></image> | |
871 | + <image class='zs_t4_3l' wx:if="{{object.styleicon==3}}" | |
872 | + src='{{imghost}}/miniapp/images/new.png'></image> | |
873 | + <image class='zs_t4_3l' wx:if="{{object.styleicon==4 }}" | |
874 | + src='{{imghost}}/miniapp/images/Promotion.png'></image> | |
875 | + </block> | |
876 | + </view> | |
877 | + | |
878 | + <view class='zs_center_3l'> | |
879 | + | |
880 | + <view class='zs_wz1_3l' wx:if="{{object.goodstit}}">{{item.goods_name}}</view> | |
881 | + <view class='zs_wz2_3l' wx:if="{{object.goodsprice}}"> | |
882 | + <view class='wz_red'>¥{{item.shop_price}}</view> | |
883 | + <view class='del'>¥{{item.market_price}}</view> | |
884 | + </view> | |
885 | + <view class='zs_wz5_3l' wx:if="{{object.goodsnum}}">销量:{{item.sales_sum}}件</view> | |
886 | + | |
887 | + | |
888 | + </view> | |
889 | + | |
890 | + | |
891 | + </view> | |
892 | + </view> | |
893 | + | |
894 | + </view> | |
895 | + </navigator> | |
896 | +</block> | |
897 | +<view class="clear"></view> | |
898 | +</block> | |
899 | + | |
900 | + | |
901 | +<!-- <block wx:if="{{object.classstyle=='2' }}"> | |
902 | +<view class="button-wrapper" wx:if="{{object.goodscount * page <total }}" style="border: none"> | |
903 | + <button type="default" size="default" loading="{{loading}}" disabled="{{disabled}}" bindtap="setLoading" style="background-color: rgba(0,0,0,0);border:none"> | |
904 | + {{loadText}} | |
905 | + </button> | |
906 | +</view> | |
907 | +</block> --> | |
908 | + | |
909 | +<block wx:if="{{object.classstyle=='1' }}"> | |
910 | +<view class="button-wrapper" wx:if="{{goods_btn.length!=0 }}" style="border: none"> | |
911 | + <button type="default" size="default" loading="{{loading}}" disabled="{{disabled}}" bindtap="setLoading" style="background-color: rgba(0,0,0,0);border:none"> | |
912 | + {{loadText}} | |
913 | + </button> | |
914 | +</view> | |
915 | +</block> | |
916 | + | |
917 | +<block wx:if="{{object.classstyle!='1' }}"> | |
918 | + <view class="button-wrapper" wx:if="{{object.goodscount * page <total }}" style="border: none"> | |
919 | + <button type="default" size="default" loading="{{loading}}" disabled="{{disabled}}" bindtap="setLoading" style="background-color: rgba(0,0,0,0);border:none"> | |
920 | + {{loadText}} | |
921 | + </button> | |
922 | +</view> | |
923 | + | |
924 | + </block> | |
0 | 925 | \ No newline at end of file | ... | ... |
components/diy_goodsGroup/diy_goodsGroup.wxss
0 → 100644
1 | +/* pages/diy_zs/diy_zs.wxss */ | |
2 | + | |
3 | +.zs_goods{ | |
4 | + width: 100%; | |
5 | + min-height: 500rpx; | |
6 | +border: 2rpx #ddd solid; | |
7 | +margin: 0 auto; | |
8 | +} | |
9 | + | |
10 | +.zwp_3{ | |
11 | + /* width: 30%; */ | |
12 | +} | |
13 | + | |
14 | +.s1_gk_a1{ | |
15 | + display: inline; | |
16 | + width: auto; | |
17 | + height: auto; | |
18 | +} | |
19 | +.clear{ | |
20 | + clear: both; | |
21 | +} | |
22 | +.zs_top{ | |
23 | + width: 100%; | |
24 | + min-height: 700rpx; | |
25 | + margin: 0 auto; | |
26 | + padding-left:22rpx; | |
27 | +padding-bottom:30rpx; | |
28 | + | |
29 | +display: flex; | |
30 | +/* padding-left: 6rpx; */ | |
31 | +/* padding-right: 30rpx; */ | |
32 | +} | |
33 | + | |
34 | +.zs_t_img { | |
35 | + width: 700rpx; | |
36 | + height: 700rpx; | |
37 | + /* margin: 0 auto; */ | |
38 | + /* background-color: bisque; */ | |
39 | + | |
40 | +} | |
41 | + | |
42 | +.zs_center{ | |
43 | + width: 100%; | |
44 | + min-height: 200rpx; | |
45 | + font-size: 28rpx; | |
46 | + color: #333; | |
47 | + text-align: left; | |
48 | + margin-left: 25rpx; | |
49 | + padding: 0 10rpx; | |
50 | +} | |
51 | + | |
52 | +.zs_wz1{ | |
53 | + overflow: hidden; | |
54 | + text-overflow: ellipsis; | |
55 | + margin-bottom:10rpx; | |
56 | +font-size:28rpx; | |
57 | + white-space: nowrap; | |
58 | +} | |
59 | + | |
60 | + | |
61 | +.zs_wz2{ | |
62 | + overflow: hidden; | |
63 | + text-overflow: ellipsis; | |
64 | + margin-bottom:10rpx; | |
65 | +font-size:28rpx; | |
66 | + white-space: nowrap; | |
67 | +} | |
68 | + | |
69 | +.zs_wz3{ | |
70 | + overflow: hidden; | |
71 | + text-overflow: ellipsis; | |
72 | + margin-bottom:10rpx; | |
73 | +font-size:28rpx; | |
74 | + white-space: nowrap; | |
75 | +} | |
76 | + | |
77 | +.zs_wz4{ | |
78 | + overflow: hidden; | |
79 | + text-overflow: ellipsis; | |
80 | + margin-bottom:10rpx; | |
81 | +font-size:28rpx; | |
82 | + white-space: nowrap; | |
83 | +} | |
84 | + | |
85 | +.zs_wz5{ | |
86 | + overflow: hidden; | |
87 | + text-overflow: ellipsis; | |
88 | + font-size:30rpx; | |
89 | + white-space: nowrap; | |
90 | +} | |
91 | + | |
92 | +.wz_red{ | |
93 | + | |
94 | + color: #C4182E; | |
95 | + font-size: 32rpx; | |
96 | +} | |
97 | + | |
98 | +.del{ | |
99 | + font-size: 24rpx; | |
100 | + color: #999; | |
101 | + text-decoration: line-through; | |
102 | +} | |
103 | + | |
104 | +.zs_t1{ | |
105 | + width: 56rpx; | |
106 | + height: 56rpx; | |
107 | + position: relative; | |
108 | + right: 58rpx; | |
109 | + bottom: -640rpx; | |
110 | +} | |
111 | + | |
112 | + | |
113 | +.zs_t2{ | |
114 | + width: 56rpx; | |
115 | + height: 56rpx; | |
116 | + position: relative; | |
117 | + right: 58rpx; | |
118 | + bottom: -2rpx; | |
119 | +} | |
120 | + | |
121 | +.zs_t3{ | |
122 | + width: 56rpx; | |
123 | + height: 56rpx; | |
124 | + position: relative; | |
125 | + right: 692rpx; | |
126 | + bottom: -4rpx; | |
127 | +} | |
128 | + | |
129 | + | |
130 | +.zs_t4{ | |
131 | + width: 56rpx; | |
132 | + height: 56rpx; | |
133 | + position: relative; | |
134 | + right: 692rpx; | |
135 | + bottom: -642rpx; | |
136 | +} | |
137 | + | |
138 | + | |
139 | + | |
140 | + | |
141 | +/* xiao */ | |
142 | + | |
143 | + | |
144 | +.zs_goods_xiao_bottom{ | |
145 | + width: 100%; | |
146 | + min-height: 300rpx; | |
147 | + | |
148 | + display: flex; | |
149 | + border-bottom: 2rpx #eee solid; | |
150 | + padding: 10rpx; | |
151 | + background-color: white; | |
152 | + | |
153 | +} | |
154 | + | |
155 | +.zs_goods_xiao{ | |
156 | + width: 100%; | |
157 | + min-height: 300rpx; | |
158 | + | |
159 | + display: flex; | |
160 | + /* border-bottom: 2rpx #eee solid; */ | |
161 | + padding: 10rpx; | |
162 | + background-color: white; | |
163 | +} | |
164 | + | |
165 | +.zs_top_x{ | |
166 | + width: 400rpx; | |
167 | + height: 318rpx; | |
168 | + margin-top: 20rpx; | |
169 | + /* /* padding-top:30rpx; | |
170 | +padding-bottom:30rpx; */ | |
171 | + | |
172 | +display: flex; | |
173 | + | |
174 | +} | |
175 | + | |
176 | +/* .zs_goods_xiao{ | |
177 | + background-color: white; | |
178 | +} */ | |
179 | + | |
180 | +.zs_t_img_x { | |
181 | + width: 290rpx; | |
182 | + height: 290rpx; | |
183 | + margin-left: 20rpx; | |
184 | + /* background-color: bisque; */ | |
185 | + | |
186 | +} | |
187 | + | |
188 | +.zs_center_x{ | |
189 | + | |
190 | + width: 100%; | |
191 | + min-height: 200rpx; | |
192 | + font-size: 28rpx; | |
193 | + color: #333; | |
194 | + text-align: left; | |
195 | + margin-top: 30rpx; | |
196 | + padding: 0 10rpx; | |
197 | +} | |
198 | + | |
199 | +.zs_wz1_x{ | |
200 | + overflow: hidden; | |
201 | + text-overflow: ellipsis; | |
202 | + margin-bottom:10rpx; | |
203 | +font-size:28rpx; | |
204 | + white-space: nowrap; | |
205 | + width: 80%; | |
206 | +} | |
207 | + | |
208 | + | |
209 | +.zs_wz2_x{ | |
210 | + overflow: hidden; | |
211 | + text-overflow: ellipsis; | |
212 | + margin-bottom:10rpx; | |
213 | +font-size:28rpx; | |
214 | + white-space: nowrap; | |
215 | +} | |
216 | + | |
217 | +.zs_wz3_x{ | |
218 | + overflow: hidden; | |
219 | + text-overflow: ellipsis; | |
220 | + margin-bottom:10rpx; | |
221 | +font-size:28rpx; | |
222 | + white-space: nowrap; | |
223 | +} | |
224 | + | |
225 | +.zs_wz4_x{ | |
226 | + overflow: hidden; | |
227 | + text-overflow: ellipsis; | |
228 | + margin-bottom:10rpx; | |
229 | +font-size:28rpx; | |
230 | + white-space: nowrap; | |
231 | +} | |
232 | + | |
233 | +.zs_wz5_x{ | |
234 | + overflow: hidden; | |
235 | + text-overflow: ellipsis; | |
236 | + font-size:30rpx; | |
237 | + white-space: nowrap; | |
238 | +} | |
239 | + | |
240 | +.wz_red{ | |
241 | + color: #C4182E; | |
242 | + font-size: 32rpx; | |
243 | +} | |
244 | + | |
245 | +.del{ | |
246 | + font-size: 24rpx; | |
247 | + color: #999; | |
248 | + text-decoration: line-through; | |
249 | + margin-left: 10rpx; | |
250 | + margin-top: 8rpx; | |
251 | +} | |
252 | + | |
253 | +.zs_t1_x{ | |
254 | + width: 56rpx; | |
255 | + height: 56rpx; | |
256 | + position: relative; | |
257 | + right: 62rpx; | |
258 | +top: 6rpx; | |
259 | +} | |
260 | + | |
261 | +.zs_t1_x1{ | |
262 | + width: 56rpx; | |
263 | + height: 56rpx; | |
264 | + position: relative; | |
265 | + right: 285rpx; | |
266 | +top: 6rpx; | |
267 | +} | |
268 | + | |
269 | +.zs_t1_x2{ | |
270 | + width: 56rpx; | |
271 | + height: 56rpx; | |
272 | + position: relative; | |
273 | + right: 56rpx; | |
274 | +top: 234rpx; | |
275 | +} | |
276 | + | |
277 | + | |
278 | +.zs_t1_x3{ | |
279 | + width: 56rpx; | |
280 | + height: 56rpx; | |
281 | + position: relative; | |
282 | + right: 288rpx; | |
283 | +top: 234rpx; | |
284 | +} | |
285 | + | |
286 | +/*1列2个*/ | |
287 | + | |
288 | +.zs_goods_ban{ | |
289 | + width: 100%; | |
290 | + min-height: 300rpx; | |
291 | +} | |
292 | + | |
293 | +.zs_goods_wai_ban{ | |
294 | + display: flex; | |
295 | + /* padding-left: 2rpx; */ | |
296 | + margin-bottom: 12rpx; | |
297 | + width: 50%; | |
298 | + float: left; | |
299 | + background: #fff; | |
300 | +} | |
301 | + | |
302 | + | |
303 | +.zs_goods_2l{ | |
304 | + width: 94%; | |
305 | + min-height: 300rpx; | |
306 | + border: 2rpx #ddd solid; | |
307 | + margin: 0 auto; | |
308 | +padding: 2rpx; | |
309 | +} | |
310 | + | |
311 | +.zs_top_2l{ | |
312 | + width: 300rpx; | |
313 | + height: 300rpx; | |
314 | + | |
315 | + | |
316 | +} | |
317 | + | |
318 | +.button-wrapper button { | |
319 | + /*width: 94%;*/ | |
320 | + border: none; | |
321 | +} | |
322 | + | |
323 | + | |
324 | +.zs_t_img_2l { | |
325 | + width: 100%; | |
326 | + height: 300rpx; | |
327 | + margin: 0 auto; | |
328 | +} | |
329 | + | |
330 | +.zs_center_2l{ | |
331 | + width: 100%; | |
332 | + min-height: 200rpx; | |
333 | + font-size: 28rpx; | |
334 | + color: #333; | |
335 | + text-align: left; | |
336 | + padding: 0 10rpx; | |
337 | +} | |
338 | + | |
339 | +.zs_wz1_2l{ | |
340 | + overflow: hidden; | |
341 | + text-overflow: ellipsis; | |
342 | + margin-bottom:10rpx; | |
343 | + font-size:30rpx; | |
344 | + white-space: nowrap; | |
345 | + margin-top: 10rpx; | |
346 | +} | |
347 | + | |
348 | + | |
349 | +.zs_wz2_2l{ | |
350 | + overflow: hidden; | |
351 | + text-overflow: ellipsis; | |
352 | + margin-bottom:10rpx; | |
353 | + font-size:30rpx; | |
354 | + white-space: nowrap; | |
355 | + margin-top: 10rpx; | |
356 | +} | |
357 | + | |
358 | +.zs_wz3_2l{ | |
359 | + overflow: hidden; | |
360 | + text-overflow: ellipsis; | |
361 | + margin-bottom:10rpx; | |
362 | + font-size:30rpx; | |
363 | + white-space: nowrap; | |
364 | + margin-top: 10rpx; | |
365 | +} | |
366 | + | |
367 | +.zs_wz4_2l{ | |
368 | + overflow: hidden; | |
369 | + text-overflow: ellipsis; | |
370 | + margin-bottom:10rpx; | |
371 | + font-size:30rpx; | |
372 | + white-space: nowrap; | |
373 | + margin-top: 10rpx; | |
374 | +} | |
375 | + | |
376 | +.zs_wz5_2l{ | |
377 | + overflow: hidden; | |
378 | + text-overflow: ellipsis; | |
379 | + font-size:30rpx; | |
380 | + white-space: nowrap; | |
381 | + margin-top: 10rpx; | |
382 | +} | |
383 | + | |
384 | + | |
385 | +.zs_t1_2l{ | |
386 | + width: 56rpx; | |
387 | + height: 56rpx; | |
388 | + position: relative; | |
389 | + right: -2rpx; | |
390 | + top: -310rpx; | |
391 | +} | |
392 | + | |
393 | + | |
394 | +.zs_t2_2l{ | |
395 | + width: 56rpx; | |
396 | + height: 56rpx; | |
397 | + position: relative; | |
398 | + right: -294rpx; | |
399 | + bottom: 310rpx; | |
400 | +} | |
401 | + | |
402 | +.zs_t3_2l{ | |
403 | + width: 56rpx; | |
404 | + height: 56rpx; | |
405 | + position: relative; | |
406 | + right: -294rpx; | |
407 | + bottom: 68rpx; | |
408 | +} | |
409 | + | |
410 | + | |
411 | +.zs_t4_2l{ | |
412 | + width: 56rpx; | |
413 | + height: 56rpx; | |
414 | + position: relative; | |
415 | + right: -2rpx; | |
416 | + bottom: 68rpx; | |
417 | +} | |
418 | + | |
419 | +/*一个3列*/ | |
420 | +.zs_goods_wai_san{ | |
421 | + width: 240rpx; | |
422 | + display: flex; | |
423 | + margin-left: 8rpx; | |
424 | + float: left; | |
425 | + margin-bottom: 8rpx; | |
426 | + background-color:white; | |
427 | + | |
428 | +} | |
429 | + | |
430 | +.zs_goods_san{ | |
431 | + width: 240rpx; | |
432 | + | |
433 | +} | |
434 | + | |
435 | + | |
436 | + | |
437 | + | |
438 | + | |
439 | + | |
440 | +.zs_goods_3l{ | |
441 | + width: 240rpx; | |
442 | + min-height: 300rpx; | |
443 | + border: 2rpx #ddd solid; | |
444 | + margin: 0 auto; | |
445 | + padding: 2rpx; | |
446 | +} | |
447 | + | |
448 | +.zs_top_3l{ | |
449 | + width: 240rpx; | |
450 | + height: 240rpx; | |
451 | + | |
452 | + | |
453 | + | |
454 | + | |
455 | + | |
456 | + | |
457 | +} | |
458 | + | |
459 | +.zs_t_img_3l { | |
460 | + width:237rpx; | |
461 | + height: 240rpx; | |
462 | + margin: 0 auto; | |
463 | + background-color: bisque; | |
464 | + | |
465 | +} | |
466 | + | |
467 | +.zs_center_3l{ | |
468 | + width: 100%; | |
469 | + min-height: 200rpx; | |
470 | + font-size: 28rpx; | |
471 | + color: #333; | |
472 | + text-align: left; | |
473 | + padding: 0 10rpx; | |
474 | +} | |
475 | + | |
476 | +.zs_wz1_3l{ | |
477 | + overflow: hidden; | |
478 | + text-overflow: ellipsis; | |
479 | + margin-bottom:10rpx; | |
480 | + font-size:30rpx; | |
481 | + height: 80rpx; | |
482 | + width: 227rpx; | |
483 | + /* white-space: nowrap; */ | |
484 | +} | |
485 | + | |
486 | + | |
487 | +.zs_wz2_3l{ | |
488 | + /* overflow: hidden; | |
489 | + text-overflow: ellipsis; */ | |
490 | + margin-bottom:10rpx; | |
491 | + font-size:30rpx; | |
492 | + /* white-space: nowrap; */ | |
493 | + display: flex; | |
494 | +} | |
495 | + | |
496 | +.zs_wz3_3l{ | |
497 | + overflow: hidden; | |
498 | + text-overflow: ellipsis; | |
499 | + margin-bottom:10rpx; | |
500 | + font-size:30rpx; | |
501 | + white-space: nowrap; | |
502 | +} | |
503 | + | |
504 | +.zs_wz4_3l{ | |
505 | + overflow: hidden; | |
506 | + text-overflow: ellipsis; | |
507 | + margin-bottom:10rpx; | |
508 | + font-size:30rpx; | |
509 | + white-space: nowrap; | |
510 | +} | |
511 | + | |
512 | +.zs_wz5_3l{ | |
513 | + overflow: hidden; | |
514 | + text-overflow: ellipsis; | |
515 | + font-size:30rpx; | |
516 | + white-space: nowrap; | |
517 | +} | |
518 | + | |
519 | + | |
520 | +.zs_t1_3l{ | |
521 | + width: 56rpx; | |
522 | + height: 56rpx; | |
523 | + position: relative; | |
524 | + right: 0rpx; | |
525 | + top: -250rpx; | |
526 | +} | |
527 | + | |
528 | + | |
529 | +.zs_t2_3l{ | |
530 | + width: 56rpx; | |
531 | + height: 56rpx; | |
532 | + position: relative; | |
533 | + right: -177rpx; | |
534 | + bottom: 250rpx; | |
535 | +} | |
536 | + | |
537 | +.zs_t3_3l{ | |
538 | + width: 56rpx; | |
539 | + height: 56rpx; | |
540 | + position: relative; | |
541 | + right: -177rpx; | |
542 | + bottom: 67rpx; | |
543 | +} | |
544 | + | |
545 | + | |
546 | +.zs_t4_3l{ | |
547 | + width: 56rpx; | |
548 | + height: 56rpx; | |
549 | + position: relative; | |
550 | + right: 0rpx; | |
551 | + bottom: 67rpx; | |
552 | +} | |
553 | + | |
554 | +.zs_goods_wai{ | |
555 | + background-color: white; | |
556 | + margin-top: 10rpx; | |
557 | +} | |
0 | 558 | \ No newline at end of file | ... | ... |
components/diy_groupbuy/diy_groupbuy.js
0 → 100644
1 | +Component({ | |
2 | + properties: { | |
3 | + // 这里定义了innerText属性,属性值可以在组件使用时指定 | |
4 | + | |
5 | + style_b: { | |
6 | + type: Number, | |
7 | + value: 3, | |
8 | + }, | |
9 | + | |
10 | + | |
11 | + | |
12 | + | |
13 | + | |
14 | + }, | |
15 | + data: { | |
16 | + // 这里是一些组件内部数据 | |
17 | + bulk:false, | |
18 | + someData: {} | |
19 | + }, | |
20 | + methods: { | |
21 | + // 这里是一个自定义方法 | |
22 | + | |
23 | + customMethod: function () { } | |
24 | + } | |
25 | +}) | |
0 | 26 | \ No newline at end of file | ... | ... |
components/diy_groupbuy/diy_groupbuy.json
0 → 100644
components/diy_groupbuy/diy_groupbuy.wxml
0 → 100644
1 | +<!--pages/wp/wp.wxml--> | |
2 | + | |
3 | + | |
4 | + | |
5 | + | |
6 | +<view class='top_b'> | |
7 | +<view class='t_left_b'></view> | |
8 | +<view class='t_ms_b'>团购</view> | |
9 | +<view class='.right_b'></view> | |
10 | +</view> | |
11 | + | |
12 | + | |
13 | +<!--商品展示--> | |
14 | + | |
15 | +<view class='sp_b' wx:if="{{style_b==1}}"> | |
16 | + | |
17 | +<view class='one_b'> | |
18 | +<view class='sp_top_b'> | |
19 | +<view class='s_img_b'><image></image></view> | |
20 | +<view class='s_foot_bulk'>11天22小时33分44秒</view> | |
21 | +</view> | |
22 | + | |
23 | +<view class='sp_wz_b'> | |
24 | +<view class='sp_wzi_b'>ddddd</view> | |
25 | +<view class='sp_jg_b'>¥1111111111111</view> | |
26 | +<view class='sp_jgx_b'>¥1111111111111111</view> | |
27 | +</view> | |
28 | + | |
29 | + <view class='guo_b'> | |
30 | + <view class='g_one_b'><text>已抢50件</text></view> | |
31 | + <view class='g_two_b'><text>50%</text></view> | |
32 | + </view> | |
33 | +</view> | |
34 | + | |
35 | +<view class='one_b'> | |
36 | +<view class='sp_top_b'> | |
37 | + | |
38 | +<view class='s_img_b'><image></image></view> | |
39 | +<view class='s_foot1_bulk'>11天22小时33分44秒</view> | |
40 | +</view> | |
41 | + | |
42 | +<view class='sp_wz_b'> | |
43 | +<view class='sp_wzi_b'>ddddd</view> | |
44 | +<view class='sp_jg_b'>1111</view> | |
45 | +<view class='sp_jgx_b'>1111</view> | |
46 | +</view> | |
47 | + | |
48 | + <view class='guo_b'> | |
49 | + <view class='g_one_b'><text>已抢50件</text></view> | |
50 | + <view class='g_two_b'><text>50%</text></view> | |
51 | + </view> | |
52 | +</view> | |
53 | + | |
54 | +<view class='one_b'> | |
55 | +<view class='sp_top_b'> | |
56 | + | |
57 | +<view class='s_img_b'><image></image></view> | |
58 | +<view class='s_foot2_bulk'>11天22小时33分44秒</view> | |
59 | +</view> | |
60 | + | |
61 | +<view class='sp_wz_b'> | |
62 | +<view class='sp_wzi_b'>ddddd</view> | |
63 | +<view class='sp_jg_b'>1111</view> | |
64 | +<view class='sp_jgx_b'>1111</view> | |
65 | +</view> | |
66 | + <view class='guo_b'> | |
67 | + <view class='g_one_b'><text>已抢50件</text></view> | |
68 | + <view class='g_two_b'><text>50%</text></view> | |
69 | + </view> | |
70 | +</view> | |
71 | + | |
72 | +</view> | |
73 | + | |
74 | + | |
75 | +<view class="sp2_b" wx:if="{{style_b==2}}"> | |
76 | +<view class="sp2_one_b"> | |
77 | + | |
78 | + <view class="g_g_b"> | |
79 | + <view class="g_top_b"> | |
80 | + <text>距结束时间</text> | |
81 | + <view class="o1_sj1_bulk"><text>11</text>天<text>22</text>:<text>22</text>:<text>22</text></view> | |
82 | + </view> | |
83 | + </view> | |
84 | + | |
85 | + | |
86 | + <view class='one1_b'> | |
87 | + | |
88 | + | |
89 | + <view class="o1_img_b"><image></image></view> | |
90 | + <view class="o1_right_b"> | |
91 | + | |
92 | + <view class="sp_wzi_b">ddddd</view> | |
93 | + | |
94 | + <view class='sp2_guo_b'> | |
95 | + <view class='g_one2_b'><text>已抢50件</text></view> | |
96 | + <view class='g_two2_b'><text>50%</text></view> | |
97 | + </view> | |
98 | + | |
99 | + <view class='sp_jg_b'>1111</view> | |
100 | + <view class='sp_jgx_b'>1111</view> | |
101 | + | |
102 | + | |
103 | + | |
104 | + </view> | |
105 | + </view> | |
106 | +</view> | |
107 | + | |
108 | + | |
109 | + <view class="sp2_one_b"> | |
110 | + <view class="g_top_b"> | |
111 | + <text>距结束时间</text> | |
112 | + <view class="o1_sj1_bulk"><text>11</text>天<text>22</text>:<text>22</text>:<text>22</text></view> | |
113 | + </view> | |
114 | + <view class='one1_b'> | |
115 | + | |
116 | + | |
117 | + <view class="o1_img_b"><image></image></view> | |
118 | + <view class="o1_right_b"> | |
119 | + | |
120 | + <view class="sp_wzi_b">ddddd</view> | |
121 | + | |
122 | + <view class='sp2_guo_b'> | |
123 | + <view class='g_one2_b'><text>已抢50件</text></view> | |
124 | + <view class='g_two2_b'><text>50%</text></view> | |
125 | + </view> | |
126 | + | |
127 | + <view class='sp_jg_b'>1111</view> | |
128 | + <view class='sp_jgx_b'>1111</view> | |
129 | + | |
130 | + | |
131 | + | |
132 | + </view> | |
133 | + </view> | |
134 | + </view> | |
135 | + | |
136 | + | |
137 | + <view class="sp2_one_b"> | |
138 | + <view class="g_top_b"> | |
139 | + <text>距结束时间</text> | |
140 | + <view class="o1_sj1_bulk"><text>11</text>天<text>22</text>:<text>22</text>:<text>22</text></view> | |
141 | + </view> | |
142 | + <view class='one1_b'> | |
143 | + | |
144 | + | |
145 | + <view class="o1_img_b"><image></image></view> | |
146 | + <view class="o1_right_b"> | |
147 | + | |
148 | + <view class="sp_wzi_b">ddddd</view> | |
149 | + | |
150 | + <view class='sp2_guo_b'> | |
151 | + <view class='g_one2_b'><text>已抢50件</text></view> | |
152 | + <view class='g_two2_b'><text>50%</text></view> | |
153 | + </view> | |
154 | + | |
155 | + <view class='sp_jg_b'>1111</view> | |
156 | + <view class='sp_jgx_b'>1111</view> | |
157 | + | |
158 | + | |
159 | + | |
160 | + </view> | |
161 | + </view> | |
162 | + </view> | |
163 | + | |
164 | + | |
165 | + | |
166 | +</view> | |
167 | + | |
168 | + | |
169 | + | |
170 | + | |
171 | + | |
172 | + | |
173 | + | |
174 | + | |
175 | + | |
176 | + | |
177 | + | |
178 | + | |
179 | + | |
180 | + | |
181 | + | |
182 | + | |
183 | + | |
184 | + | |
185 | + | ... | ... |
components/diy_groupbuy/diy_groupbuy.wxss
0 → 100644
1 | +/* pages/team_guo/team_guo.wxss */ | |
2 | + | |
3 | +/* pages/wp/wp.wxss */ | |
4 | +.kbstyle{ | |
5 | + background-color: red; | |
6 | + width: 100%; | |
7 | + height: 60rpx; | |
8 | +} | |
9 | + | |
10 | +.right_b{ | |
11 | + width: 30rpx; | |
12 | + height: 100%; | |
13 | + background: url(https://mshopimg.yolipai.net/miniapp/images/user/leftTip.png) no-repeat center center; | |
14 | + background-size: 22rpx 40rpx; | |
15 | + margin-left: 600rpx; | |
16 | +} | |
17 | + | |
18 | +.top_b{ | |
19 | + width: 100%; | |
20 | + background-color: white; | |
21 | + height: 70rpx; | |
22 | + line-height: 70rpx; | |
23 | + color: #000; | |
24 | + text-align: left; | |
25 | + border-bottom: 2rpx solid #eee; | |
26 | + display: flex; | |
27 | +} | |
28 | + | |
29 | +.top_b .t_left_b{ | |
30 | + width: 6rpx; | |
31 | + height: 38rpx; | |
32 | + background: #C4182E; | |
33 | + margin-top:18rpx; | |
34 | +margin-right:12rpx; | |
35 | + | |
36 | +} | |
37 | + | |
38 | + | |
39 | +.sp_b{ | |
40 | + min-height: 300rpx; | |
41 | + width: 100%; | |
42 | + background-color: white; | |
43 | + padding:18rpx; | |
44 | +display: flex; | |
45 | +} | |
46 | + | |
47 | +.sp_b .sp_top_b{ | |
48 | + height: 220rpx; | |
49 | + min-width: 30%; | |
50 | + background-color: bisque; | |
51 | + | |
52 | +} | |
53 | + | |
54 | +.sp_b .sp_top_b .s_img_b{ | |
55 | + width: 210rpx; | |
56 | + height: 100%; | |
57 | +} | |
58 | + | |
59 | +.sp_b .sp_top_b .s_img_b image{ | |
60 | + width: 210rpx; | |
61 | + height: 100%; | |
62 | + background-color: blueviolet; | |
63 | + position:relative; | |
64 | +top:-24rpx; | |
65 | +left:-64rpx; | |
66 | + | |
67 | +} | |
68 | + | |
69 | +.sp_b .sp_top_b .s_top_b{ | |
70 | + position: absolute; | |
71 | +background-color:#C4182E; | |
72 | +font-size:24rpx; | |
73 | +height:38rpx; | |
74 | +line-height:38rpx; | |
75 | +left:40rpx; | |
76 | +top:160rpx; | |
77 | +padding:0 10rpx; | |
78 | +color:white; | |
79 | +border-radius:10rpx; | |
80 | + | |
81 | +} | |
82 | + | |
83 | +.sp_b .sp_top_b .s_foot_bulk{ | |
84 | + font-size: 20rpx; | |
85 | + position: relative; | |
86 | + top:-40rpx; | |
87 | + width: 210rpx; | |
88 | + height: 38rpx; | |
89 | + line-height: 38rpx; | |
90 | + color: #fff; | |
91 | + text-align: center; | |
92 | + background-color: rgba(0, 0, 0, 0.5); | |
93 | +} | |
94 | + | |
95 | + | |
96 | + | |
97 | +.sp_wz_b{ | |
98 | +width: 210rpx; | |
99 | + min-height:100rpx; | |
100 | + | |
101 | +} | |
102 | + | |
103 | +.sp_wz_b .sp_wzi_b{ | |
104 | + font-size: 28rpx; | |
105 | + border-bottom: 2rpx solid #dcdcdc; | |
106 | + width: 100%; | |
107 | + text-align: left; | |
108 | + padding: 4rpx 0; | |
109 | + overflow: hidden; | |
110 | + height: 48rpx; | |
111 | + text-overflow: ellipsis; | |
112 | + display: inline-block; | |
113 | + white-space: nowrap; | |
114 | +} | |
115 | + | |
116 | +.sp_wz_b .sp_jg_b{ | |
117 | + color: #C4182E; | |
118 | + font-size: 20rpx; | |
119 | + width: 50%; | |
120 | + overflow: hidden; | |
121 | + display: inline-block; | |
122 | + | |
123 | + text-overflow: ellipsis; | |
124 | + white-space: nowrap; | |
125 | +} | |
126 | + | |
127 | +.sp_wz_b .sp_jgx_b{ | |
128 | + color: #dcdcdc; | |
129 | + text-decoration: line-through; | |
130 | + font-size: 20rpx; | |
131 | + width: 50%; | |
132 | + overflow: hidden; | |
133 | + display: inline-block; | |
134 | + | |
135 | + text-overflow: ellipsis; | |
136 | + white-space: nowrap; | |
137 | +} | |
138 | + | |
139 | +.one_b{ | |
140 | + margin-left: 14rpx; | |
141 | + | |
142 | +} | |
143 | + | |
144 | + | |
145 | +.sp_b .sp_top_b .s_top1_b{ | |
146 | + position: absolute; | |
147 | +background-color:#C4182E; | |
148 | +font-size:24rpx; | |
149 | +height:38rpx; | |
150 | +line-height:38rpx; | |
151 | +left:265rpx; | |
152 | +top:160rpx; | |
153 | +padding:0 10rpx; | |
154 | +color:white; | |
155 | +border-radius:10rpx; | |
156 | + | |
157 | +} | |
158 | + | |
159 | +.sp_b .sp_top_b .s_top2_b{ | |
160 | + position: absolute; | |
161 | +background-color:#C4182E; | |
162 | +font-size:24rpx; | |
163 | +height:38rpx; | |
164 | +line-height:38rpx; | |
165 | +right:146rpx; | |
166 | +top:160rpx; | |
167 | +padding:0 10rpx; | |
168 | +color:white; | |
169 | +border-radius:10rpx; | |
170 | + | |
171 | +} | |
172 | + | |
173 | + | |
174 | + | |
175 | +.sp_b .sp_top_b .s_foot1_bulk{ | |
176 | + font-size: 20rpx; | |
177 | + position: relative; | |
178 | + top:-40rpx; | |
179 | + width: 210rpx; | |
180 | + height: 38rpx; | |
181 | + line-height: 38rpx; | |
182 | + color: #fff; | |
183 | + text-align: center; | |
184 | + background-color: rgba(0, 0, 0, 0.5); | |
185 | +} | |
186 | + | |
187 | + | |
188 | + | |
189 | +.sp_b .sp_top_b .s_foot2_bulk{ | |
190 | + font-size: 20rpx; | |
191 | + position: relative; | |
192 | + top:-40rpx; | |
193 | + width: 210rpx; | |
194 | + height: 38rpx; | |
195 | + line-height: 38rpx; | |
196 | + color: #fff; | |
197 | + text-align: center; | |
198 | + background-color: rgba(0, 0, 0, 0.5); | |
199 | +} | |
200 | + | |
201 | + | |
202 | + | |
203 | + | |
204 | + | |
205 | + | |
206 | + | |
207 | +.sp2_b{ | |
208 | + width: 100%; | |
209 | + min-height: 240rpx; | |
210 | + | |
211 | +} | |
212 | + | |
213 | +.sp2_b .one1_b{ | |
214 | + width: 100%; | |
215 | + background-color: white; | |
216 | + height: 252rpx; | |
217 | + display: flex; | |
218 | + padding: 20rpx; | |
219 | + border-bottom:2rpx#eee solid; | |
220 | + | |
221 | +} | |
222 | + | |
223 | +.sp2_b .one1_b .o1_img_b{ | |
224 | + width: 200rpx; | |
225 | + height: 240rpx; | |
226 | + background-color: bisque; | |
227 | + margin-right: 24rpx; | |
228 | +} | |
229 | + | |
230 | +.o1_right_b .sp_wzi_b{ | |
231 | + font-size: 36rpx; | |
232 | + margin-bottom:6rpx; | |
233 | + | |
234 | + width: 100%; | |
235 | + text-align: left; | |
236 | + padding: 4rpx 0; | |
237 | + overflow: hidden; | |
238 | + height: 48rpx; | |
239 | + text-overflow: ellipsis; | |
240 | +} | |
241 | + | |
242 | +.o1_right_b .o1_sj_b{ | |
243 | + height: 60rpx; | |
244 | + | |
245 | + margin-bottom: 10rpx; | |
246 | +} | |
247 | + | |
248 | +.o1_right_b .o1_sj_b text{ | |
249 | + background-color: #fdcb08; | |
250 | + text-align: center; | |
251 | + border-radius: 10rpx; | |
252 | + padding:4rpx; | |
253 | +margin-left:6rpx; | |
254 | + | |
255 | +} | |
256 | + | |
257 | + | |
258 | + | |
259 | +.o1_right_b .sp_jg_b{ | |
260 | + color: #C4182E; | |
261 | + font-size: 36rpx; | |
262 | + width: 28%; | |
263 | + overflow: hidden; | |
264 | + margin-top: 10rpx; | |
265 | +} | |
266 | + | |
267 | +.o1_right_b .sp_jgx_b{ | |
268 | + color: #dcdcdc; | |
269 | + text-decoration: line-through; | |
270 | + font-size: 26rpx; | |
271 | + width: 50%; | |
272 | + overflow: hidden; | |
273 | + display: inline-block; | |
274 | + margin-top: 10rpx; | |
275 | +} | |
276 | + | |
277 | + | |
278 | +.o1_img_b image{ | |
279 | + width: 100%; | |
280 | + height: 100%; | |
281 | + background-color: blueviolet; | |
282 | + position: relative; | |
283 | + top:-24rpx; | |
284 | +left:-64rpx; | |
285 | + | |
286 | +} | |
287 | + | |
288 | +.o1_right_b .wo_b{ | |
289 | + background-color: #C4182E; | |
290 | + width: 160rpx; | |
291 | + height: 60rpx; | |
292 | + line-height: 60rpx; | |
293 | + color: white; | |
294 | + text-align: center; | |
295 | + font-size: 38rpx; | |
296 | + margin-left:298rpx; | |
297 | +border-radius:14rpx; | |
298 | + | |
299 | +} | |
300 | + | |
301 | +.guo_b{ | |
302 | + width: 100%; | |
303 | + border: 1px solid #C4182E; | |
304 | + text-align: left; | |
305 | + background-color: #fff; | |
306 | + border-radius:24rpx; | |
307 | +height:44rpx; | |
308 | +font-size:26rpx; | |
309 | +display: flex; | |
310 | +} | |
311 | + | |
312 | +.g_one_b{ | |
313 | + width: 50%; | |
314 | + height: 44rpx; | |
315 | + line-height: 44rpx; | |
316 | + text-align: left; | |
317 | + background-color: #C4182E; | |
318 | +color: white; | |
319 | +border-radius:24rpx; | |
320 | +padding-right: 2rpx; | |
321 | + text-overflow: ellipsis; | |
322 | + white-space: nowrap; | |
323 | + overflow: hidden; | |
324 | +} | |
325 | + | |
326 | +.g_one_b text{ | |
327 | + margin-left: 10rpx; | |
328 | + text-overflow: ellipsis; | |
329 | +} | |
330 | + | |
331 | +.g_two_b{ | |
332 | + height: 44rpx; | |
333 | + line-height: 44rpx; | |
334 | + text-align: right; | |
335 | + width: 50%; | |
336 | + color: #C4182E; | |
337 | +} | |
338 | + | |
339 | +.g_two_b text{ | |
340 | + margin-right: 10rpx; | |
341 | +} | |
342 | + | |
343 | +.g_top_b{ | |
344 | + display: flex; | |
345 | + background-color: #fbfaff; | |
346 | + color: #333; | |
347 | + font-size: 28rpx; | |
348 | + height: 60rpx; | |
349 | + line-height: 60rpx; | |
350 | + width: 94%; | |
351 | +} | |
352 | + | |
353 | +.g_top_b text{ | |
354 | + margin-left: 20rpx; | |
355 | +} | |
356 | + | |
357 | +.o1_sj_b text{ | |
358 | + background-color: #fdcb08; | |
359 | + text-align: center; | |
360 | + border-radius: 10rpx; | |
361 | + padding:4rpx; | |
362 | + margin-left:6rpx; | |
363 | + | |
364 | +} | |
365 | + | |
366 | +.o1_sj_b{ | |
367 | + margin-left: 370rpx; | |
368 | +} | |
369 | + | |
370 | +.sp2_guo_b{ | |
371 | + width: 100%; | |
372 | + border: 1px solid #C4182E; | |
373 | + text-align: left; | |
374 | + background-color: #fff; | |
375 | + border-radius:24rpx; | |
376 | + height:44rpx; | |
377 | + font-size:26rpx; | |
378 | + display: flex; | |
379 | +} | |
380 | + | |
381 | +.g_one2_b{ | |
382 | + width: 50%; | |
383 | + height: 44rpx; | |
384 | + line-height: 44rpx; | |
385 | + text-align: left; | |
386 | + background-color: #C4182E; | |
387 | + color: white; | |
388 | + border-radius:24rpx; | |
389 | + padding-right: 2rpx; | |
390 | +} | |
391 | + | |
392 | +.g_one2_b text{ | |
393 | + margin-left: 10rpx; | |
394 | +} | |
395 | + | |
396 | +.g_two2_b{ | |
397 | + height: 44rpx; | |
398 | + line-height: 44rpx; | |
399 | + text-align: right; | |
400 | + width: 50%; | |
401 | + color: #C4182E; | |
402 | +} | |
403 | + | |
404 | +.g_two2_b text{ | |
405 | + margin-right: 10rpx; | |
406 | +} | |
407 | + | |
408 | +.o1_sj1_bulk text{ | |
409 | + background-color: #fdcb08; | |
410 | + text-align: center; | |
411 | + border-radius: 10rpx; | |
412 | + padding:4rpx; | |
413 | + margin-left:6rpx; | |
414 | +} | |
415 | + | |
416 | + | |
417 | + | |
418 | + | |
419 | +.o1_sj1_bulk { | |
420 | + margin-left:306rpx; | |
421 | +} | |
422 | + | |
423 | +.o1_right_b{ | |
424 | + width: 456rpx; | |
425 | +} | |
426 | + | |
427 | + | |
428 | +.down-arrow { | |
429 | + display :inline-block; | |
430 | + position: relative; | |
431 | + width: 40rpx; | |
432 | + height: 30rpx; | |
433 | + margin-right: 20rpx; | |
434 | +} | |
435 | + | |
436 | +.down-arrow::after { | |
437 | + display: inline-block; | |
438 | + content: " "; | |
439 | + height: 18rpx; | |
440 | + width: 18rpx; | |
441 | + border-width: 0 2rpx 2rpx 0; | |
442 | + border-color: #999999; | |
443 | + border-style: solid; | |
444 | + transform: matrix(0.71, 0.71, -0.71, 0.71, 0, 0); | |
445 | + transform-origin: center; | |
446 | + transition: transform .3s; | |
447 | + position: absolute; | |
448 | + top: 50%; | |
449 | + right: 10rpx; | |
450 | + margin-top: -10rpx; | |
451 | +} | |
452 | + | |
453 | + | |
454 | + | |
455 | +.pt_center{ | |
456 | + background: #fff; | |
457 | + position: fixed; | |
458 | + padding: 15px; | |
459 | +} | |
460 | + | |
461 | +.pt_center .pt_zi span{ | |
462 | + color: #333; | |
463 | +} | |
464 | + | |
465 | +.pt_c_img image{ | |
466 | + background-color: red; | |
467 | + width: 48rpx; | |
468 | + height: 48rpx; | |
469 | + position: relative; | |
470 | + top: 0rpx; | |
471 | + right: 0rpx; | |
472 | + display: inline-block; | |
473 | +} | |
474 | + | |
475 | +.pt_c_img{ | |
476 | + display: inline-block; | |
477 | +} | |
478 | + | |
479 | +.pt_zi{ | |
480 | + width: 100%; | |
481 | + font-size: 36rpx; | |
482 | +} | |
483 | + | |
484 | +.g_g{ | |
485 | + background-color: #fff; | |
486 | + width: 100%; | |
487 | +} | |
0 | 488 | \ No newline at end of file | ... | ... |
components/diy_nav/diy_nav.js
0 → 100644
1 | +var t = getApp(), | |
2 | + o = t.globalData.setting; | |
3 | + | |
4 | +Component({ | |
5 | + properties: { | |
6 | + // 这里定义了innerText属性,属性值可以在组件使用时指定 | |
7 | + object: { | |
8 | + type: Object, | |
9 | + value: null, | |
10 | + }, | |
11 | + | |
12 | + nav_list: { | |
13 | + type: Array, | |
14 | + value: [], | |
15 | + }, | |
16 | + | |
17 | + }, | |
18 | + data: { | |
19 | + // 这里是一些组件内部数据 | |
20 | + strs:null, | |
21 | + imghost: o.imghost, | |
22 | + someData: {} | |
23 | + }, | |
24 | + | |
25 | + ready: function() { | |
26 | + console.log("ready"); | |
27 | + var g_id = this.data.object.data; | |
28 | + this.pd_navicon(g_id); | |
29 | + }, | |
30 | + methods: { | |
31 | + // 这里是一个自定义方法,判断图片路径,并加载 | |
32 | + pd_navicon:function(g_id){ | |
33 | + | |
34 | + var item={}; | |
35 | + var nav_strs=g_id; | |
36 | + for (var i=0;i<nav_strs.length;i++){ | |
37 | + if (!(nav_strs[i].navicon.indexOf("/public/static/images/model/tag-icon.png"))){ | |
38 | + nav_strs[i].navicon ="../../../../../images/nav-icon.png"; | |
39 | + } | |
40 | + } | |
41 | + this.setData({ | |
42 | + nav_list:nav_strs, | |
43 | + }); | |
44 | + }, | |
45 | + customMethod: function () { }, | |
46 | + //智能跳转 | |
47 | + go_url:function (e) { | |
48 | + var url=e.currentTarget.dataset.url; | |
49 | + getApp().goto(url); | |
50 | + } | |
51 | + } | |
52 | +}) | |
0 | 53 | \ No newline at end of file | ... | ... |
components/diy_nav/diy_nav.json
0 → 100644
components/diy_nav/diy_nav.wxml
0 → 100644
1 | +<block wx:if="{{object.style==1}}"> | |
2 | + <view class="{{object.seticon==1?'big':object.seticon==2?'big_one_two':'big_border_three'}}"> | |
3 | + <block wx:for="{{nav_list}}"> | |
4 | + <view data-url="{{item.wxapp_url}}" class="s1_gk_a1" bindtap="go_url"> | |
5 | + <view style='width:{{100/nav_list.length}}%' | |
6 | + class="{{object.seticon==1?'big_view_one':object.seticon==2?'big_view_two':'bicder_picture'}}"> | |
7 | + <block wx:if="{{item.navicon==null}}"> | |
8 | + <image style='width:{{object.sliderExample+100}}rpx;height:{{object.sliderExample+100}}rpx;' | |
9 | + class="{{object.seticon==1?'print_one':object.seticon==2?'print_two':'image_none'}}" | |
10 | + src="{{imghost}}/miniapp/images/nav-icon.png"></image> | |
11 | + <view class="{{object.seticon==1?'font_one':object.seticon==2?'font_bicder_two':'font_three'}}"> | |
12 | + {{item.title}} | |
13 | + </view> | |
14 | + </block> | |
15 | + <block wx:if="{{item.navicon!=null}}"> | |
16 | + <image style='width:{{object.sliderExample+100}}rpx;height:{{object.sliderExample+100}}rpx;' | |
17 | + class="{{object.seticon==1?'print_one':object.seticon==2?'print_two':'image_none'}}" | |
18 | + src="{{item.navicon}}"></image> | |
19 | + <view class="{{object.seticon==1?'font_one':object.seticon==2?'font_bicder_two':'font_three'}}"> | |
20 | + {{item.title}} | |
21 | + </view> | |
22 | + </block> | |
23 | + </view> | |
24 | + </view> | |
25 | + </block> | |
26 | + </view> | |
27 | +</block> | |
28 | + | |
29 | +<block wx:if="{{object.style==2}}"> | |
30 | + <view class="big_two"> | |
31 | + <!-- 图片一 --> | |
32 | + <block wx:for="{{nav_list}}"> | |
33 | + <view data-url="{{item.wxapp_url}}" class="s1_gk_a1" bindtap="go_url"> | |
34 | + <view class="one_div"> | |
35 | + <view class="picture_one"> | |
36 | + <block wx:if="{{item.navicon!=null}}"> | |
37 | + <image style='width:{{object.sliderExample+100}}rpx;height:{{object.sliderExample+100}}rpx;' | |
38 | + src="{{item.navicon}}"> | |
39 | + </image> | |
40 | + </block> | |
41 | + | |
42 | + <block wx:if="{{item.navicon==null}}"> | |
43 | + <image style='width:{{object.sliderExample+100}}rpx;height:{{object.sliderExample+100}}rpx;' | |
44 | + src="{{imghost}}/miniapp/images/nav-icon.png"> | |
45 | + </image> | |
46 | + </block> | |
47 | + | |
48 | + </view> | |
49 | + <view class="test">{{item.title}}</view> | |
50 | + </view> | |
51 | + </view> | |
52 | + </block> | |
53 | + </view> | |
54 | +</block> | |
55 | + | ... | ... |
components/diy_nav/diy_nav.wxss
0 → 100644
1 | +/* 最大的view*/ | |
2 | + | |
3 | +.big { | |
4 | + width: 100%; | |
5 | + /* min-height: 280rpx; */ | |
6 | + /* 先设置最小容器单位,min-height:280rpx;然后再设置auto */ | |
7 | + height: auto; | |
8 | + margin: 0rpx auto; | |
9 | + text-align: center; | |
10 | +} | |
11 | + | |
12 | +.s1_gk_a1 { | |
13 | + display: inline; | |
14 | +} | |
15 | + | |
16 | +/* 设置第一张图片的外框 */ | |
17 | + | |
18 | +.big_view_one { | |
19 | + width: 25%; | |
20 | + min-height: 145rpx; | |
21 | + height: auto; | |
22 | + display: inline-block; | |
23 | + text-align: center; | |
24 | + vertical-align: middle; | |
25 | +} | |
26 | + | |
27 | +/* 第一张图片 */ | |
28 | + | |
29 | +.print_one { | |
30 | + display: inline-block; | |
31 | + vertical-align: middle; | |
32 | + flex-direction: row; | |
33 | + margin-top: 30rpx; | |
34 | +} | |
35 | + | |
36 | +/* 第一个文字 */ | |
37 | + | |
38 | +.font_one { | |
39 | + /*display: flex;*/ | |
40 | + height: 40rpx; | |
41 | + font-size: 30rpx; | |
42 | + margin-top: 20rpx; | |
43 | + /*margin-left: 40rpx;*/ | |
44 | + text-align: center; | |
45 | +} | |
46 | + | |
47 | +/* 图片2的大框 */ | |
48 | + | |
49 | +.big_one_two { | |
50 | + display: inline-block; | |
51 | + /* display: flex; */ | |
52 | + width: 100%; | |
53 | + min-height: 122rpx; | |
54 | + height: auto; | |
55 | + margin: 0 auto; | |
56 | + text-align: center; | |
57 | +} | |
58 | + | |
59 | +/* 图片2的外框 */ | |
60 | + | |
61 | +.big_view_two { | |
62 | + display: inline-block; | |
63 | + /* display: flex; */ | |
64 | + width: 20%; | |
65 | + min-height: 86rpx; | |
66 | + line-height: 86rpx; | |
67 | + height: auto; | |
68 | + margin-top: 20rpx; | |
69 | + text-align: center; | |
70 | +} | |
71 | + | |
72 | +/* 图片2 */ | |
73 | + | |
74 | +.print_two { | |
75 | + margin-left: 5rpx; | |
76 | + vertical-align: middle; | |
77 | +} | |
78 | + | |
79 | +/* 文字2 */ | |
80 | + | |
81 | +.font_bicder_two { | |
82 | + display: inline-block; | |
83 | + width: 80rpx; | |
84 | + font-size: 30rpx; | |
85 | + /* margin-left: 40rpx; */ | |
86 | + vertical-align: middle; | |
87 | + line-height: 30rpx; | |
88 | + overflow: hidden; | |
89 | +} | |
90 | + | |
91 | +/* 3功能的大边框 */ | |
92 | + | |
93 | +.big_border_three { | |
94 | + display: flex; | |
95 | + widows: 100%; | |
96 | + height: 108rpx; | |
97 | +} | |
98 | + | |
99 | +/* 图片的边框 */ | |
100 | + | |
101 | +.bicder_picture { | |
102 | + display: flex; | |
103 | + width: 25%; | |
104 | +} | |
105 | + | |
106 | +/* 设置文字3 */ | |
107 | + | |
108 | +.font_three { | |
109 | + display: inline-block; | |
110 | + margin-left: 70rpx; | |
111 | + margin-top: 40rpx; | |
112 | + font-size: 30rpx; | |
113 | + font-family: "宋体"; | |
114 | +} | |
115 | + | |
116 | +/* 隐藏图片 */ | |
117 | + | |
118 | +.image_none { | |
119 | + display: none; | |
120 | +} | |
121 | + | |
122 | +/* 判断后端图片 */ | |
123 | + | |
124 | +.image { | |
125 | + margin-left: 55rpx; | |
126 | + width: 80rpx; | |
127 | + height: 80rpx; | |
128 | + transform: rotate(270deg); | |
129 | +} | |
130 | + | |
131 | +/* | |
132 | + 第二块 */ | |
133 | + | |
134 | +.big_two { | |
135 | + display: inline-block; | |
136 | + width: 100%; | |
137 | + min-height: 280rpx; | |
138 | + /* 先设置最小容器单位,min-height:280rpx;然后再设置auto */ | |
139 | + height: auto; | |
140 | +} | |
141 | + | |
142 | +image { | |
143 | + /* transform:rotate(270deg); */ | |
144 | +} | |
145 | + | |
146 | +/* 图片大外层 */ | |
147 | + | |
148 | +.one_div { | |
149 | + display: inline-block; | |
150 | + min-height: 50%; | |
151 | + width: 50%; | |
152 | + height: auto; | |
153 | +} | |
154 | + | |
155 | +/* 图片的外层 */ | |
156 | + | |
157 | +.picture_one { | |
158 | + display: inline-block; | |
159 | + margin-left: 50rpx; | |
160 | + vertical-align: middle; | |
161 | +} | |
162 | + | |
163 | +/* 文字1 */ | |
164 | + | |
165 | +.test { | |
166 | + width: 60rpx; | |
167 | + height: 40rpx; | |
168 | + margin-left: 30rpx; | |
169 | + font-size: 30rpx; | |
170 | + /* 被display:inline-block;要移动位置的时候用 vertical-align: middle; */ | |
171 | + display: inline-block; | |
172 | + vertical-align: middle; | |
173 | +} | |
174 | + | |
175 | +/* 图片2的大外层 */ | |
176 | + | |
177 | +.two_div { | |
178 | + display: inline-block; | |
179 | + min-height: 50%; | |
180 | + width: 50%; | |
181 | + height: auto; | |
182 | +} | |
183 | + | |
184 | +/* 图片2的外层*/ | |
185 | + | |
186 | +.picture_two { | |
187 | + display: inline-block; | |
188 | + vertical-align: middle; | |
189 | +} | |
190 | + | |
191 | +/* 文字2 */ | |
192 | + | |
193 | +.text_two { | |
194 | + width: 60rpx; | |
195 | + height: 40rpx; | |
196 | + margin-left: 30rpx; | |
197 | + font-size: 30rpx; | |
198 | + /* 被display:inline-block;要移动位置的时候用 vertical-align: middle中部; */ | |
199 | + display: inline-block; | |
200 | + vertical-align: middle; | |
201 | +} | |
202 | + | |
203 | +/* 外层view3 */ | |
204 | + | |
205 | +.three_div { | |
206 | + display: inline-block; | |
207 | + min-height: 50%; | |
208 | + width: 50%; | |
209 | + height: auto; | |
210 | + margin-top: 80rpx; | |
211 | +} | |
212 | + | |
213 | +/* 外层div4 */ | |
214 | + | |
215 | +.four_div { | |
216 | + display: inline-block; | |
217 | + min-height: 50%; | |
218 | + width: 50%; | |
219 | + height: auto; | |
220 | + /* margin-top: 30rpx; */ | |
221 | + vertical-align: middle; | |
222 | +} | ... | ... |
components/diy_notice/diy_notice.js
0 → 100644
1 | +var t = getApp(), | |
2 | + o = t.globalData.setting; | |
3 | +Component({ | |
4 | + properties: { | |
5 | + // 这里定义了innerText属性,属性值可以在组件使用时指定 | |
6 | + object: { | |
7 | + type: Object, | |
8 | + value: null, | |
9 | + }, | |
10 | + }, | |
11 | + data: { | |
12 | + // 这里是一些组件内部数据 | |
13 | + imghost: o.imghost, | |
14 | + someData: {}, | |
15 | + mleft:600, | |
16 | + timer: null, | |
17 | + width:0, | |
18 | + }, | |
19 | + ready: function() { | |
20 | + var th=this; | |
21 | + }, | |
22 | + detached() { | |
23 | + }, | |
24 | + methods: { | |
25 | + go_url:function (e) { | |
26 | + var url=e.currentTarget.dataset.url; | |
27 | + getApp().goto(url); | |
28 | + }, | |
29 | + } | |
30 | +}) | |
0 | 31 | \ No newline at end of file | ... | ... |
components/diy_notice/diy_notice.json
0 → 100644
components/diy_notice/diy_notice.wxml
0 → 100644
1 | +<block wx:if="{{object.style==1}}"> | |
2 | + <view data-url="{{object.wxapp_url}}" class="s1_gk_a1 pd_top10" bindtap="go_url" style="background-color: {{object.notice_bgcolor}}"> | |
3 | + <view class="big_border"> | |
4 | + <image class="image_c" src="/public/static/images/model/notice.png"></image> | |
5 | + <view class="marquee"> | |
6 | + <view class="content"> | |
7 | + <text style="color: {{object.notice_color}}">{{object.noticetxt}}</text> <text style="display: inline-block; width: 590rpx;"></text> | |
8 | + <text style="color: {{object.notice_color}}">{{object.noticetxt}}</text> <text style="display: inline-block; width: 590rpx;"></text> | |
9 | + <text style="color: {{object.notice_color}}">{{object.noticetxt}}</text> <text style="display: inline-block; width: 590rpx;"></text> | |
10 | + </view> | |
11 | + </view> | |
12 | + </view> | |
13 | + </view> | |
14 | +</block> | |
15 | + | |
16 | + | |
17 | + | |
18 | + | ... | ... |
components/diy_notice/diy_notice.wxss
0 → 100644
1 | +.big_border { | |
2 | + width: 100%; | |
3 | + height: 80rpx; | |
4 | + margin-left:40rpx; | |
5 | + | |
6 | +} | |
7 | +.image_c{ | |
8 | + width: 35rpx; | |
9 | + height: 35rpx; | |
10 | + margin-top: 24rpx; | |
11 | +} | |
12 | + | |
13 | +.view1 { | |
14 | + width: auto; | |
15 | + height: 60rpx; | |
16 | + line-height: 60rpx; | |
17 | + margin-left: 20rpx; | |
18 | + margin-top:15rpx; | |
19 | + font-size: 30rpx; | |
20 | +} | |
21 | +.border_min{ | |
22 | + /* margin-top:-45rpx; */ | |
23 | + width: 640rpx; | |
24 | + height: 60rpx; | |
25 | + display:inline-block; | |
26 | + overflow: hidden; | |
27 | +} | |
28 | + | |
29 | + | |
30 | +@keyframes kf-marque-animation{ 0% { transform: translateX(0); } 100% { transform: translateX(-33.3%); } } | |
31 | +.marquee{ | |
32 | + width: 100%; | |
33 | + height: 44rpx; | |
34 | + line-height: 44rpx; | |
35 | + background: none; | |
36 | + border: none; | |
37 | + display: block; | |
38 | + overflow: hidden; | |
39 | + white-space: nowrap; | |
40 | + text-overflow: clip; | |
41 | + position: relative; | |
42 | + font-size: 28rpx; | |
43 | + margin-left: 50rpx; | |
44 | + margin-top: -45rpx; | |
45 | +} | |
46 | +.marquee .content{ | |
47 | + display: inline-block; | |
48 | + position: relative; | |
49 | + padding-right: 0px; | |
50 | + animation: kf-marque-animation 4.5s linear infinite; | |
51 | + white-space: nowrap; | |
52 | +} | |
53 | + | |
54 | +.pd_top10{margin: 10rpx 0} | |
55 | + | ... | ... |
components/diy_picMax/diy_picMax.js
0 → 100644
1 | +Component({ | |
2 | + properties: { | |
3 | + object: { | |
4 | + type: Object, | |
5 | + value: null | |
6 | + }, | |
7 | + // 这里定义了innerText属性,属性值可以在组件使用时指定 | |
8 | + }, | |
9 | + data: { | |
10 | + // 这里是一些组件内部数据 | |
11 | + someData: {}, | |
12 | + pic_height:0,//图片组合的高度 | |
13 | + }, | |
14 | + ready: function () { | |
15 | + //console.log(this.data.object.data) | |
16 | + //--计算图片组合占用的高度-- | |
17 | + var height=0; | |
18 | + this.properties.object.data.forEach(function (val,ind) { | |
19 | + if(val.fir.x==0){ | |
20 | + height+=val.y_span*187; | |
21 | + } | |
22 | + }) | |
23 | + this.setData({pic_height:height}) | |
24 | + | |
25 | + }, | |
26 | + methods: { | |
27 | + //智能跳转到页面 | |
28 | + gopage(e) { | |
29 | + var url = e.currentTarget.dataset.url; | |
30 | + getApp().goto(url); | |
31 | + } | |
32 | + } | |
33 | +}) | |
0 | 34 | \ No newline at end of file | ... | ... |
components/diy_picMax/diy_picMax.json
0 → 100644
components/diy_picMax/diy_picMax.wxml
0 → 100644
1 | +<!--图片组合--> | |
2 | +<view class="picMax" style="height: {{pic_height}}rpx"> | |
3 | + <view wx:for="{{object.data}}" class="pic_item width_{{item.x_span}} height_{{item.y_span}} mar_x{{item.fir.x}} mar_y{{item.fir.y}}"> | |
4 | + <image bindtap='gopage' data-url="{{item.wxapp_url}}" src="{{item.src}}" mode="widthFix"></image> | |
5 | + </view> | |
6 | +</view> | ... | ... |
components/diy_picMax/diy_picMax.wxss
0 → 100644
1 | +.picMax{width: 100%; padding: 0 10rpx;position: relative;} | |
2 | +.pic_item{position: absolute; top:0;left:0;} | |
3 | +.pic_item image{width: 100%; height: 100%} | |
4 | +.width_1{width: 187rpx}.width_2{width: 374rpx;}.width_3{width: 561rpx}.width_4{width:748rpx;} | |
5 | +.height_1{height: 187rpx;}.height_2{height: 374rpx;}.height_3{height: 561rpx}.height_4{height: 748rpx;} | |
6 | +.mar_x1{margin-left:187rpx;}.mar_x2{margin-left:374rpx;}.mar_x3{margin-left:561rpx}.mar_x4{margin-left: 748rpx;} | |
7 | +.mar_y1{margin-top: 187rpx;}.mar_y2{margin-top: 374rpx;}.mar_y3{margin-top: 561rpx}.mar_y4{margin-top: 748rpx;} | |
8 | +.picMax-clear{clear: both;} | |
0 | 9 | \ No newline at end of file | ... | ... |
components/diy_pingd_buy/diy_pingd_buy.js
0 → 100644
1 | +// var e = function(e) { | |
2 | +// return e && e.__esModule ? e : { | |
3 | +// default: e | |
4 | +// }; | |
5 | +// }(require("../../utils/LoadMore3.js")), | |
6 | +// n = new e.default(), | |
7 | +var t = getApp(), | |
8 | + a = t.request, | |
9 | + o = t.globalData.setting, | |
10 | + os = o, | |
11 | + i = require("../../utils/util.js"), | |
12 | + ut = i, | |
13 | + s = require("../../utils/common.js"); | |
14 | +var regeneratorRuntime = require('../../utils/runtime.js'); | |
15 | + | |
16 | +Component({ | |
17 | + properties: { | |
18 | + // 这里定义了innerText属性,属性值可以在组件使用时指定 | |
19 | + object: { | |
20 | + type: Object, | |
21 | + value: null, | |
22 | + }, | |
23 | + goods_array: { | |
24 | + type: Array, | |
25 | + value: [] | |
26 | + }, | |
27 | + newTime: { | |
28 | + type: Number, | |
29 | + value: 0 | |
30 | + }, | |
31 | + }, | |
32 | + data: { | |
33 | + // 这里是一些组件内部数据 | |
34 | + yc: false, | |
35 | + someData: null, | |
36 | + ylp_img: "https://mshopimg.yolipai.net/", | |
37 | + timer: null, | |
38 | + iurl:o.imghost, | |
39 | + }, | |
40 | + ready: function() { | |
41 | + console.log("ready"); | |
42 | + var g_id = this.data.object.data; | |
43 | + console.log(g_id); | |
44 | + this.init(g_id); | |
45 | + }, | |
46 | + detached() { | |
47 | + // 页面被被销毁的时候,清除定时器 | |
48 | + clearInterval(this.data.timer); | |
49 | + }, | |
50 | + methods: { | |
51 | + // 这里是一个自定义方法 | |
52 | + customMethod: function() {}, | |
53 | + init: function(g_id) { | |
54 | + var th = this, | |
55 | + app = getApp(), all_array = [], | |
56 | + index = 0, | |
57 | + goodsidlist=""; | |
58 | + | |
59 | + //--先把商品ID串起来-- | |
60 | + g_id.forEach(function(val, ind) { | |
61 | + var item = {}; | |
62 | + goodsidlist+=val.goodsid+","; | |
63 | + }) | |
64 | + goodsidlist= goodsidlist.substr(0,goodsidlist.length-1); | |
65 | + | |
66 | + //--调用接口,读取拼单-- | |
67 | + app.request.promiseGet("/api/weshop/teamlist/getGoodsList?store_id=" | |
68 | + +os.stoid+"&goodsidlist="+goodsidlist, {}).then(res => { | |
69 | + | |
70 | + //如果拼单的数组为空的时候 | |
71 | + var goodslist=res.data.data; | |
72 | + if(goodslist.length==0) return false; | |
73 | + | |
74 | + /*--商品队列按照添加的顺序排列--*/ | |
75 | + g_id.forEach(function(val, ind) { | |
76 | + goodslist.forEach(function (vy,indy) { | |
77 | + if(val.goodsid==vy.goods_id){ | |
78 | + all_array.push(vy); | |
79 | + } | |
80 | + }) | |
81 | + }) | |
82 | + if(all_array.length==0){ | |
83 | + all_array=goodslist; | |
84 | + } | |
85 | + | |
86 | + var arr = new Array(); | |
87 | + //--三个三个一组--- | |
88 | + for(var i=0;i< all_array.length;i+=3){ | |
89 | + arr.push(all_array.slice(i,i+3)); | |
90 | + } | |
91 | + /*--熏染到前台--*/ | |
92 | + th.setData({goods_array:arr}); | |
93 | + var newTime = ut.gettimestamp(); | |
94 | + th.setData({ newTime: newTime }); | |
95 | + | |
96 | + th.data.timer = setInterval(function() { | |
97 | + th.countDown2(th); | |
98 | + }, 1000); | |
99 | + }); | |
100 | + }, | |
101 | + //---小于10的格式化函数---- | |
102 | + timeFormat: function(param) { | |
103 | + return param < 10 ? '0' + param : param; | |
104 | + }, | |
105 | + //----拼单倒计时函数----- | |
106 | + countDown2: function(ob) { | |
107 | + if (ob == undefined) return false; | |
108 | + var ee = ob; | |
109 | + // 获取当前时间,同时得到活动结束时间数组 | |
110 | + var newTime = ut.gettimestamp(); | |
111 | + var List = ee.data.goods_array; | |
112 | + if (List.length == 0) return false; | |
113 | + for (var j = 0; j < List.length; j++) { | |
114 | + // 对结束时间进行处理渲染到页面 | |
115 | + var endTimeList = List[j]; | |
116 | + for (var i = 0; i < endTimeList.length; i++) { | |
117 | + var o = endTimeList[i]; | |
118 | + var endTime = o.end_time; | |
119 | + // if (o.status == 0) endTime = o.start_time; | |
120 | + let obj = null; | |
121 | + // 如果活动未结束,对时间进行处理 | |
122 | + if (endTime - newTime > 0) { | |
123 | + let time = (endTime - newTime); | |
124 | + // 获取天、时、分、秒 | |
125 | + let day = parseInt(time / (60 * 60 * 24)); | |
126 | + let hou = parseInt(time % (60 * 60 * 24) / 3600); | |
127 | + let min = parseInt(time % (60 * 60 * 24) % 3600 / 60); | |
128 | + let sec = parseInt(time % (60 * 60 * 24) % 3600 % 60); | |
129 | + obj = { | |
130 | + day: this.timeFormat(day), | |
131 | + hou: this.timeFormat(hou), | |
132 | + min: this.timeFormat(min), | |
133 | + sec: this.timeFormat(sec) | |
134 | + } | |
135 | + } else { | |
136 | + //活动已结束,全部设置为'00' | |
137 | + obj = { | |
138 | + day: '00', | |
139 | + hou: '00', | |
140 | + min: '00', | |
141 | + sec: '00' | |
142 | + } | |
143 | + } | |
144 | + var txt = "goods_array[" + j + "][" + i + "].djs"; | |
145 | + ee.setData({ | |
146 | + [txt]: obj | |
147 | + }); | |
148 | + } | |
149 | + } | |
150 | + }, | |
151 | + //图片失败,默认图片 | |
152 | + bind_bnerr3: function (e) { | |
153 | + var _errImg = e.target.dataset.errorimg; | |
154 | + var _Img = e.target.dataset.img; | |
155 | + if (_Img != undefined) { | |
156 | + var _errObj = {}; | |
157 | + _errObj[_errImg] = "/public/images/default_goods_image_240.gif"; | |
158 | + this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ; | |
159 | + } | |
160 | + }, | |
161 | + go_to_pindlist:function () { | |
162 | + wx.navigateTo({ | |
163 | + url:"/pages/activity/pind_list/pind_list" | |
164 | + }); | |
165 | + } | |
166 | + }, | |
167 | + | |
168 | + | |
169 | +}) | |
0 | 170 | \ No newline at end of file | ... | ... |
components/diy_pingd_buy/diy_pingd_buy.json
0 → 100644
components/diy_pingd_buy/diy_pingd_buy.wxml
0 → 100644
1 | +<!--pages/wp/wp.wxml--> | |
2 | +<block wx:if="goods_array.length>0"> | |
3 | + <!--拼单--> | |
4 | + <view class='top_p'> | |
5 | + <view class='t_left_p'></view> | |
6 | + <view class='t_ms_p'>拼单</view> | |
7 | + <view class='right_p' bindtap="go_to_pindlist"> | |
8 | + <image src="{{iurl}}/miniapp/images/icon-arrowdown.png"></image> | |
9 | + </view> | |
10 | + </view> | |
11 | + <!--商品展示--> | |
12 | + <swiper class="s_prom" indicator-active-color='red' indicator-dots="false" wx:if="{{object.style==1}}"> | |
13 | + <view class='sp_p' wx:if="{{object.style==1}}"> | |
14 | + <swiper-item class="s_it" wx:for="{{goods_array}}" > | |
15 | + <block wx:for="{{item}}" wx:for-item="aitem" wx:for-index="aind" > | |
16 | + <navigator url="/pages/goods/goodsInfo/goodsInfo?goods_id={{aitem.goods_id}}" class="s1_gk_a1"> | |
17 | + <view class='one_p'> | |
18 | + <view class='sp_top_p'> | |
19 | + | |
20 | + <block wx:if="{{aitem.start_time>newTime}}"> | |
21 | + <span class='s_top_p' style="background-color: #ffe718;color: #3c3b31;font-weight: bold">即将开始</span> | |
22 | + </block> | |
23 | + <block wx:if="{{aitem.start_time<newTime}}"> | |
24 | + <span class='s_top_p'>火热进行</span> | |
25 | + </block> | |
26 | + | |
27 | + <!-- <span class='s_top_p'>火热进行</span> --> | |
28 | + | |
29 | + <view class='s_img_p'> | |
30 | + <image src="{{iurl+aitem.original_img}}" | |
31 | + data-errorimg="goods_array[{{index}}][{{aind}}].original_img" | |
32 | + binderror="bind_bnerr3"></image> | |
33 | + </view> | |
34 | + | |
35 | + <!--<view class='s_foot_p'>--> | |
36 | + <!--<text>{{aitem.djs.hou}}天</text>--> | |
37 | + <!--<text>{{aitem.djs.hou}}时</text>--> | |
38 | + <!--<text>{{aitem.djs.min}}分</text>--> | |
39 | + <!--<text>{{aitem.djs.sec}}秒</text>--> | |
40 | + <!--</view>--> | |
41 | + | |
42 | + <view class='sp_sj_p' wx:if="{{aitem.kttype==1}}">商家</view> | |
43 | + <view class='sp_sj_p' wx:if="{{aitem.kttype==2}}">会员</view> | |
44 | + <view class='sp_sj_p' wx:if="{{aitem.kttype==3}}">阶梯</view> | |
45 | + </view> | |
46 | + | |
47 | + <view class='sp_wz_p'> | |
48 | + <view class='sp_wzi_p'>{{aitem.goods_name}}</view> | |
49 | + <view class='sp_jg_p'>¥{{aitem.price}}</view> | |
50 | + <!--<view class='sp_jgx_p'>¥{{aitem.market_price}}</view>--> | |
51 | + | |
52 | + <view class="tuan_set_num"> | |
53 | + <view class="co-red2">{{aitem.ct_num}}人团</view> | |
54 | + | |
55 | + <view wx:if="{{aitem.kttype==1 && aitem.goods_num>aitem.buy_num }}" class="cantuan">去参团</view> | |
56 | + <view wx:if="{{aitem.kttype==2 && aitem.goods_num>aitem.buy_num }}" class="cantuan">去开团</view> | |
57 | + <view wx:if="{{aitem.kttype==3 && aitem.goods_num>aitem.buy_num }}" class="cantuan">去开团</view> | |
58 | + <view wx:if="{{aitem.goods_num<=aitem.buy_num }}" class="cantuan huise">已抢光</view> | |
59 | + </view> | |
60 | + </view> | |
61 | + </view> | |
62 | + </navigator> | |
63 | + </block> | |
64 | + </swiper-item> | |
65 | + | |
66 | + </view> | |
67 | + </swiper> | |
68 | + <view class="sp2_p" wx:if="{{object.style==2}}"> | |
69 | + <block wx:for="{{goods_array}}" > | |
70 | + <block wx:for="{{item}}" wx:for-item="aitem" wx:for-index="aind" > | |
71 | + <navigator url="/pages/goods/goodsInfo/goodsInfo?goods_id={{aitem.goods_id}}" class="s1_gk_a1"> | |
72 | + <view class='one1_p'> | |
73 | + <block> | |
74 | + <view class="o1_img_p"> | |
75 | + <image src="{{iurl+aitem.original_img}}" | |
76 | + data-errorimg="goods_array[{{index}}][{{aind}}].original_img" | |
77 | + binderror="bind_bnerr3"></image> | |
78 | + <view class='sp_sj1_p' wx:if="{{aitem.kttype==1}}">商家</view> | |
79 | + <view class='sp_sj1_p' wx:if="{{aitem.kttype==2}}">会员</view> | |
80 | + <view class='sp_sj1_p' wx:if="{{aitem.kttype==3}}">阶梯</view> | |
81 | + </view> | |
82 | + </block> | |
83 | + | |
84 | + <view class="o1_right_p"> | |
85 | + | |
86 | + <view class="sp_wzi_p">{{aitem.title}}</view> | |
87 | + <view class="co-red2"> | |
88 | + <text class="yituan_num">已团{{aitem.buy_num}}件</text> | |
89 | + {{aitem.ct_num}}人团 | |
90 | + </view> | |
91 | + <view class='sp_jg_p'>¥{{aitem.price}}</view> | |
92 | + <view class='sp_jgx_p'>¥{{aitem.market_price}}</view> | |
93 | + | |
94 | + <view class="o1_sj_p"> | |
95 | + <image class="time_img" src="/public/static/images/model/time.png"></image><block wx:if="aitem.djs.day>0">{{aitem.djs.day}}天</block>{{aitem.djs.hou}}时{{aitem.djs.min}}分{{aitem.djs.sec}}秒 | |
96 | + </view> | |
97 | + | |
98 | + <view wx:if="{{aitem.kttype==1 && aitem.goods_num>aitem.buy_num }}" class="wo_p">去参团</view> | |
99 | + <view wx:if="{{aitem.kttype==2 && aitem.goods_num>aitem.buy_num }}" class="wo_p">去开团</view> | |
100 | + <view wx:if="{{aitem.kttype==3 && aitem.goods_num>aitem.buy_num }}" class="wo_p">去参团</view> | |
101 | + <view wx:if="{{aitem.goods_num<=aitem.buy_num }}" class="wo_p huise">已抢光</view> | |
102 | + | |
103 | + </view> | |
104 | + </view> | |
105 | + </navigator> | |
106 | + </block> | |
107 | + </block> | |
108 | + </view> | |
109 | + | |
110 | +</block> | |
0 | 111 | \ No newline at end of file | ... | ... |
components/diy_pingd_buy/diy_pingd_buy.wxss
0 → 100644
1 | +/* pages/wp/wp.wxss */ | |
2 | + | |
3 | +.top_p { | |
4 | + width: 100%; | |
5 | + background-color: white; | |
6 | + height: 70rpx; | |
7 | + line-height: 70rpx; | |
8 | + color: #000; | |
9 | + text-align: left; | |
10 | + border-bottom: 2rpx solid #eee; | |
11 | + display: flex; | |
12 | +} | |
13 | + | |
14 | +.right_p { | |
15 | + width: 30rpx; | |
16 | + height: 100%; | |
17 | + margin-left: 580rpx; | |
18 | +} | |
19 | + | |
20 | +.right_p image { | |
21 | + width: 30rpx; | |
22 | + height: 30rpx; | |
23 | +} | |
24 | + | |
25 | +.top_p .t_left_p { | |
26 | + width: 10rpx; | |
27 | + height: 38rpx; | |
28 | + background: #c4182e; | |
29 | + margin-top: 18rpx; | |
30 | + margin-right: 12rpx; | |
31 | + margin-left: 20rpx; | |
32 | +} | |
33 | + | |
34 | +.sp_p { | |
35 | + min-height: 300rpx; | |
36 | + width: 100%; | |
37 | + background-color: white; | |
38 | + padding: 18rpx; | |
39 | + display: flex; | |
40 | +} | |
41 | + | |
42 | +.sp_p .sp_top_p { | |
43 | + height: 220rpx; | |
44 | + min-width: 30%; | |
45 | + position: relative; | |
46 | +} | |
47 | + | |
48 | +.sp_p .sp_top_p .s_img_p { | |
49 | + width: 210rpx; | |
50 | + height: 100%; | |
51 | +} | |
52 | + | |
53 | +.sp_p .sp_top_p .s_img_p image { | |
54 | + width: 100%; | |
55 | + height: 100%; | |
56 | + background-color: blueviolet; | |
57 | + left: 0rpx; | |
58 | + vertical-align: middle; | |
59 | +} | |
60 | + | |
61 | +.sp_p .sp_top_p .s_top_p { | |
62 | + background-color: #c4182e; | |
63 | + font-size: 24rpx; | |
64 | + height: 38rpx; | |
65 | + line-height: 38rpx; | |
66 | + left: 6rpx; | |
67 | + padding: 0 10rpx; | |
68 | + border-radius: 10rpx; | |
69 | + z-index: 9; | |
70 | + position: absolute; | |
71 | + width: 100rpx; | |
72 | + color: #fff; | |
73 | + text-align: center; | |
74 | +} | |
75 | + | |
76 | +.sp_p .sp_top_p .s_foot_p { | |
77 | + font-size: 20rpx; | |
78 | + position: relative; | |
79 | + top: -90rpx; | |
80 | + width: 210rpx; | |
81 | + height: 38rpx; | |
82 | + line-height: 38rpx; | |
83 | + color: #fff; | |
84 | + text-align: center; | |
85 | + background-color: rgba(0, 0, 0, 0.5); | |
86 | +} | |
87 | + | |
88 | +.s_it { | |
89 | + width: 100%; | |
90 | + display: flex; | |
91 | + background-color: white; | |
92 | +} | |
93 | + | |
94 | +.s1_gk_a1 { | |
95 | + display: inline; | |
96 | + width: auto; | |
97 | + height: auto; | |
98 | +} | |
99 | + | |
100 | +.s_prom { | |
101 | + width: 100%; | |
102 | + background-color: white; | |
103 | + min-height: 200rpx; | |
104 | +} | |
105 | + | |
106 | +swiper { | |
107 | + display: block; | |
108 | + height: 400rpx; | |
109 | +} | |
110 | + | |
111 | +.sp_wz_p { | |
112 | + width: 210rpx; | |
113 | + min-height: 100rpx; | |
114 | +} | |
115 | + | |
116 | +.sp_wz_p .sp_wzi_p { | |
117 | + font-size: 30rpx; | |
118 | + border-bottom: 1rpx solid #dcdcdc; | |
119 | + width: 100%; | |
120 | + text-align: left; | |
121 | + padding: 4rpx 0; | |
122 | + overflow: hidden; | |
123 | + height: 48rpx; | |
124 | + line-height: 48rpx; | |
125 | + text-overflow: ellipsis; | |
126 | + white-space: nowrap; | |
127 | +} | |
128 | + | |
129 | +.sp_wz_p .sp_jg_p { | |
130 | + color: #c4182e; | |
131 | + font-size: 30rpx; | |
132 | + overflow: hidden; | |
133 | + display: inline-block; | |
134 | + text-overflow: ellipsis; | |
135 | + white-space: nowrap; | |
136 | + margin-right: 10rpx; | |
137 | +} | |
138 | + | |
139 | +.sp_wz_p .sp_jgx_p { | |
140 | + color: #adadad; | |
141 | + text-decoration: line-through; | |
142 | + font-size: 24rpx; | |
143 | + overflow: hidden; | |
144 | + display: inline-block; | |
145 | + text-overflow: ellipsis; | |
146 | + white-space: nowrap; | |
147 | +} | |
148 | + | |
149 | +.one_p { | |
150 | + margin-left: 20rpx; | |
151 | +} | |
152 | + | |
153 | +.sp_p .sp_top_p .s_top1_p { | |
154 | + position: absolute; | |
155 | + background-color: #c4182e; | |
156 | + font-size: 24rpx; | |
157 | + height: 38rpx; | |
158 | + line-height: 38rpx; | |
159 | + left: 265rpx; | |
160 | + top: 160rpx; | |
161 | + padding: 0 10rpx; | |
162 | + color: white; | |
163 | + border-radius: 10rpx; | |
164 | +} | |
165 | + | |
166 | +.sp_p .sp_top_p .s_top2_p { | |
167 | + position: absolute; | |
168 | + background-color: #c4182e; | |
169 | + font-size: 24rpx; | |
170 | + height: 38rpx; | |
171 | + line-height: 38rpx; | |
172 | + right: 146rpx; | |
173 | + top: 160rpx; | |
174 | + padding: 0 10rpx; | |
175 | + color: white; | |
176 | + border-radius: 10rpx; | |
177 | +} | |
178 | + | |
179 | +.sp_p .sp_top_p .s_foot1_p { | |
180 | + font-size: 20rpx; | |
181 | + position: absolute; | |
182 | + top: 332rpx; | |
183 | + width: 210rpx; | |
184 | + height: 38rpx; | |
185 | + line-height: 38rpx; | |
186 | + color: #fff; | |
187 | + text-align: center; | |
188 | + background-color: rgba(0, 0, 0, 0.5); | |
189 | +} | |
190 | + | |
191 | +.sp_p .sp_top_p .s_foot2_p { | |
192 | + font-size: 20rpx; | |
193 | + position: absolute; | |
194 | + top: 332rpx; | |
195 | + width: 210rpx; | |
196 | + height: 38rpx; | |
197 | + line-height: 38rpx; | |
198 | + color: #fff; | |
199 | + text-align: center; | |
200 | + background-color: rgba(0, 0, 0, 0.5); | |
201 | +} | |
202 | + | |
203 | +.sp2_p { | |
204 | + width: 100%; | |
205 | + min-height: 240rpx; | |
206 | +} | |
207 | + | |
208 | +.sp2_p .one1_p { | |
209 | + width: 100%; | |
210 | + background-color: white; | |
211 | + height: 252rpx; | |
212 | + display: flex; | |
213 | + padding: 20rpx; | |
214 | + border-bottom: 6rpx#eee solid; | |
215 | +} | |
216 | + | |
217 | +.sp2_p .one1_p .o1_img_p { | |
218 | + width: 200rpx; | |
219 | + height: 240rpx; | |
220 | + margin-right: 24rpx; | |
221 | +} | |
222 | + | |
223 | +.o1_right_p{position: relative; width: 485rpx;} | |
224 | + | |
225 | +.o1_right_p .sp_wzi_p { | |
226 | + font-size: 36rpx; | |
227 | + margin-bottom: 6rpx; | |
228 | + width: 100%; | |
229 | + text-align: left; | |
230 | + padding: 4rpx 0; | |
231 | + overflow: hidden; | |
232 | + height: 48rpx; | |
233 | + text-overflow: ellipsis; | |
234 | +} | |
235 | + | |
236 | +.o1_right_p .o1_sj_p { | |
237 | + height: 60rpx; | |
238 | + margin-bottom: 10rpx; | |
239 | + font-size: 28rpx; | |
240 | + line-height: 40rpx; | |
241 | +} | |
242 | + | |
243 | +.o1_right_p .o1_sj_p text { | |
244 | + background-color: #fdcb08; | |
245 | + text-align: center; | |
246 | + border-radius: 10rpx; | |
247 | + padding: 4rpx; | |
248 | + margin-left: 6rpx; | |
249 | +} | |
250 | + | |
251 | +.o1_right_p .sp_jg_p { | |
252 | + color: #c4182e; | |
253 | + font-size: 36rpx; | |
254 | + overflow: hidden; | |
255 | + display: inline-block; | |
256 | + margin-right: 10rpx; | |
257 | +} | |
258 | + | |
259 | +.o1_right_p .sp_jgx_p { | |
260 | + color: #adadad; | |
261 | + text-decoration: line-through; | |
262 | + font-size: 26rpx; | |
263 | + overflow: hidden; | |
264 | + display: inline-block; | |
265 | +} | |
266 | + | |
267 | +.o1_img_p image { | |
268 | + width: 100%; | |
269 | + height: 100%; | |
270 | + background-color: blueviolet; | |
271 | + position: relative; | |
272 | + top: -8rpx; | |
273 | + left: 0rpx; | |
274 | +} | |
275 | + | |
276 | +.o1_right_p .wo_p { | |
277 | + background-color: #c4182e; | |
278 | + width: 160rpx; | |
279 | + height: 60rpx; | |
280 | + line-height: 60rpx; | |
281 | + color: white; | |
282 | + text-align: center; | |
283 | + font-size: 26rpx; | |
284 | + border-radius: 14rpx; | |
285 | + position: absolute; | |
286 | + right: 0; | |
287 | + bottom:46rpx; | |
288 | +} | |
289 | + | |
290 | +.sp_sj_p { | |
291 | + background-color: red; | |
292 | + color: white; | |
293 | + font-size: 24rpx; | |
294 | + border-radius: 50%; | |
295 | + position: absolute; | |
296 | + bottom: 300rpx; | |
297 | + right: 0rpx; | |
298 | + top: 0; | |
299 | + width: 60rpx; | |
300 | + height: 60rpx; | |
301 | + text-align: center; | |
302 | + line-height: 60rpx; | |
303 | + | |
304 | +} | |
305 | + | |
306 | +.sp_sj1_p { | |
307 | + background-color: red; | |
308 | + color: white; | |
309 | + font-size: 24rpx; | |
310 | + border-radius: 50%; | |
311 | + position: relative; | |
312 | + bottom: 257rpx; | |
313 | + width: 60rpx; | |
314 | + height: 60rpx; | |
315 | + text-align: center; | |
316 | + line-height: 60rpx; | |
317 | +} | |
318 | +.tuan_set_num{ | |
319 | + display: flex;justify-content: space-between; font-size: 28rpx; | |
320 | +} | |
321 | + | |
322 | +.tuan_set_num .co-red2{ | |
323 | + color: #B2AEA8;font-size: 26rpx; | |
324 | +} | |
325 | +.tuan_set_num .cantuan{ | |
326 | + background:#c4182e; color: #fff; padding: 4rpx 10rpx; border-radius:5rpx ; | |
327 | +} | |
328 | +.tuan_set_num .cantuan.huise{ | |
329 | + background:gainsboro; color: #666; | |
330 | +} | |
331 | + | |
332 | +.o1_sj_p .time_img{width: 40rpx; height: 40rpx; vertical-align: top; margin-right: 10rpx;} | |
333 | +.o1_right_p .co-red2{font-size:30rpx; color: #999;} | |
334 | +.o1_right_p .co-red2 .yituan_num{font-size:30rpx; margin-right: 10rpx; color: #333;} | ... | ... |
components/diy_richtext/diy_richtext.js
0 → 100644
1 | +Component({ | |
2 | + properties: { | |
3 | + // 这里定义了innerText属性,属性值可以在组件使用时指定 | |
4 | + | |
5 | + nodes: { | |
6 | + type: String, | |
7 | + value: '<div><h3>javascript - <em>js同步编程</em>与异步编程的区别,异步有哪些优点,为什么...</h3><div><span>2016年5月20日 - </span>从编程方式来讲当然是<em>同步编程</em>的方式更为简单,但是同步有其局限性一是假如是单线程那么一旦遇到阻塞调用,会造成整个线程阻塞,导致cpu无法得到有效利用...</div><div><div></div><span ><span ></span></span> - 百度快照</div><div ><span>为您推荐:</span>js同步和异步ajax异步和同步的区别</div></div>', | |
8 | + }, | |
9 | + my:{ | |
10 | + type: String, | |
11 | + value:'' | |
12 | + } | |
13 | + | |
14 | + | |
15 | + | |
16 | + }, | |
17 | + data: { | |
18 | + // 这里是一些组件内部数据 | |
19 | + | |
20 | + someData: {} | |
21 | + }, | |
22 | + | |
23 | + pageLifetimes: { | |
24 | + // 组件所在页面的生命周期函数 | |
25 | + show: () => { }, | |
26 | + hide: () => { } | |
27 | + }, | |
28 | + | |
29 | + | |
30 | + methods: { | |
31 | + // 这里是一个自定义方法 | |
32 | + | |
33 | + customMethod: function () { | |
34 | + this.setData({ | |
35 | + my:'oooooo' | |
36 | + }) | |
37 | + }, | |
38 | + } | |
39 | +}) | |
0 | 40 | \ No newline at end of file | ... | ... |
components/diy_richtext/diy_richtext.json
0 → 100644
components/diy_richtext/diy_richtext.wxml
0 → 100644
components/diy_richtext/diy_richtext.wxss
0 → 100644
components/diy_searchbox/diy_searchbox.js
0 → 100644
1 | +var t = getApp(), | |
2 | + o = t.globalData.setting; | |
3 | + | |
4 | + | |
5 | +Component({ | |
6 | + properties: { | |
7 | + // 这里定义了innerText属性,属性值可以在组件使用时指定 | |
8 | + | |
9 | + object: { | |
10 | + type: Object, | |
11 | + value: null, | |
12 | + }, | |
13 | + }, | |
14 | + data: { | |
15 | + // 这里是一些组件内部数据 | |
16 | + yc:false, | |
17 | + imghost: o.imghost, | |
18 | + someData: {} | |
19 | + }, | |
20 | + ready: function() { | |
21 | + console.log("ready"); | |
22 | + }, | |
23 | + methods: { | |
24 | + //智能跳转 | |
25 | + go_url:function (e) { | |
26 | + var url=e.currentTarget.dataset.url; | |
27 | + getApp().goto(url); | |
28 | + } | |
29 | + | |
30 | + | |
31 | + | |
32 | + } | |
33 | +}) | |
0 | 34 | \ No newline at end of file | ... | ... |
components/diy_searchbox/diy_searchbox.json
0 → 100644
components/diy_searchbox/diy_searchbox.wxml
0 → 100644
1 | +<!--pages/diy_ss/diy_ss.wxml--> | |
2 | +<view class='ss' wx:if="{{object.style==1}}"> | |
3 | + <view bindtap='go_url' data-url="/pages/goods/search/search" class="s1_gk_a1"> | |
4 | + <view class='s_ge'> | |
5 | + <image src='{{imghost}}/miniapp/images/search.png'></image> | |
6 | + <text>在店铺内搜索</text> | |
7 | + </view> | |
8 | + </view> | |
9 | +</view> | |
10 | + | |
11 | +<view class='ss2' wx:if='{{object.style==2}}' style='background-color:{{object.top_bgcolor}}'> | |
12 | + <view class='s2_left'> | |
13 | + <navigator url="/pages/index/index/index" class="s1_gk_a1"> | |
14 | + <image src='/public/static/images/model/nav.png'></image> | |
15 | + </navigator> | |
16 | + </view> | |
17 | + | |
18 | + <view class='s2_cen' style='background-color:{{object.inner_bgcolor}}'> | |
19 | + <navigator url="/pages/goods/search/search" class="s1_gk_a2"> | |
20 | + <image src='/public/static/images/model/select.png'></image> | |
21 | + <text>在店铺内搜索</text> | |
22 | + </navigator> | |
23 | + </view> | |
24 | + | |
25 | + <view class='s2_right'> | |
26 | + <navigator url="/pages/cart/cart/cart" class="s1_gk_a1"> | |
27 | + <image src='/public/static/images/model/car.png'></image> | |
28 | + </navigator> | |
29 | + </view> | |
30 | +</view> | |
0 | 31 | \ No newline at end of file | ... | ... |
components/diy_searchbox/diy_searchbox.wxss
0 → 100644
1 | +/* pages/diy_ss/diy_ss.wxss */ | |
2 | + | |
3 | +.ss{ | |
4 | + font-size: 28rpx; | |
5 | + text-align: center; | |
6 | + padding: 20rpx; | |
7 | +} | |
8 | + | |
9 | +.s_ge{ | |
10 | + width: 700rpx; | |
11 | + height: 70rpx; | |
12 | + text-align: center; | |
13 | + border-radius: 8rpx; | |
14 | + color: #999; | |
15 | + background: #fff none repeat scroll 0 0; | |
16 | + border: 2px solid #eee; | |
17 | + line-height: 64rpx; | |
18 | +} | |
19 | + | |
20 | +.s_ge image{ | |
21 | + width: 30rpx; | |
22 | + height: 30rpx; | |
23 | + margin-right: 10rpx; | |
24 | + margin-bottom: -8rpx; | |
25 | +} | |
26 | + | |
27 | +.ss2{ | |
28 | + background-color: rgb(232, 31, 24); | |
29 | + | |
30 | + display: flex; | |
31 | + width: 100%; | |
32 | + padding: 10rpx; | |
33 | + height: 70rpx; | |
34 | + line-height: 70rpx; | |
35 | +} | |
36 | + | |
37 | +.s2_left image{ | |
38 | + width: 35rpx; | |
39 | + height: 30rpx; | |
40 | + margin-left: 10rpx; | |
41 | +} | |
42 | + | |
43 | +.s2_cen{ | |
44 | + width: 80%; | |
45 | + height: 70rpx; | |
46 | + color: #fff; | |
47 | + text-align: left; | |
48 | + font-size: 28rpx; | |
49 | + line-height: 60rpx; | |
50 | + background-color: rgb(207, 6, 0); | |
51 | + margin-left: 20rpx; | |
52 | +} | |
53 | + | |
54 | +.s_ge text{ | |
55 | + margin-bottom: 10rpx; | |
56 | +} | |
57 | + | |
58 | +.s2_cen image{ | |
59 | + width: 30rpx; | |
60 | + height: 30rpx; | |
61 | + margin-left: 10rpx; | |
62 | + margin-right: 4rpx; | |
63 | + margin-bottom:-6rpx; | |
64 | +margin-top:20rpx; | |
65 | + | |
66 | +} | |
67 | + | |
68 | +.s1_gk_a1{ | |
69 | + display: inline; | |
70 | + width: auto; | |
71 | + height: auto; | |
72 | +} | |
73 | + | |
74 | +.s2_right image{ | |
75 | + width: 35rpx; | |
76 | + height: 30rpx; | |
77 | + margin-left: 20rpx; | |
78 | +} | |
0 | 79 | \ No newline at end of file | ... | ... |
components/diy_seckill/diy_seckill.js
0 → 100644
1 | +// var e = function(e) { | |
2 | +// return e && e.__esModule ? e : { | |
3 | +// default: e | |
4 | +// }; | |
5 | +// }(require("../../utils/LoadMore3.js")), | |
6 | +// n = new e.default(), | |
7 | +var t = getApp(), | |
8 | + a = t.request, | |
9 | + o = t.globalData.setting, | |
10 | + os = o, | |
11 | + i = require("../../utils/util.js"), | |
12 | + ut = i, | |
13 | + s = require("../../utils/common.js"); | |
14 | +var regeneratorRuntime = require('../../utils/runtime.js'); | |
15 | +Component({ | |
16 | + properties: { | |
17 | + // 这里定义了innerText属性,属性值可以在组件使用时指定 | |
18 | + object: { | |
19 | + type: Object, | |
20 | + value: null, | |
21 | + }, | |
22 | + goods_array: { | |
23 | + type: Array, | |
24 | + value: [] | |
25 | + }, | |
26 | + newTime: { | |
27 | + type: Number, | |
28 | + value: 0 | |
29 | + }, | |
30 | + }, | |
31 | + data: { | |
32 | + // 这里是一些组件内部数据 | |
33 | + yc: false, | |
34 | + someData: null, | |
35 | + ylp_img: "https://mshopimg.yolipai.net/", | |
36 | + imghost: os.imghost, | |
37 | + timer: null, | |
38 | + }, | |
39 | + ready: function() { | |
40 | + console.log("ready"); | |
41 | + var g_id = this.data.object.data; | |
42 | + console.log(g_id); | |
43 | + this.init(g_id); | |
44 | + }, | |
45 | + detached() { | |
46 | + // 页面被被销毁的时候,清除定时器 | |
47 | + clearInterval(this.data.timer); | |
48 | + }, | |
49 | + methods: { | |
50 | + // 这里是一个自定义方法 | |
51 | + customMethod: function() {}, | |
52 | + init: function(g_id) { | |
53 | + var th = this, app = getApp(),all_array = [], goodsidlist=""; | |
54 | + | |
55 | + //--先把商品ID串起来-- | |
56 | + g_id.forEach(function(val, ind) { | |
57 | + var item = {}; | |
58 | + goodsidlist+=val.goodsid+","; | |
59 | + }) | |
60 | + | |
61 | + //--调用接口,读取秒杀-- | |
62 | + app.request.promiseGet("/api/ms/flash_sale/getGoodsList?store_id=" | |
63 | + +os.stoid+"&goodsidlist="+goodsidlist, {}).then(res => { | |
64 | + //如果秒杀的数组为空的时候 | |
65 | + console.log(111111111111) | |
66 | + console.log(res.data.data) | |
67 | + var goodslist=res.data.data; | |
68 | + if(goodslist.length==0) return false; | |
69 | + | |
70 | + // 判断火热,预热 | |
71 | + var newTime = ut.gettimestamp(); | |
72 | + th.setData({newTime:newTime}); | |
73 | + // for(var a=0;a< goodslist.length;a++){ | |
74 | + // var starTime=goodslist[a].start_time; | |
75 | + // var msStr=[]; | |
76 | + // console.log(2222222222) | |
77 | + // console.log(starTime+":"+newTime) | |
78 | + // if (starTime>newTime){ | |
79 | + // msStr.push() | |
80 | + // //th.setData({msText:'即将开始'}); | |
81 | + // } | |
82 | + // if (starTime<newTime){ | |
83 | + // th.setData({msText:'火热进行'}); | |
84 | + // } | |
85 | + // } | |
86 | + /*--商品队列按照添加的顺序排列--*/ | |
87 | + g_id.forEach(function(val, ind) { | |
88 | + goodslist.forEach(function (vy,indy) { | |
89 | + if(val.goodsid==vy.goods_id){ | |
90 | + all_array.push(vy); | |
91 | + th.setData({goods_array:arr}); | |
92 | + } | |
93 | + }) | |
94 | + }) | |
95 | + if(all_array.length==0){ | |
96 | + all_array=goodslist; | |
97 | + } | |
98 | + | |
99 | + var arr = new Array(); | |
100 | + //--三个三个一组--- | |
101 | + for(var i=0;i< all_array.length;i+=3){ | |
102 | + arr.push(all_array.slice(i,i+3)); | |
103 | + } | |
104 | + /*--熏染到前台--*/ | |
105 | + | |
106 | + th.setData({goods_array:arr}); | |
107 | + | |
108 | + th.data.timer = setInterval(function() { | |
109 | + th.countDown2(th); | |
110 | + }, 1000); | |
111 | + }); | |
112 | + }, | |
113 | + //---小于10的格式化函数---- | |
114 | + timeFormat: function(param) { | |
115 | + return param < 10 ? '0' + param : param; | |
116 | + }, | |
117 | + //----秒杀倒计时函数----- | |
118 | + countDown2: function(ob) { | |
119 | + if (ob == undefined) return false; | |
120 | + var ee = ob; | |
121 | + // 获取当前时间,同时得到活动结束时间数组 | |
122 | + var newTime = ut.gettimestamp(); | |
123 | + var List = ee.data.goods_array; | |
124 | + if (List.length == 0) return false; | |
125 | + for (var j = 0; j < List.length; j++) { | |
126 | + // 对结束时间进行处理渲染到页面 | |
127 | + var endTimeList = List[j]; | |
128 | + for (var i = 0; i < endTimeList.length; i++) { | |
129 | + var o = endTimeList[i]; | |
130 | + var endTime = o.end_time; | |
131 | + // if (o.status == 0) endTime = o.start_time; | |
132 | + let obj = null; | |
133 | + // 如果活动未结束,对时间进行处理 | |
134 | + if (endTime - newTime > 0) { | |
135 | + let time = (endTime - newTime); | |
136 | + // 获取天、时、分、秒 | |
137 | + let day = parseInt(time / (60 * 60 * 24)); | |
138 | + let hou = parseInt(time % (60 * 60 * 24) / 3600); | |
139 | + let min = parseInt(time % (60 * 60 * 24) % 3600 / 60); | |
140 | + let sec = parseInt(time % (60 * 60 * 24) % 3600 % 60); | |
141 | + obj = { | |
142 | + day: this.timeFormat(day), | |
143 | + hou: this.timeFormat(hou), | |
144 | + min: this.timeFormat(min), | |
145 | + sec: this.timeFormat(sec) | |
146 | + } | |
147 | + } else { | |
148 | + //活动已结束,全部设置为'00' | |
149 | + obj = { | |
150 | + day: '00', | |
151 | + hou: '00', | |
152 | + min: '00', | |
153 | + sec: '00' | |
154 | + } | |
155 | + } | |
156 | + var txt = "goods_array[" + j + "][" + i + "].djs"; | |
157 | + ee.setData({ | |
158 | + [txt]: obj | |
159 | + }); | |
160 | + } | |
161 | + } | |
162 | + }, | |
163 | + //图片失败,默认图片 | |
164 | + bind_bnerr3: function (e) { | |
165 | + var _errImg = e.target.dataset.errorimg; | |
166 | + var _errObj = {}; | |
167 | + _errObj[_errImg] = "/public/images/default_goods_image_240.gif"; | |
168 | + this.setData(_errObj) //注意这里的赋值方式,只是将数据列表中的此项图片路径值替换掉 ; | |
169 | + }, | |
170 | + | |
171 | + go_to_skill:function () { | |
172 | + wx.navigateTo({ | |
173 | + url:"/pages/activity/seckill_list/seckill_list" | |
174 | + }); | |
175 | + } | |
176 | + }, | |
177 | + | |
178 | + | |
179 | +}) | |
0 | 180 | \ No newline at end of file | ... | ... |
components/diy_seckill/diy_seckill.json
0 → 100644
components/diy_seckill/diy_seckill.wxml
0 → 100644
1 | +<block wx:if="goods_array.length>0"> | |
2 | + <!--秒杀--> | |
3 | + <view class='top'> | |
4 | + <view class='t_left'></view> | |
5 | + <view class='t_ms'>秒杀</view> | |
6 | + <view class='right_k' bindtap="go_to_skill"> | |
7 | + <image src="{{imghost}}/miniapp/images/icon-arrowdown.png"></image> | |
8 | + </view> | |
9 | + </view> | |
10 | + | |
11 | + <!--商品展示--> | |
12 | + <swiper class="s_prom" indicator-active-color='red' indicator-dots="false" wx:if="{{object.style==1}}"> | |
13 | + <view class='sp' wx:if="{{object.style==1}}"> | |
14 | + <swiper-item class="s_it" wx:for="{{goods_array}}" > | |
15 | + <block wx:for="{{item}}" wx:for-item="aitem" wx:for-index="aind"> | |
16 | + <navigator url="/pages/goods/goodsInfo/goodsInfo?goods_id={{aitem.goods_id}}" class="s1_gk_a1"> | |
17 | + <view class='one'> | |
18 | + <view class='sp_top'> | |
19 | + <view class='po'></view> | |
20 | + <block wx:if="{{aitem.start_time>newTime}}"> | |
21 | + <span class='s_top_kill' style="background-color: #ffe718;color: #3c3b31;font-weight: bold">即将开始</span> | |
22 | + </block> | |
23 | + <block wx:if="{{aitem.start_time<newTime}}"> | |
24 | + <span class='s_top_kill'>火热进行</span> | |
25 | + </block> | |
26 | + <view class='clear'></view> | |
27 | + | |
28 | + <view class='s_img'> | |
29 | + <image src="{{imghost+aitem.original_img}}" | |
30 | + data-errorimg="goods_array[{{index}}][{{aind}}].original_img" | |
31 | + binderror="bind_bnerr3"></image> | |
32 | + </view> | |
33 | + | |
34 | + <view class='s_foot_kill'> | |
35 | + <text>{{aitem.djs.day}}天</text> | |
36 | + <text>{{aitem.djs.hou}}时</text> | |
37 | + <text>{{aitem.djs.min}}分</text> | |
38 | + <text>{{aitem.djs.sec}}秒</text> | |
39 | + </view> | |
40 | + <view class='clear'></view> | |
41 | + | |
42 | + </view> | |
43 | + | |
44 | + <view class='sp_wz'> | |
45 | + <view class='sp_wzi'>{{aitem.goods_name}}</view> | |
46 | + <view class='sp_jg'>¥{{aitem.price}}</view> | |
47 | + <view class='sp_jgx'>¥{{aitem.market_price}}</view> | |
48 | + </view> | |
49 | + | |
50 | + </view> | |
51 | + </navigator> | |
52 | + </block> | |
53 | + </swiper-item> | |
54 | + </view> | |
55 | + </swiper> | |
56 | + | |
57 | + <view class="sp2" wx:if="{{object.style==2}}"> | |
58 | + <block wx:for="{{goods_array}}" > | |
59 | + <block wx:for="{{item}}" wx:for-item="aitem" wx:for-index="aind" > | |
60 | + <navigator url="/pages/goods/goodsInfo/goodsInfo?goods_id={{aitem.goods_id}}" class="s1_gk_a1"> | |
61 | + <view class='one1'> | |
62 | + | |
63 | + <view class="o1_img"> | |
64 | + <image src="{{imghost+aitem.original_img}}" | |
65 | + data-errorimg="goods_array[{{index}}][{{aind}}].original_img" | |
66 | + binderror="bind_bnerr3"></image> | |
67 | + </view> | |
68 | + | |
69 | + <view class="o1_right"> | |
70 | + <view class="sp_wzi">{{aitem.goods_name}}</view> | |
71 | + <view class="o1_sj_kill"> | |
72 | + <text>{{aitem.djs.day}}</text> | |
73 | + 天 | |
74 | + <text>{{aitem.djs.hou}}</text> | |
75 | + : | |
76 | + <text>{{aitem.djs.min}}</text> | |
77 | + : | |
78 | + <text>{{aitem.djs.sec}}</text> | |
79 | + | |
80 | + </view> | |
81 | + <view class='sp_jg'>¥{{aitem.price}}</view> | |
82 | + <view class='sp_jgx'>¥{{aitem.market_price}}</view> | |
83 | + <block wx:if="{{aitem.start_time>newTime}}"> | |
84 | + <view class="wo" style="background-color: #adadad">正在预热</view> | |
85 | + </block> | |
86 | + <block wx:if="{{aitem.start_time<newTime}}"> | |
87 | + <view class="wo">我要抢</view> | |
88 | + </block> | |
89 | + | |
90 | + | |
91 | + </view> | |
92 | + </view> | |
93 | + </navigator> | |
94 | + </block> | |
95 | + </block> | |
96 | + | |
97 | + </view> | |
98 | + <view class='clear'></view> | |
99 | + | |
100 | +</block> | |
0 | 101 | \ No newline at end of file | ... | ... |
components/diy_seckill/diy_seckill.wxss
0 → 100644
1 | + | |
2 | +.top{ | |
3 | + width: 100%; | |
4 | + background-color: white; | |
5 | + height: 70rpx; | |
6 | + line-height: 70rpx; | |
7 | + color: #000; | |
8 | + text-align: left; | |
9 | + border-bottom: 2rpx solid #eee; | |
10 | + display: flex; | |
11 | +} | |
12 | + | |
13 | + | |
14 | +.s_it{ | |
15 | + width: 100%; | |
16 | + display: flex; | |
17 | + background-color: white; | |
18 | +} | |
19 | + | |
20 | +.s_prom{ | |
21 | + width: 100%; | |
22 | + background-color: white; | |
23 | + min-height: 200rpx; | |
24 | +} | |
25 | + | |
26 | +swiper { | |
27 | + display:block; | |
28 | + height:400rpx; | |
29 | + | |
30 | +} | |
31 | + | |
32 | +.right_k{ | |
33 | + width: 30rpx; | |
34 | + height: 100%; | |
35 | + margin-left: 580rpx; | |
36 | +} | |
37 | +.right_k image{ width: 30rpx; height: 30rpx} | |
38 | + | |
39 | + | |
40 | +.top .t_left{ | |
41 | + width: 10rpx; | |
42 | + height: 38rpx; | |
43 | + background: #C4182E; | |
44 | + margin-top:18rpx; | |
45 | +margin-right:12rpx; | |
46 | +margin-left:20rpx; | |
47 | +} | |
48 | + | |
49 | + | |
50 | +.sp{ | |
51 | + min-height: 300rpx; | |
52 | + width: 100%; | |
53 | + background-color: white; | |
54 | + padding:18rpx; | |
55 | +display: flex; | |
56 | +} | |
57 | + | |
58 | +.sp .sp_top{ | |
59 | + height: 220rpx; | |
60 | + min-width: 30%; | |
61 | + | |
62 | + | |
63 | +} | |
64 | + | |
65 | +.sp .sp_top .s_img{ | |
66 | + width: 210rpx; | |
67 | + height: 100%; | |
68 | +} | |
69 | + | |
70 | +.sp .sp_top .s_img image{ | |
71 | + width: 210rpx; | |
72 | + height: 100%; | |
73 | + | |
74 | + position: relative; | |
75 | + top: -74rpx; | |
76 | + left:0rpx; | |
77 | + | |
78 | +} | |
79 | + | |
80 | +.sp .sp_top .s_top_kill | |
81 | + | |
82 | +{ | |
83 | + | |
84 | +background-color:#C4182E; | |
85 | +font-size:24rpx; | |
86 | +height:38rpx; | |
87 | +line-height:38rpx; | |
88 | +left:6rpx; | |
89 | + | |
90 | +padding:4rpx 10rpx; | |
91 | + | |
92 | +border-radius:10rpx; | |
93 | + | |
94 | + | |
95 | +z-index: 999; | |
96 | + position: relative; | |
97 | + top:-6rpx; | |
98 | + width: 210rpx; | |
99 | + | |
100 | + | |
101 | + color: #fff; | |
102 | + text-align: center; | |
103 | + | |
104 | + | |
105 | +} | |
106 | + | |
107 | +.po{ | |
108 | + position: absolute; | |
109 | +} | |
110 | + | |
111 | +.sp .sp_top .s_foot_kill{ | |
112 | + font-size: 20rpx; | |
113 | + position: relative; | |
114 | + top:-90rpx; | |
115 | + width: 210rpx; | |
116 | + height: 38rpx; | |
117 | + line-height: 38rpx; | |
118 | + color: #fff; | |
119 | + text-align: center; | |
120 | + background-color: rgba(0, 0, 0, 0.5); | |
121 | +} | |
122 | + | |
123 | + | |
124 | + | |
125 | +.sp_wz{ | |
126 | +width: 210rpx; | |
127 | + min-height:100rpx; | |
128 | + | |
129 | +} | |
130 | + | |
131 | +.sp_wz .sp_wzi{ | |
132 | + font-size: 30rpx; | |
133 | + border-bottom: 2rpx solid #dcdcdc; | |
134 | + width: 100%; | |
135 | + text-align: left; | |
136 | + padding: 4rpx 0; | |
137 | + overflow: hidden; | |
138 | + height: 48rpx; | |
139 | + text-overflow: ellipsis; | |
140 | + white-space: nowrap; | |
141 | + line-height: 48rpx; | |
142 | +} | |
143 | + | |
144 | +.sp_wz .sp_jg{ | |
145 | + color: #C4182E; | |
146 | + font-size: 30rpx; | |
147 | + overflow: hidden; | |
148 | + display: inline-block; | |
149 | + text-overflow: ellipsis; | |
150 | + white-space: nowrap; | |
151 | + margin-right: 10rpx; | |
152 | +} | |
153 | + | |
154 | +.sp_wz .sp_jgx{ | |
155 | + color: #adadad; | |
156 | + text-decoration: line-through; | |
157 | + font-size: 24rpx; | |
158 | + | |
159 | + overflow: hidden; | |
160 | + display: inline-block; | |
161 | + text-overflow: ellipsis; | |
162 | + white-space: nowrap; | |
163 | + | |
164 | +} | |
165 | + | |
166 | +.one{ | |
167 | + margin-left: 14rpx; | |
168 | + | |
169 | +} | |
170 | + | |
171 | + | |
172 | +.sp .sp_top .s_top1_kill{ | |
173 | + position: absolute; | |
174 | +background-color:#C4182E; | |
175 | +font-size:24rpx; | |
176 | +height:38rpx; | |
177 | +line-height:38rpx; | |
178 | +left:265rpx; | |
179 | +top:100rpx; | |
180 | +padding:0 10rpx; | |
181 | +color:white; | |
182 | +border-radius:10rpx; | |
183 | + | |
184 | +} | |
185 | + | |
186 | +.sp .sp_top .s_top2_kill{ | |
187 | + position: absolute; | |
188 | +background-color:#C4182E; | |
189 | +font-size:24rpx; | |
190 | +height:38rpx; | |
191 | +line-height:38rpx; | |
192 | +right:146rpx; | |
193 | +top:100rpx; | |
194 | +padding:0 10rpx; | |
195 | +color:white; | |
196 | +border-radius:10rpx; | |
197 | + | |
198 | +} | |
199 | + | |
200 | + | |
201 | + | |
202 | +.sp .sp_top .s_foot1_kill{ | |
203 | + font-size: 20rpx; | |
204 | + position: absolute; | |
205 | + top:270rpx; | |
206 | + width: 210rpx; | |
207 | + height: 38rpx; | |
208 | + line-height: 38rpx; | |
209 | + color: #fff; | |
210 | + text-align: center; | |
211 | + background-color: rgba(0, 0, 0, 0.5); | |
212 | +} | |
213 | + | |
214 | +.po1{ | |
215 | + position: absolute; | |
216 | +} | |
217 | + | |
218 | + | |
219 | +.sp .sp_top .s_foot2_kill{ | |
220 | + font-size: 20rpx; | |
221 | + position: absolute; | |
222 | + top:270rpx; | |
223 | + width: 210rpx; | |
224 | + height: 38rpx; | |
225 | + line-height: 38rpx; | |
226 | + color: #fff; | |
227 | + text-align: center; | |
228 | + background-color: rgba(0, 0, 0, 0.5); | |
229 | +} | |
230 | + | |
231 | + | |
232 | + | |
233 | + | |
234 | + | |
235 | + | |
236 | + | |
237 | +.sp2{ | |
238 | + width: 100%; | |
239 | + min-height: 240rpx; | |
240 | + | |
241 | +} | |
242 | + | |
243 | +.sp2 .one1{ | |
244 | + width: 100%; | |
245 | + background-color: white; | |
246 | + height: 252rpx; | |
247 | + display: flex; | |
248 | + padding: 20rpx; | |
249 | + border-bottom:6rpx#eee solid; | |
250 | + | |
251 | +} | |
252 | + | |
253 | +.sp2 .one1 .o1_img{ | |
254 | + width: 200rpx; | |
255 | + height: 240rpx; | |
256 | + | |
257 | + margin-right: 24rpx; | |
258 | +} | |
259 | + | |
260 | +.o1_right .sp_wzi{ | |
261 | + font-size: 36rpx; | |
262 | + margin-bottom:6rpx; | |
263 | + | |
264 | + width: 100%; | |
265 | + text-align: left; | |
266 | + padding: 4rpx 0; | |
267 | + overflow: hidden; | |
268 | + height: 48rpx; | |
269 | + text-overflow: ellipsis; | |
270 | + white-space: nowrap | |
271 | +} | |
272 | + | |
273 | +.o1_right .o1_sj_kill{ | |
274 | + height: 60rpx; | |
275 | + | |
276 | + margin-bottom: 10rpx; | |
277 | +} | |
278 | + | |
279 | +.o1_right .o1_sj_kill text{ | |
280 | + background-color: #fdcb08; | |
281 | + text-align: center; | |
282 | + border-radius: 10rpx; | |
283 | + padding:4rpx; | |
284 | +margin-left:6rpx; | |
285 | + | |
286 | +} | |
287 | + | |
288 | + | |
289 | + | |
290 | +.o1_right .sp_jg{ | |
291 | + color: #C4182E; | |
292 | + font-size: 36rpx; | |
293 | + | |
294 | + overflow: hidden; | |
295 | + display: inline-block; | |
296 | + margin-right: 10rpx; | |
297 | +} | |
298 | + | |
299 | +.o1_right .sp_jgx{ | |
300 | + color: #dcdcdc; | |
301 | + text-decoration: line-through; | |
302 | + font-size: 26rpx; | |
303 | + | |
304 | + overflow: hidden; | |
305 | + display: inline-block; | |
306 | +} | |
307 | + | |
308 | + | |
309 | +.o1_img image{ | |
310 | + width: 100%; | |
311 | + height: 100%; | |
312 | + | |
313 | + position:relative; | |
314 | +top:-23rpx; | |
315 | +left:0rpx; | |
316 | + | |
317 | +} | |
318 | + | |
319 | +.o1_right .wo{ | |
320 | + background-color: #C4182E; | |
321 | + width: 160rpx; | |
322 | + height: 60rpx; | |
323 | + line-height: 60rpx; | |
324 | + color: white; | |
325 | + text-align: center; | |
326 | + font-size: 38rpx; | |
327 | + margin-left:298rpx; | |
328 | +border-radius:14rpx; | |
329 | +padding-left: 10rpx; | |
330 | +padding-right: 10rpx; | |
331 | +} | |
332 | + | |
333 | + | |
334 | + | ... | ... |
components/diy_shopname/diy_shopname.js
0 → 100644
1 | +var t = getApp(), | |
2 | + o = t.globalData.setting; | |
3 | + | |
4 | +Component({ | |
5 | + properties: { | |
6 | + // 这里定义了innerText属性,属性值可以在组件使用时指定 | |
7 | + object: { | |
8 | + type: Object, | |
9 | + value: null, | |
10 | + }, | |
11 | + }, | |
12 | + data: { | |
13 | + // 这里是一些组件内部数据 | |
14 | + yc:false, | |
15 | + imghost: o.imghost, | |
16 | + stoid:o.stoid, | |
17 | + sto:null, | |
18 | + store_name:'', | |
19 | + someData: {}, | |
20 | + total:0, | |
21 | + new_total:0, | |
22 | + }, | |
23 | + | |
24 | + ready: function() { | |
25 | + var th=this; | |
26 | + this.init(); | |
27 | + //--所有商品-- | |
28 | + getApp().request.promiseGet("/api/weshop/goods/page/", | |
29 | + {data:{ isonsale: 1, store_id: o.stoid,page:1,pageSize:1}}).then(res => { | |
30 | + var total=res.data.data.total; | |
31 | + th.setData({total:total}) | |
32 | + }) | |
33 | + | |
34 | + //--所有新品-- | |
35 | + getApp().request.promiseGet("/api/weshop/goods/page/", | |
36 | + {data:{is_new:1,isonsale: 1, store_id: o.stoid,page:1,pageSize:1}}).then(res => { | |
37 | + var total=res.data.data.total; | |
38 | + th.setData({new_total:total}) | |
39 | + }) | |
40 | + | |
41 | + }, | |
42 | + methods: { | |
43 | + // 这里是一个自定义方法 | |
44 | + init:function(){ | |
45 | + var app=getApp(); | |
46 | + app.request.promiseGet("/api/weshop/store/get/"+o.stoid,{ | |
47 | + data:{} | |
48 | + }).then(res=>{ | |
49 | + var logo=o.imghost+res.data.data.store_logo; | |
50 | + var name=res.data.data.store_name; | |
51 | + this.setData({ | |
52 | + sto:logo,store_name:name | |
53 | + }) | |
54 | + }) | |
55 | + }, | |
56 | + customMethod: function () {}, | |
57 | + go_user:function () { | |
58 | + var url="/pages/user/index/index"; | |
59 | + getApp().goto(url); | |
60 | + }, | |
61 | + go_all_wares:function () { | |
62 | + var url="/pages/goods/goodsList/goodsList"; | |
63 | + getApp().goto(url); | |
64 | + }, | |
65 | + go_new_wares:function () { | |
66 | + var url="/pages/goods/goodsList/goodsList?is_new=1"; | |
67 | + getApp().goto(url); | |
68 | + } | |
69 | + | |
70 | + } | |
71 | +}) | |
0 | 72 | \ No newline at end of file | ... | ... |
components/diy_shopname/diy_shopname.json
0 → 100644
components/diy_shopname/diy_shopname.wxml
0 → 100644
1 | +<view class='wai_zwp'> | |
2 | + | |
3 | + <view class="big"> | |
4 | + | |
5 | + <view class="big_picture_border"> | |
6 | + <image class="big_picture" src='{{object.srcimg}}'></image> | |
7 | + </view> | |
8 | + <block wx:if="{{object.style==1}}"> | |
9 | + | |
10 | + <view class="big_border"> | |
11 | + <view class="circle"> | |
12 | + <view class="border"> | |
13 | + <image class="wxd_ww" src='{{sto}}' bindtap="go_user"></image> | |
14 | + </view> | |
15 | + </view> | |
16 | + <view class="font">{{store_name}}</view> | |
17 | + </view> | |
18 | + | |
19 | + <view class="all_view"> | |
20 | + <view class="v_item" bindtap="go_all_wares"> | |
21 | + <view>{{total}}</view> | |
22 | + <view class="shopname_title_size">全部商品</view> | |
23 | + </view> | |
24 | + | |
25 | + <view class="v_item" bindtap="go_new_wares"> | |
26 | + <view>{{new_total}}</view> | |
27 | + <view class="shopname_title_size">上新商品</view> | |
28 | + </view> | |
29 | + | |
30 | + <view class="v_item" bindtap="go_user"> | |
31 | + <view> | |
32 | + <image class="user_pictrue" src='{{imghost}}/miniapp/images/numb.png'></image> | |
33 | + </view> | |
34 | + <view class="shopname_title_size">个人中心</view> | |
35 | + </view> | |
36 | + </view> | |
37 | + </block> | |
38 | + | |
39 | + | |
40 | + <block wx:else="{{object.style==2}}"> | |
41 | + <view class="big_border_two"> | |
42 | + <view class="circle_tow"> | |
43 | + <view class="border"> | |
44 | + <image class="wxd_ww" src='{{sto}}' bindtap="go_user"></image> | |
45 | + </view> | |
46 | + </view> | |
47 | + <view class="title_center"> | |
48 | + <view class="fonts">派派通001</view> | |
49 | + </view> | |
50 | + </view> | |
51 | + <view class="base_font"> | |
52 | + <view class="arrange"> | |
53 | + <view class="base_font_one"> | |
54 | + <navigator url="/pages/goods/goodsList/goodsList" class="navi"> | |
55 | + <view>{{total}}</view> | |
56 | + <view>全部商品</view> | |
57 | + </navigator> | |
58 | + </view> | |
59 | + | |
60 | + <view class="base_font_one"> | |
61 | + <view class="shuxian">|</view> | |
62 | + <navigator url="/pages/goods/goodsList/goodsList?is_new=1" class="navi"> | |
63 | + <view>{{new_total}}</view> | |
64 | + <view>上新商品</view> | |
65 | + </navigator> | |
66 | + </view> | |
67 | + | |
68 | + <view class="base_font_one" bindtap="go_user"> | |
69 | + <view class="shuxian">|</view> | |
70 | + <view class="navi"> | |
71 | + <view > | |
72 | + <image class="user_pictrue_two" src='{{imghost}}/miniapp/images/numb.png'></image> | |
73 | + </view> | |
74 | + <view>个人中心</view> | |
75 | + </view> | |
76 | + </view> | |
77 | + </view> | |
78 | + </view> | |
79 | + </block> | |
80 | + </view> | |
81 | +</view> | |
82 | + | ... | ... |
components/diy_shopname/diy_shopname.wxss
0 → 100644
1 | +/* 最外层的view */ | |
2 | +.big{ | |
3 | + font-family: Arial,"宋体"; | |
4 | + text-align:center; | |
5 | + margin:0 auto; | |
6 | + position: relative; | |
7 | + height: 500rpx; | |
8 | +} | |
9 | + | |
10 | +.s1_gk_a1{ | |
11 | + display: inline; | |
12 | + width: auto; | |
13 | + height: auto; | |
14 | +} | |
15 | + | |
16 | +/* 圆形小图片 */ | |
17 | +.wxd_ww { | |
18 | + width: 126rpx; | |
19 | + height: 126rpx; | |
20 | + /* justify-content: center; */ | |
21 | + margin-top: 20rpx; | |
22 | + margin-left: 6rpx; | |
23 | +} | |
24 | + | |
25 | +/* 小图片圆边框 */ | |
26 | + | |
27 | +.circle { | |
28 | + /* 设置背景色 */ | |
29 | + background: #f8f8f8; | |
30 | + /* 设置圆 */ | |
31 | + border-radius: 50%; | |
32 | + width: 163rpx; | |
33 | + height: 163rpx; | |
34 | + /* 给边框加颜色要设置边框 */ | |
35 | + border: 2rpx solid #f7e9e2; | |
36 | + /* display: flex加justify-content: center是居中对齐 */ | |
37 | + display: flex; | |
38 | + justify-content: center; | |
39 | + /* 超出边框则隐藏 */ | |
40 | + overflow: hidden; | |
41 | +} | |
42 | + | |
43 | +/* 设置小图片外面的view的宽高 */ | |
44 | + | |
45 | +.circle_tow .border { | |
46 | + width: 140rpx; | |
47 | + height: 140rpx; | |
48 | +} | |
49 | + | |
50 | +/* 小图片最大外边框 */ | |
51 | + | |
52 | +.big_border { | |
53 | + width: 192rpx; | |
54 | + height: 214rpx; | |
55 | + position: relative; | |
56 | + top: -82rpx; | |
57 | + left: 10px; | |
58 | +} | |
59 | + | |
60 | +.font { | |
61 | + margin-top: 10rpx; | |
62 | + overflow:hidden; | |
63 | + text-overflow:ellipsis; | |
64 | + white-space:nowrap; | |
65 | + font-size: 36rpx; | |
66 | +} | |
67 | + | |
68 | +/* 最大图片的外层view */ | |
69 | + | |
70 | +.big_picture_border { | |
71 | + width: 100%; | |
72 | + height: 320rpx; | |
73 | +} | |
74 | + | |
75 | + | |
76 | +.jj{ | |
77 | + position: relative; | |
78 | + top: 26rpx; | |
79 | + left: -128rpx; | |
80 | +} | |
81 | + | |
82 | +.jj_2{ | |
83 | + position: relative; | |
84 | + top:26rpx; | |
85 | +left:-116rpx; | |
86 | + | |
87 | +} | |
88 | + | |
89 | +.big_picture { | |
90 | + width: 100%; | |
91 | + height: 100%; | |
92 | +} | |
93 | + | |
94 | +/* 全部商品样式 */ | |
95 | + | |
96 | +.all_goods_sum { | |
97 | + width: 174rpx; | |
98 | + height: 94rpx; | |
99 | + margin-left: 230rpx; | |
100 | + text-align: center; | |
101 | + margin-top: 15rpx; | |
102 | + position: relative; | |
103 | + top: -196rpx; | |
104 | +} | |
105 | + | |
106 | +/* 新上商品 */ | |
107 | +.new_goods { | |
108 | + width: 174rpx; | |
109 | + height: 94rpx; | |
110 | + margin-left: 400rpx; | |
111 | + /* 居中 */ | |
112 | + text-align: center; | |
113 | + margin-top: -90rpx; | |
114 | + position: relative; | |
115 | + top: -198rpx; | |
116 | +} | |
117 | + | |
118 | +/* 个人中心 */ | |
119 | + | |
120 | +.personal_center { | |
121 | + width: 174rpx; | |
122 | + height: 94rpx; | |
123 | + margin-left: 570rpx; | |
124 | + /* 居中 */ | |
125 | + text-align: center; | |
126 | + margin-top: -90rpx; | |
127 | + position: relative; | |
128 | + top: -200rpx; | |
129 | +} | |
130 | + | |
131 | +/* 个人中心图像 */ | |
132 | + | |
133 | +.user_pictrue { | |
134 | + width: 36rpx; | |
135 | + height: 32rpx; | |
136 | + margin-right: 0rpx; | |
137 | +} | |
138 | + | |
139 | +/* 图像的第二个 */ | |
140 | +.big_border_two { | |
141 | + width: 100%; | |
142 | + height: 260rpx; | |
143 | + position: relative; | |
144 | + top: -274rpx; | |
145 | + text-align: center; | |
146 | +} | |
147 | + | |
148 | +/* 小图片2圆边框 */ | |
149 | + | |
150 | +.circle_tow { | |
151 | + /* 设置背景色 */ | |
152 | + background: #fff; | |
153 | + /* 设置圆 */ | |
154 | + border-radius: 50%; | |
155 | + width: 172rpx; | |
156 | + height: 172rpx; | |
157 | + /* 给边框加颜色要设置边框 */ | |
158 | + border: 1rpx solid #f7e9e2; | |
159 | + /* display: flex加justify-content: center是居中对齐 */ | |
160 | + display: flex; | |
161 | + justify-content: center; | |
162 | + /* 超出边框则隐藏 */ | |
163 | + overflow: hidden; | |
164 | + position: relative; | |
165 | + margin-left: 50%; | |
166 | + left:-86rpx; | |
167 | +} | |
168 | + | |
169 | +.fonts { | |
170 | + width: 186rpx; | |
171 | + height: 70rpx; | |
172 | + /* 倒角 */ | |
173 | + border-radius: 25rpx; | |
174 | + background-color: rgba(255, 255, 255, 0.7); | |
175 | + border: 1rpx solid rgba(255, 255, 255, 0.7); | |
176 | + font-size: 36rpx; | |
177 | + /* 水平居中 */ | |
178 | + text-align: center; | |
179 | + /* 垂直居中 */ | |
180 | + line-height: 70rpx; | |
181 | + position: relative; | |
182 | + top: 20rpx; | |
183 | + left: 0rpx; | |
184 | + /* background-color: rgba(255, 255, 255, 0.7); */ | |
185 | +} | |
186 | + | |
187 | +/* 底层文字 */ | |
188 | +.base_font { | |
189 | + width: 100%; | |
190 | + height: 120rpx; | |
191 | + position: relative; | |
192 | + top: -250rpx; | |
193 | +} | |
194 | +/* 使里面的view纵向排列 */ | |
195 | +.arrange{ | |
196 | + /* 弹性布局 */ | |
197 | + display: flex; | |
198 | + margin-top: 20rpx; | |
199 | +} | |
200 | +/* 底层文字 */ | |
201 | +.base_font_one { | |
202 | + width: 33%; | |
203 | + height: 120rpx; | |
204 | + /* 水平居中 */ | |
205 | + text-align: center; | |
206 | + display: flex; | |
207 | +} | |
208 | + | |
209 | +.base_font_one .navi{ | |
210 | + width: 100%; | |
211 | +} | |
212 | + | |
213 | +.base_font_one .shuxian{ | |
214 | + margin-top: 15rpx; | |
215 | +} | |
216 | + | |
217 | + | |
218 | +.base_font_one .navi view{ | |
219 | + width: 100%; | |
220 | +} | |
221 | +.base_font_one .navi view .user_pictrue_two{ | |
222 | + width: 32rpx;height: 35rpx; | |
223 | +} | |
224 | +.wai_zwp{ | |
225 | + background-color: white; | |
226 | + height: 500rpx; | |
227 | +} | |
228 | + | |
229 | +.shopname_title_size{ font-size: 34rpx} | |
230 | +.big .all_view{display: flex; width: 500rpx; position:absolute; bottom:90rpx;right: 0 } | |
231 | +.big .all_view .v_item{width:33%; } | |
232 | + | |
233 | +.big_border_two .title_center{ display: flex; justify-content: center;} | |
234 | + | ... | ... |
components/diy_title/diy_title.js
0 → 100644
1 | +Component({ | |
2 | + properties: { | |
3 | + // 这里定义了innerText属性,属性值可以在组件使用时指定 | |
4 | + object:{ | |
5 | + type: Object, | |
6 | + value:null | |
7 | + }, | |
8 | + | |
9 | + }, | |
10 | + data: { | |
11 | + // 这里是一些组件内部数据 | |
12 | + someData: {} | |
13 | + }, | |
14 | + methods: { | |
15 | + //--智能跳转-- | |
16 | + go_url:function (e) { | |
17 | + var url=e.currentTarget.dataset.url; | |
18 | + getApp().goto(url); | |
19 | + } | |
20 | + } | |
21 | +}) | |
0 | 22 | \ No newline at end of file | ... | ... |
components/diy_title/diy_title.json
0 → 100644
components/diy_title/diy_title.wxml
0 → 100644
1 | +<view class="big_rim"> | |
2 | + <view class="rim"> | |
3 | + <image class="image_one" src="{{object.title_img}}"></image> | |
4 | + </view> | |
5 | + <view data-url="{{object.wxapp_url}}" bindtap="go_url"> | |
6 | + <view class="txet_rim"> | |
7 | + <view class="text" style='color:{{object.title_namecolor}}'>{{object.title_name}}</view></view> | |
8 | + </view> | |
9 | + <block wx:if="{{object.title_right!= ''}}"> | |
10 | + <view bindtap="go_url" data-url='{{object.wxapp_url}}'> | |
11 | + <view class="right_rim"> | |
12 | + <view class="font_right_rim"> | |
13 | + <view class="caption" style='color:{{object.title_rightcolor}}'>{{object.title_right}}</view> | |
14 | + </view> | |
15 | + <view class="aa">></view> | |
16 | + </view> | |
17 | + </view> | |
18 | + </block> | |
19 | +</view> | |
0 | 20 | \ No newline at end of file | ... | ... |
components/diy_title/diy_title.wxss
0 → 100644
1 | +/* 大边框 */ | |
2 | + | |
3 | +.big_rim { | |
4 | + width: 100%; | |
5 | + height: auto; | |
6 | + display: flex; | |
7 | + padding: 10rpx 0; | |
8 | +} | |
9 | + | |
10 | +/* 图片边框 */ | |
11 | + | |
12 | +.rim { | |
13 | + margin-left: 20rpx; | |
14 | + margin-top: 15rpx; | |
15 | +} | |
16 | + | |
17 | +/* 图片 */ | |
18 | +.image_one { | |
19 | + width: 48rpx; | |
20 | + height: 48rpx; | |
21 | +} | |
22 | + | |
23 | +/* 标题的边框 */ | |
24 | +.txet_rim { | |
25 | + margin-left: 10rpx; | |
26 | + margin-top: 20rpx; | |
27 | + min-width: 300rpx; | |
28 | + width: auto; | |
29 | + height: auto; | |
30 | + word-break: break-all; | |
31 | + word-wrap: break-word; | |
32 | + | |
33 | +} | |
34 | + | |
35 | +/* 标题名 */ | |
36 | +.text { | |
37 | + font-weight: bold; | |
38 | + font-family: "SimSun"; | |
39 | +} | |
40 | + | |
41 | +/* 右侧边框 */ | |
42 | + | |
43 | +.right_rim { | |
44 | + min-width: 200rpx; | |
45 | + width: auto; | |
46 | + display: inline-block; | |
47 | +} | |
48 | + | |
49 | +/* 右侧文字边框 */ | |
50 | +.font_right_rim { | |
51 | + display: inline-block; | |
52 | + min-width: 300rpx; | |
53 | + text-align:right; | |
54 | + margin-left: 20rpx; | |
55 | + vertical-align: top; | |
56 | +} | |
57 | + | |
58 | +/* 标题 */ | |
59 | + | |
60 | +.caption { | |
61 | + display: inline-block; | |
62 | + color: #777; | |
63 | + min-width: 300rpx; | |
64 | + width: auto; | |
65 | + height: auto; | |
66 | + margin-top: 20rpx | |
67 | +} | |
68 | + | |
69 | +.aa { | |
70 | + display: inline-block; | |
71 | + color: #777; | |
72 | + width: 50rpx; | |
73 | + font-size: 50rpx; | |
74 | + font-weight: bold; | |
75 | + vertical-align: top; | |
76 | + margin-top: 12rpx | |
77 | +} | ... | ... |
components/diy_video/diy_video.js
0 → 100644
1 | +Component({ | |
2 | + properties: { | |
3 | + object: { | |
4 | + type: Object, | |
5 | + value: null | |
6 | + }, | |
7 | + // 这里定义了innerText属性,属性值可以在组件使用时指定 | |
8 | + | |
9 | + }, | |
10 | + data: { | |
11 | + // 这里是一些组件内部数据 | |
12 | + someData: {}, | |
13 | + videoUrl: "", | |
14 | + }, | |
15 | + | |
16 | + ready: function () { | |
17 | + this.create_url(); | |
18 | + }, | |
19 | + methods: { | |
20 | + // 这里是一个自定义方法 | |
21 | + create_url: function () { | |
22 | + console.log('create_url'); | |
23 | + var that = this; | |
24 | + /*获取文本框中的值*/ | |
25 | + var text = this.properties.object.wxapp_code; | |
26 | + /*console.log("整个的地址"+text);*/ | |
27 | + var arr = new Array(), arrs = new Array(); | |
28 | + arr = text.split('vid='); | |
29 | + /*console.log("截取vid后面的"+arr[1]);*/ | |
30 | + arrs = arr[1].split('"'); | |
31 | + /* console.log("截取&前面的的"+arrs[0]);*/ | |
32 | + var vipid = arrs[0]; | |
33 | + | |
34 | + var url = "https://vv.video.qq.com/getinfo?vid=" + vipid + "&platform=101001&charge=0&otype=json"; | |
35 | + wx.request({ | |
36 | + url: url, | |
37 | + success: function (res) { | |
38 | + var dataJson = res.data.replace(/QZOutputJson=/, '') + "qwe"; | |
39 | + var dataJson1 = dataJson.replace(/;qwe/, ''); | |
40 | + var data = JSON.parse(dataJson1); | |
41 | + if (data.vl != undefined) { | |
42 | + var host = data['vl']['vi'][0]['ul']['ui'][2]['url'] | |
43 | + var fn = data.vl.vi[0].fn; | |
44 | + var fvkey = data.vl.vi[0].fvkey; | |
45 | + /* console.log("有参数吗"+fn+"有参数吗"+fvkey);*/ | |
46 | + var wxapp_url = host + fn + '?vkey=' + fvkey; | |
47 | + that.setData({ | |
48 | + videoUrl: wxapp_url | |
49 | + }); | |
50 | + } | |
51 | + } | |
52 | + }) | |
53 | + | |
54 | + } | |
55 | + } | |
56 | +}) | |
0 | 57 | \ No newline at end of file | ... | ... |
components/diy_video/diy_video.json
0 → 100644
components/diy_video/diy_video.wxml
0 → 100644
components/diy_video/diy_video.wxss
0 → 100644
components/diy_video/video.json
0 → 100644
components/diy_voice/diy_voice.js
0 → 100644
1 | +const app = getApp() | |
2 | +const innerAudioContext = wx.createInnerAudioContext(); | |
3 | +var t = getApp(), | |
4 | + o = t.globalData.setting; | |
5 | +Component({ | |
6 | + properties: { | |
7 | + | |
8 | + object: { | |
9 | + type: Object, | |
10 | + value: null, | |
11 | + }, | |
12 | + audiosrc:{ | |
13 | + type: String, | |
14 | + value: null, | |
15 | + }, | |
16 | + | |
17 | + | |
18 | + | |
19 | + }, | |
20 | + data: { | |
21 | + yc:false, | |
22 | + isPlayAudio: false, | |
23 | + audioSeek: 0, | |
24 | + audioDuration: 0, | |
25 | + showTime1: '00:00', | |
26 | + showTime2: '00:00', | |
27 | + audioTime: 0, | |
28 | + voice_logo:null, | |
29 | + imghost: o.imghost, | |
30 | + }, | |
31 | + | |
32 | + ready: function() { | |
33 | + console.log("ready"); | |
34 | + var music = this.data.object.music; | |
35 | + var vo = this.data.object; | |
36 | + this.setData({ | |
37 | + audiosrc:music, | |
38 | + // logo:"http://jmh.xinda100.cn"+logo | |
39 | + }) | |
40 | + this.Initialization(); | |
41 | + this.loadaudio(); | |
42 | + console.log("logo"); | |
43 | + console.log(vo); | |
44 | + this.logo(vo); | |
45 | + | |
46 | + }, | |
47 | + | |
48 | + methods: { | |
49 | + | |
50 | + logo(vo){ | |
51 | + console.log(111111); | |
52 | + console.log(vo.logo); | |
53 | + var v_logo=vo.logo; | |
54 | + if (!(vo.logo.indexOf("/public/static/images/model/logo.png"))){ | |
55 | + this.setData({ | |
56 | + voice_logo:"https://mshopimg.yolipai.net/miniapp/images/logo.png" | |
57 | + }) | |
58 | + }else{ | |
59 | + this.setData({ | |
60 | + voice_logo:v_logo | |
61 | + }) | |
62 | + } | |
63 | + }, | |
64 | + | |
65 | + // 这里是一个自定义方法 | |
66 | + //初始化播放器,获取duration | |
67 | + Initialization() { | |
68 | + var t = this; | |
69 | + if (this.properties.audiosrc.length != 0) { | |
70 | + //设置src | |
71 | + innerAudioContext.src = this.properties.audiosrc; | |
72 | + //运行一次 | |
73 | + innerAudioContext.play(); | |
74 | + innerAudioContext.pause(); | |
75 | + innerAudioContext.onCanplay(() => { | |
76 | + //初始化duration | |
77 | + innerAudioContext.duration | |
78 | + setTimeout(function () { | |
79 | + //延时获取音频真正的duration | |
80 | + var duration = innerAudioContext.duration; | |
81 | + var min = parseInt(duration / 60); | |
82 | + var sec = parseInt(duration % 60); | |
83 | + if (min.toString().length == 1) { | |
84 | + min = `0${min}`; | |
85 | + } | |
86 | + if (sec.toString().length == 1) { | |
87 | + sec = `0${sec}`; | |
88 | + } | |
89 | + t.setData({ | |
90 | + audioDuration: innerAudioContext.duration, | |
91 | + showTime2: `${min}:${sec}` | |
92 | + }); | |
93 | + }, 1000) | |
94 | + }) | |
95 | + } | |
96 | + }, | |
97 | + //拖动进度条事件 | |
98 | + sliderChange(e) { | |
99 | + var that = this; | |
100 | + innerAudioContext.src = this.properties.audiosrc; | |
101 | + //获取进度条百分比 | |
102 | + var value = e.detail.value; | |
103 | + this.setData({ | |
104 | + audioTime: value | |
105 | + }); | |
106 | + var duration = this.properties.audioDuration; | |
107 | + //根据进度条百分比及歌曲总时间,计算拖动位置的时间 | |
108 | + value = parseInt(value * duration / 100); | |
109 | + //更改状态 | |
110 | + this.setData({ | |
111 | + audioSeek: value, | |
112 | + isPlayAudio: true | |
113 | + }); | |
114 | + //调用seek方法跳转歌曲时间 | |
115 | + innerAudioContext.seek(value); | |
116 | + //播放歌曲 | |
117 | + innerAudioContext.play(); | |
118 | + }, | |
119 | + //播放、暂停按钮 | |
120 | + playAudio() { | |
121 | + //获取播放状态和当前播放时间 | |
122 | + var isPlayAudio = this.data.isPlayAudio; | |
123 | + var seek = this.properties.audioSeek; | |
124 | + innerAudioContext.pause(); | |
125 | + //更改播放状态 | |
126 | + this.setData({ | |
127 | + isPlayAudio: !isPlayAudio | |
128 | + }) | |
129 | + if (isPlayAudio) { | |
130 | + //如果在播放则记录播放的时间seek,暂停 | |
131 | + this.setData({ | |
132 | + audioSeek: innerAudioContext.currentTime | |
133 | + }); | |
134 | + } else { | |
135 | + //如果在暂停,获取播放时间并继续播放 | |
136 | + innerAudioContext.src = this.properties.audiosrc; | |
137 | + if (innerAudioContext.duration != 0) { | |
138 | + this.setData({ | |
139 | + audioDuration: innerAudioContext.duration | |
140 | + }); | |
141 | + } | |
142 | + //跳转到指定时间播放 | |
143 | + innerAudioContext.seek(seek); | |
144 | + innerAudioContext.play(); | |
145 | + } | |
146 | + }, | |
147 | + loadaudio() { | |
148 | + var that = this; | |
149 | + //设置一个计步器 | |
150 | + this.properties.durationIntval = setInterval(function () { | |
151 | + //当歌曲在播放时执行 | |
152 | + if (that.data.isPlayAudio == true) { | |
153 | + //获取歌曲的播放时间,进度百分比 | |
154 | + var seek = that.properties.audioSeek; | |
155 | + var duration = innerAudioContext.duration; | |
156 | + var time = that.properties.audioTime; | |
157 | + time = parseInt(100 * seek / duration); | |
158 | + //当歌曲在播放时,每隔一秒歌曲播放时间+1,并计算分钟数与秒数 | |
159 | + var min = parseInt((seek + 1) / 60); | |
160 | + var sec = parseInt((seek + 1) % 60); | |
161 | + //填充字符串,使3:1这种呈现出 03:01 的样式 | |
162 | + if (min.toString().length == 1) { | |
163 | + min = `0${min}`; | |
164 | + } | |
165 | + if (sec.toString().length == 1) { | |
166 | + sec = `0${sec}`; | |
167 | + } | |
168 | + var min1 = parseInt(duration / 60); | |
169 | + var sec1 = parseInt(duration % 60); | |
170 | + if (min1.toString().length == 1) { | |
171 | + min1 = `0${min1}`; | |
172 | + } | |
173 | + if (sec1.toString().length == 1) { | |
174 | + sec1 = `0${sec1}`; | |
175 | + } | |
176 | + //当进度条完成,停止播放,并重设播放时间和进度条 | |
177 | + if (time >= 100) { | |
178 | + innerAudioContext.stop(); | |
179 | + that.setData({ | |
180 | + audioSeek: 0, | |
181 | + audioTime: 0, | |
182 | + audioDuration: duration, | |
183 | + isPlayAudio: false, | |
184 | + showTime1: `00:00` | |
185 | + }); | |
186 | + return false; | |
187 | + } | |
188 | + //正常播放,更改进度信息,更改播放时间信息 | |
189 | + that.setData({ | |
190 | + audioSeek: seek + 1, | |
191 | + audioTime: time, | |
192 | + audioDuration: duration, | |
193 | + showTime1: `${min}:${sec}`, | |
194 | + showTime2: `${min1}:${sec1}` | |
195 | + }); | |
196 | + } | |
197 | + }, 1000); | |
198 | + }, | |
199 | + onUnload: function () { | |
200 | + //卸载页面,清除计步器 | |
201 | + clearInterval(this.properties.durationIntval); | |
202 | + }, | |
203 | + customMethod: function () { } | |
204 | + } | |
205 | +}) | |
0 | 206 | \ No newline at end of file | ... | ... |
components/diy_voice/diy_voice.json
0 → 100644
components/diy_voice/diy_voice.wxml
0 → 100644
1 | +<!--pages/diy_jd/diy_jd.wxml--> | |
2 | +<!-- ================== 带滚动条的播放器--> | |
3 | +<view class='mod_voice' wx:if="{{object.style=='2'}}"> | |
4 | +<block wx:if="{{object.bubble==1}}"> | |
5 | + <block wx:if='{{object.play==1}}'> | |
6 | + <view class='mod_border'> | |
7 | + <view class='mod_p' catchtap='playAudio'> | |
8 | + <view wx:if="{{isPlayAudio}}"> | |
9 | + <image src='{{imghost}}/miniapp/images/pause.png' bindtap="audioPlay" mode='widthFix'></image> | |
10 | + <text class='diy_title'>111</text> | |
11 | + </view> | |
12 | + <view wx:else> | |
13 | + <image src='{{imghost}}/miniapp/images/voice_play_green.png' mode='widthFix'></image> | |
14 | + <text class='diy_title'>111</text> | |
15 | + </view> | |
16 | + </view> | |
17 | + <!-- 滚动条 --> | |
18 | + <view class='mod_g'> | |
19 | + <view class='slider'> | |
20 | + <slider bindchange='sliderChange' activeColor='red' block-size="12" value='{{audioTime}}' /> | |
21 | + </view> | |
22 | + <view class='time'> | |
23 | + {{showTime1}}/{{showTime2}} | |
24 | + </view> | |
25 | + </view> | |
26 | + </view> | |
27 | + </block> | |
28 | + </block> | |
29 | +</view> | |
30 | + | |
31 | +<!-- -------------------2--------------- --> | |
32 | +<!-- 左边播放器 --> | |
33 | +<view class='ad' wx:if='{{object.style==1}}'> | |
34 | +<block wx:if="{{object.bubble==1}}"> | |
35 | + <block wx:if="{{object.play==1}}"> | |
36 | + <view class='ad_tp'> | |
37 | + <image src='{{voice_logo}}' mode='widthFix'></image> | |
38 | + </view> | |
39 | + <view class='ad_audio' catchtap='playAudio'> | |
40 | + <view class='tt'> | |
41 | + <image bindtap="audioPlay" src='{{imghost}}/miniapp/images/voice_lw.png' mode='widthFix'></image> | |
42 | + </view> | |
43 | + </view> | |
44 | + </block> | |
45 | + </block> | |
46 | +</view> | |
47 | +<!-- 右边播放器 --> | |
48 | +<view class='ad2' wx:if='{{object.style==1}}'> | |
49 | +<block wx:if="{{object.bubble==2}}"> | |
50 | + <block wx:if="{{object.play==1}}"> | |
51 | + <view class='ad_tp2'> | |
52 | + <image src='{{voice_logo}}' mode='widthFix'></image> | |
53 | + </view> | |
54 | + <view class='ad_audio2' catchtap='playAudio'> | |
55 | + <view class='tt2'> | |
56 | + <image bindtap="audioPlay" src='{{imghost}}/miniapp/images/voice_rg.png' mode='widthFix'></image> | |
57 | + <audio class="audio" poster="{{poster}}" src="{{src}}" id="myAd"></audio> | |
58 | + </view> | |
59 | + </view> | |
60 | + </block> | |
61 | + </block> | |
62 | +</view> | |
0 | 63 | \ No newline at end of file | ... | ... |
components/diy_voice/diy_voice.wxss
0 → 100644
1 | +.flex { | |
2 | + display: flex; | |
3 | +} | |
4 | + | |
5 | +.audioPlayer { | |
6 | + width: 100%; | |
7 | + height: 400rpx; | |
8 | + margin-bottom: 30rpx; | |
9 | + box-sizing: border-box; | |
10 | + padding: 20rpx 30rpx; | |
11 | +} | |
12 | + | |
13 | +.player { | |
14 | + width: 100%; | |
15 | + height: 100%; | |
16 | + position: relative; | |
17 | +} | |
18 | + | |
19 | +.audioBack { | |
20 | + width: 100%; | |
21 | + height: 100%; | |
22 | +} | |
23 | + | |
24 | +.audioControls { | |
25 | + width: 100%; | |
26 | + height: 80rpx; | |
27 | + background: black; | |
28 | + opacity: 0.8; | |
29 | + position: absolute; | |
30 | + bottom: 0; | |
31 | + color: white; | |
32 | + font-size: 6pt; | |
33 | + line-height: 80rpx; | |
34 | + text-align: center; | |
35 | +} | |
36 | + | |
37 | +.audioControls .bottom { | |
38 | + width: 60rpx; | |
39 | + height: 100%; | |
40 | +} | |
41 | + | |
42 | +.audioControls .bottom image { | |
43 | + margin-top: 30%; | |
44 | + margin-left: 30%; | |
45 | + width: 40rpx; | |
46 | + height: 40rpx; | |
47 | +} | |
48 | + | |
49 | +.audioControls .slider { | |
50 | + width: 520rpx; | |
51 | + height: 100%; | |
52 | +} | |
53 | + | |
54 | +.slider slider { | |
55 | + width: 95%; | |
56 | + margin-left: 4%; | |
57 | + margin-right: 0; | |
58 | +} | |
59 | + | |
60 | +.audioControls .time { | |
61 | + width: 120rpx; | |
62 | + height: 100%; | |
63 | +} | |
64 | + | |
65 | +/* 音频end */ | |
66 | + | |
67 | +.mod_voice { | |
68 | + /* width: 100%; */ | |
69 | + /* min-height: 100rpx; */ | |
70 | + background-color: white; | |
71 | + margin:10px 10rpx; | |
72 | +} | |
73 | + | |
74 | +.mod_p { | |
75 | + width: 100%; | |
76 | + height: 70rpx; | |
77 | + display: flex; | |
78 | + line-height: 50rpx; | |
79 | +} | |
80 | + | |
81 | +.mod_p image { | |
82 | + width: 30rpx; | |
83 | + height: 30rpx; | |
84 | + margin-left: 10rpx; | |
85 | + margin-right: 10rpx; | |
86 | +} | |
87 | + | |
88 | +.mod_g image { | |
89 | + width: 92rpx; | |
90 | + height: 40rpx; | |
91 | +} | |
92 | + | |
93 | +.mod_g { | |
94 | + border: 2rpx #ddd solid; | |
95 | + height: 96rpx; | |
96 | + border-bottom: 0rpx; | |
97 | + border-right: 0rpx; | |
98 | + border-left: 0rpx; | |
99 | + display: flex; | |
100 | + flex-flow: row; | |
101 | +} | |
102 | + | |
103 | +.mod_border { | |
104 | + border: 2rpx #ddd solid; | |
105 | +} | |
106 | + | |
107 | +.ad_audio1 { | |
108 | + background-size: cover; | |
109 | + width: 100%; | |
110 | + height: 80rpx; | |
111 | +} | |
112 | + | |
113 | +.time { | |
114 | + width: 20%; | |
115 | + height: 96rpx; | |
116 | + | |
117 | + line-height:80rpx; | |
118 | +color:#999; | |
119 | +font-size:36rpx; | |
120 | +margin-left:16rpx; | |
121 | + | |
122 | +} | |
123 | + | |
124 | +.slider { | |
125 | + width: 68%; | |
126 | +} | |
127 | + | |
128 | +/* --------------------语音 */ | |
129 | + | |
130 | +.btn { | |
131 | + margin-top: 15rpx; | |
132 | +} | |
133 | + | |
134 | +.audio { | |
135 | + margin-left: 65rpx; | |
136 | +} | |
137 | + | |
138 | +.o1 { | |
139 | + background-color: red; | |
140 | + width: 100%; | |
141 | + padding: 20rpx; | |
142 | +} | |
143 | + | |
144 | +.ad { | |
145 | + display: flex; | |
146 | + width: 100%; | |
147 | + /* background-color: white; */ | |
148 | + text-align: left; | |
149 | + margin-top: 10rpx; | |
150 | + padding: 0 10rpx; | |
151 | +margin-bottom:20rpx; | |
152 | + | |
153 | +} | |
154 | + | |
155 | +.ad_tp { | |
156 | + width: 80rpx; | |
157 | + height: 80rpx; | |
158 | + /* box-shadow: 0 1px 1px rgba(0, 0, 0, 0.3); */ | |
159 | +} | |
160 | + | |
161 | +.ad_tp image { | |
162 | + width: 100%; | |
163 | + height: 100%; | |
164 | + position:relative; | |
165 | + left:0rpx; | |
166 | +} | |
167 | + | |
168 | +.ad_audio { | |
169 | + background-size: cover; | |
170 | + width: 100%; | |
171 | + height: 80rpx; | |
172 | +} | |
173 | + | |
174 | +.tt { | |
175 | + width: 356rpx; | |
176 | + height: 81rpx; | |
177 | + background: url(https://mshopimg.yolipai.net/miniapp/images/voice_left.png) no-repeat; | |
178 | + background-size: cover; | |
179 | + margin-left: 10rpx; | |
180 | +} | |
181 | + | |
182 | +.tt image { | |
183 | + width: 36rpx; | |
184 | + height: 45rpx; | |
185 | + margin-left: 28rpx; | |
186 | + margin-top: 19rpx; | |
187 | +} | |
188 | + | |
189 | +.ad_tp { | |
190 | + /* background-color: white; */ | |
191 | +} | |
192 | + | |
193 | +.ad2 { | |
194 | + | |
195 | + width: 100%; | |
196 | + /* background-color: white; */ | |
197 | + text-align: right; | |
198 | + margin-top: -10rpx; | |
199 | + margin-bottom: 30rpx; | |
200 | +} | |
201 | + | |
202 | +.ad_tp2 { | |
203 | + width: 80rpx; | |
204 | + height: 80rpx; | |
205 | + /* box-shadow: 0 1px 1px rgba(0, 0, 0, 0.3); */ | |
206 | + float: right; | |
207 | + margin-right: 20rpx; | |
208 | +} | |
209 | + | |
210 | +.ad_tp2 image { | |
211 | + width: 100%; | |
212 | + height: 100%; | |
213 | + display: inline-block; | |
214 | + position:relative; | |
215 | +top:2rpx; | |
216 | +left:0rpx; | |
217 | + | |
218 | +} | |
219 | + | |
220 | +.ad_audio2 { | |
221 | + display: inline-block; | |
222 | + background-size: cover; | |
223 | + height: 80rpx; | |
224 | +} | |
225 | + | |
226 | +.tt2 { | |
227 | + width: 356rpx; | |
228 | + height: 80rpx; | |
229 | + background: url(https://mshopimg.yolipai.net/miniapp/images/voice_right.png) no-repeat; | |
230 | + background-size: cover; | |
231 | + margin-right: 10rpx; | |
232 | + display: inline-block; | |
233 | +} | |
234 | + | |
235 | +.tt2 image { | |
236 | + width: 36rpx; | |
237 | + height: 45rpx; | |
238 | + margin-left: 28rpx; | |
239 | + margin-top: 19rpx; | |
240 | + /* display: inline-block; */ | |
241 | +} | |
242 | + | |
243 | +.ad_tp2 { | |
244 | + /* background-color: white; */ | |
245 | + display: inline-block; | |
246 | +} | ... | ... |
components/long_warn/long_warn.js
0 → 100644
1 | +var t = getApp(); | |
2 | +Component({ | |
3 | + /** | |
4 | + * 页面的初始数据 | |
5 | + */ | |
6 | + data: { | |
7 | + val:"212121", | |
8 | + is_show:0, | |
9 | + type:0, //0 提示,失败 1成功 | |
10 | + iurl:t.globalData.setting.imghost, | |
11 | + }, | |
12 | + | |
13 | + methods: { | |
14 | + open:function (e,type) { | |
15 | + var that=this; | |
16 | + this.setData({is_show:1,val:e,type:type}); | |
17 | + setTimeout(function () { | |
18 | + that.setData({is_show:0}); | |
19 | + },2000); | |
20 | + } | |
21 | + } | |
22 | + | |
23 | +}) | |
0 | 24 | \ No newline at end of file | ... | ... |
components/long_warn/long_warn.json
0 → 100644
components/long_warn/long_warn.wxml
0 → 100644
1 | +<view class="rim" wx:if="{{is_show}}"> | |
2 | + <view class="content flex-center"> | |
3 | + <view class="con_view"> | |
4 | + <view class="con_view_img"> | |
5 | + <image wx:if="{{type}}" src="{{iurl}}/miniapp/images/sucess_g.png"></image><!-- 成功 --> | |
6 | + <image wx:else src="{{iurl}}/miniapp/images/gt.png"></image> <!-- 失败 --> | |
7 | + </view> | |
8 | + <view class="msg">{{val}}</view> | |
9 | + </view> | |
10 | + </view> | |
11 | +</view> | ... | ... |
components/long_warn/long_warn.wxss
0 → 100644
1 | +.cover-layer { | |
2 | + position: fixed; | |
3 | + left: 0; | |
4 | + top: 0; | |
5 | + right: 0; | |
6 | + bottom: 0; | |
7 | + z-index: 11; | |
8 | + background: rgba(0,0,0,0.4); | |
9 | + width: 100%; | |
10 | + height: 100%; | |
11 | +} | |
12 | +/* 水平垂直 */ | |
13 | +.flex-center{ | |
14 | + display:flex; | |
15 | + justify-content:center; | |
16 | + align-items:center; | |
17 | +} | |
18 | +.content{ | |
19 | + position: fixed; width: 100%; height: 100%;top: 0; left: 0;z-index: 99999999999999999; | |
20 | +} | |
21 | +.con_view{ | |
22 | + min-width:180rpx; max-width: 720rpx; width: auto; padding: 40rpx 30rpx; background-color: #000; border-radius:22rpx; text-align: center; | |
23 | +} | |
24 | +.con_view .con_view_img{ height: 120rpx;} | |
25 | +.con_view image{ width: 84rpx; height: 84rpx;} | |
26 | +.msg{ | |
27 | + color:#fff; font-size: 32rpx | |
28 | +} | ... | ... |
components/nav_box/nav_box.js
0 → 100644
1 | +var t = getApp(),os =t.globalData.setting; | |
2 | +Component({ | |
3 | + properties: { | |
4 | + }, | |
5 | + data: { | |
6 | + isopen:0, | |
7 | + iurl:os.imghost, | |
8 | + }, | |
9 | + | |
10 | + ready: function() { | |
11 | + }, | |
12 | + methods: { | |
13 | + //--点击打开事件-- | |
14 | + open_box:function () { | |
15 | + this.setData({isopen:1}); | |
16 | + }, | |
17 | + //--关闭事件-- | |
18 | + close_box:function(){ | |
19 | + this.setData({isopen:0}); | |
20 | + }, | |
21 | + //--跳转-- | |
22 | + goto:function (e) { | |
23 | + var url=e.currentTarget.dataset.url; | |
24 | + getApp().goto(url); | |
25 | + } | |
26 | + | |
27 | + } | |
28 | + | |
29 | +}) | |
0 | 30 | \ No newline at end of file | ... | ... |
components/nav_box/nav_box.json
0 → 100644
components/nav_box/nav_box.wxml
0 → 100644
1 | + | |
2 | +<view class="box_main {{isopen==1?'box_isopen':''}}" > | |
3 | + <view class="dian" bindtap="open_box"> | |
4 | + <image src="{{iurl}}/miniapp/images/sheng_lue.png" ></image> | |
5 | + </view> | |
6 | + <view class="cl_list"> | |
7 | + <view class="item" data-url="/pages/index/index/index" bindtap="goto">首页</view> | |
8 | + <view class="item" data-url="/pages/goods/categoryList/categoryList" bindtap="goto">分类</view> | |
9 | + <view class="item" data-url="/pages/user/index/index" bindtap="goto">我的</view> | |
10 | + <view class="item big" bindtap="close_box">×</view> | |
11 | + </view> | |
12 | +</view> | |
13 | + | ... | ... |
components/nav_box/nav_box.wxss
0 → 100644
1 | +.box_main{ | |
2 | + width:100rpx; | |
3 | + height:100rpx; | |
4 | + background:#272636; | |
5 | + transition:width 0.8s; | |
6 | + -moz-transition:width 0.8s; /* Firefox 4 */ | |
7 | + -webkit-transition:width 0.8s; /* Safari and Chrome */ | |
8 | + -o-transition:width 0.8s; /* Opera */ | |
9 | + border-radius:50rpx ; | |
10 | + position: fixed; | |
11 | + right: 10rpx; | |
12 | + bottom:300rpx; | |
13 | + overflow: hidden; | |
14 | +} | |
15 | + | |
16 | +.box_isopen{ | |
17 | + width: 420rpx; | |
18 | +} | |
19 | + | |
20 | +.box_main .dian{ | |
21 | + text-align: center; | |
22 | + width:100rpx; | |
23 | + height:100rpx; | |
24 | + color: #ffff; | |
25 | + font-size: 70rpx; | |
26 | + background: none; | |
27 | +} | |
28 | + | |
29 | +.box_main .dian image{ | |
30 | + width:75rpx; height:30rpx;margin-top:36rpx; | |
31 | +} | |
32 | + | |
33 | +.box_main.box_isopen .dian{ | |
34 | + display: none; | |
35 | +} | |
36 | + | |
37 | +.box_main .cl_list{ | |
38 | + display: none; | |
39 | +} | |
40 | + | |
41 | +.box_main.box_isopen .cl_list{ | |
42 | + display: block; | |
43 | + margin-left: 20rpx; | |
44 | +} | |
45 | + | |
46 | +.box_main .cl_list .item{ | |
47 | + display: inline-block; | |
48 | + width:100rpx; | |
49 | + height:100rpx; | |
50 | + text-align: center; | |
51 | + line-height: 100rpx; | |
52 | + color: #fff; | |
53 | + vertical-align: top; | |
54 | +} | |
55 | + | |
56 | +.box_main .cl_list .item.big{ | |
57 | + font-size: 70rpx;line-height: 90rpx; | |
58 | +} | |
59 | + | ... | ... |
components/qr_code/qr_code.js
0 → 100644
1 | +// pages/user/yhq/qr_code/qr_code.js | |
2 | +const { | |
3 | + barcode, | |
4 | + qrcode | |
5 | +} = require('../../utils/index.js') | |
6 | + | |
7 | +Component({ | |
8 | + data: { | |
9 | + q_show:0, | |
10 | + object:null, | |
11 | + index:0, | |
12 | + is_fw:0, | |
13 | + | |
14 | + barcode_canvas:null, | |
15 | + qrcode_canvas:null, | |
16 | + }, | |
17 | + properties: { | |
18 | + // 这里定义了innerText属性,属性值可以在组件使用时指定 | |
19 | + }, | |
20 | + ready: function () { | |
21 | + }, | |
22 | + | |
23 | + methods: { | |
24 | + //关闭 | |
25 | + close: function (e) { | |
26 | + this.setData({q_show: 0,barcode_canvas:null,qrcode_canvas:null }); | |
27 | + }, | |
28 | + | |
29 | + //打开 | |
30 | + open:function (e) { | |
31 | + this.data.index++; | |
32 | + var list=[{index:this.data.index }]; | |
33 | + | |
34 | + this.setData({q_show: 1,object:e,barcode_canvas:list,qrcode_canvas:list,is_fw:e.is_fw }); | |
35 | + var val=e.val; | |
36 | + | |
37 | + barcode('barcode'+this.data.index,val, 620, 160,this); | |
38 | + qrcode('qrcode'+this.data.index, val, 520, 520,this); | |
39 | + } | |
40 | + } | |
41 | + | |
42 | + | |
43 | +}) | |
0 | 44 | \ No newline at end of file | ... | ... |
components/qr_code/qr_code.json
0 → 100644
components/qr_code/qr_code.wxml
0 → 100644
1 | +<view class="xc-pop-up" wx:if="{{q_show}}"> | |
2 | + <view class="xc-obscuration" bindtap='close'></view> | |
3 | + <view> | |
4 | + <view class="xc-qr-frame"> | |
5 | + <view class="barqrcode"> | |
6 | + <view class="barcode" wx:if="{{!is_fw}}"> | |
7 | + <canvas canvas-id="barcode{{item.index}}" wx:for="{{barcode_canvas}}" /> | |
8 | + <view class="q_code">{{object.val}}</view> | |
9 | + </view> | |
10 | + <view class="qrcode_rim {{is_fw==1?'mt':''}}"> | |
11 | + <canvas class="qrcode" canvas-id="qrcode{{item.index}}" wx:for="{{barcode_canvas}}" /> | |
12 | + <view class="r-code">{{object.content}}</view> | |
13 | + <view class="r-code flex" wx:if="{{object.is_quan}}">有效时间:{{object.now}} 至 <view>{{object.validay}}</view></view> | |
14 | + <block wx:if="{{object.is_quan}}"> | |
15 | + <view class="r-code" wx:if="{{object.name}}">使用说明: 仅{{object.name}}使用</view> | |
16 | + <view class="r-code" wx:else>使用说明: 全场通用</view> | |
17 | + </block> | |
18 | + <view></view> | |
19 | + </view> | |
20 | + </view> | |
21 | + </view> | |
22 | + <view class="shut" bindtap="close">ⅹ</view> | |
23 | +</view> | |
24 | +</view> | |
0 | 25 | \ No newline at end of file | ... | ... |
components/qr_code/qr_code.wxss
0 → 100644
1 | +.xc-pop-up{ | |
2 | + width: 100%; | |
3 | + height: 100%; | |
4 | + position:fixed; | |
5 | + z-index:5; | |
6 | + display:flex; | |
7 | +justify-content:center; | |
8 | +align-items:center; | |
9 | +} | |
10 | + | |
11 | +.xc-obscuration{ | |
12 | + position: fixed; | |
13 | + left: 0; | |
14 | + top: 0; | |
15 | + right: 0; | |
16 | + bottom: 0; | |
17 | + z-index: 11; | |
18 | + background: rgba(0,0,0,0.4); | |
19 | + width: 100%; | |
20 | + height: 100%; | |
21 | + | |
22 | + | |
23 | + | |
24 | +} | |
25 | + | |
26 | +.xc-qr-frame{ | |
27 | + width:90%; | |
28 | + min-height: 696rpx; | |
29 | + background: #fff; | |
30 | + z-index: 55; | |
31 | + position: fixed; | |
32 | + top:180rpx; | |
33 | + height: auto; | |
34 | + padding-bottom:20rpx; | |
35 | + left:35rpx; | |
36 | + | |
37 | +} | |
38 | + | |
39 | +/* 二维码和条形码的边框 */ | |
40 | +.barqrcode{ | |
41 | + width: 100%; | |
42 | + height: auto; | |
43 | + margin-top:30rpx; | |
44 | + | |
45 | +} | |
46 | +/* 点击条形 */ | |
47 | +.barcode { | |
48 | + height:150rpx; | |
49 | + width: 620rpx; | |
50 | + padding-left:30rpx; | |
51 | + text-align:center; | |
52 | +} | |
53 | +canvas{ | |
54 | + width:100%; | |
55 | +height:55px; | |
56 | +display:block; | |
57 | +position:relative; | |
58 | +} | |
59 | +.q_code{ | |
60 | + font-size:28rpx; | |
61 | +letter-spacing:6rpx; | |
62 | + | |
63 | +} | |
64 | + | |
65 | + | |
66 | +/* 二维码边框*/ | |
67 | +.qrcode_rim { | |
68 | + width: 550rpx; | |
69 | + height:580rpx; | |
70 | +display:flex; | |
71 | +flex-direction:column; | |
72 | +margin-left:74rpx; | |
73 | + | |
74 | + | |
75 | +} | |
76 | +.qrcode{ | |
77 | + width:520rpx; | |
78 | + height:520rpx; | |
79 | + margin-top:-20rpx | |
80 | + | |
81 | + | |
82 | +} | |
83 | +.r-code{ | |
84 | + font-size:28rpx; | |
85 | + text-align: center | |
86 | +} | |
87 | + | |
88 | +.shut{ | |
89 | + display: block; | |
90 | + width: 54rpx; | |
91 | + height: 54rpx; | |
92 | + border: 2rpx solid #fff; | |
93 | + font-size: 50rpx; | |
94 | + z-index:55; | |
95 | + line-height:47rpx; | |
96 | + margin-top: 45rpx; | |
97 | + border-radius: 50%; | |
98 | + -moz-border-radius: 50%; | |
99 | + -webkit-border-radius: 50%; | |
100 | + color: #fff; | |
101 | + text-align: center; | |
102 | + position: fixed; | |
103 | + top:940rpx; | |
104 | + left:345rpx; | |
105 | + | |
106 | + | |
107 | +} | |
108 | + | |
109 | +.mt{ margin-top: 70rpx} | |
110 | +.flex{ | |
111 | + display: flex; | |
112 | + justify-content:center; | |
113 | +} | |
0 | 114 | \ No newline at end of file | ... | ... |
components/timePicker/timePicker.js
0 → 100644
1 | + | |
2 | +Component({ | |
3 | + /** | |
4 | + * 组件的属性列表 | |
5 | + */ | |
6 | + properties: { | |
7 | + pickerShow: { | |
8 | + type: Boolean, | |
9 | + observer:function(val){ //弹出动画 | |
10 | + // console.log(this.data); | |
11 | + if(val){ | |
12 | + let animation = wx.createAnimation({ | |
13 | + duration: 500, | |
14 | + timingFunction: "ease" | |
15 | + }); | |
16 | + let animationOpacity = wx.createAnimation({ | |
17 | + duration: 500, | |
18 | + timingFunction: "ease" | |
19 | + }); | |
20 | + setTimeout(() => { | |
21 | + animation.bottom(0).step(); | |
22 | + animationOpacity.opacity(0.7).step(); | |
23 | + this.setData({ | |
24 | + animationOpacity: animationOpacity.export(), | |
25 | + animationData: animation.export() | |
26 | + }) | |
27 | + }, 0); | |
28 | + }else{ | |
29 | + let animation = wx.createAnimation({ | |
30 | + duration: 100, | |
31 | + timingFunction: "ease" | |
32 | + }); | |
33 | + let animationOpacity = wx.createAnimation({ | |
34 | + duration: 500, | |
35 | + timingFunction: "ease" | |
36 | + }); | |
37 | + animation.bottom(-320).step(); | |
38 | + animationOpacity.opacity(0).step(); | |
39 | + this.setData({ | |
40 | + animationOpacity: animationOpacity.export(), | |
41 | + animationData: animation.export() | |
42 | + }); | |
43 | + } | |
44 | + | |
45 | + // 在picker滚动未停止前点确定,会使startValue数组各项归零,发生错误,这里判断并重新初始化 | |
46 | + // 微信新增了picker滚动的回调函数,已进行兼容 | |
47 | + if(this.data.startValue&&this.data.endValue){ | |
48 | + let s = 0, e = 0; | |
49 | + let conf = this.data.config; | |
50 | + | |
51 | + this.data.startValue.map(val => { | |
52 | + if (val == 0) { | |
53 | + s++ | |
54 | + } | |
55 | + }) | |
56 | + this.data.endValue.map(val => { | |
57 | + if (val == 0) { | |
58 | + e++; | |
59 | + } | |
60 | + }); | |
61 | + let tmp={ | |
62 | + hour:4, | |
63 | + minute:5, | |
64 | + second:6 | |
65 | + } | |
66 | + let n = tmp[conf.column]; | |
67 | + if (s>=n || e>=n) { | |
68 | + this.initPick(this.data.config); | |
69 | + this.setData({ | |
70 | + startValue: this.data.startValue, | |
71 | + endValue: this.data.endValue, | |
72 | + }); | |
73 | + } | |
74 | + } | |
75 | + | |
76 | + | |
77 | + } | |
78 | + }, | |
79 | + config: Object | |
80 | + }, | |
81 | + | |
82 | + /** | |
83 | + * 组件的初始数据 | |
84 | + */ | |
85 | + data: { | |
86 | + // pickerShow:true | |
87 | + // limitStartTime: new Date().getTime()-1000*60*60*24*30, | |
88 | + // limitEndTime: new Date().getTime(), | |
89 | + // yearStart:2000, | |
90 | + // yearEnd:2100 | |
91 | + }, | |
92 | + detached: function() { | |
93 | + console.log("dele"); | |
94 | + }, | |
95 | + attached: function() {}, | |
96 | + ready: function() { | |
97 | + this.readConfig(); | |
98 | + this.initPick(this.data.config || null); | |
99 | + this.setData({ | |
100 | + startValue: this.data.startValue, | |
101 | + endValue: this.data.endValue, | |
102 | + }); | |
103 | + | |
104 | + | |
105 | + | |
106 | + | |
107 | + }, | |
108 | + /** | |
109 | + * 组件的方法列表 | |
110 | + */ | |
111 | + methods: { | |
112 | + //读取配置项 | |
113 | + readConfig() { | |
114 | + let limitEndTime = new Date().getTime(); | |
115 | + let limitStartTime = new Date().getTime() - 1000 * 60 * 60 * 24 * 30; | |
116 | + if (this.data.config) { | |
117 | + let conf = this.data.config; | |
118 | + | |
119 | + if (typeof conf.dateLimit == "number") { | |
120 | + limitStartTime = | |
121 | + new Date().getTime() - 1000 * 60 * 60 * 24 * conf.dateLimit; | |
122 | + } | |
123 | + if(conf.limitStartTime){ | |
124 | + | |
125 | + limitStartTime = new Date(conf.limitStartTime.replace(/-/g,'/')).getTime(); | |
126 | + } | |
127 | + | |
128 | + if (conf.limitEndTime) { | |
129 | + limitEndTime = new Date(conf.limitEndTime.replace(/-/g, '/')).getTime(); | |
130 | + } | |
131 | + | |
132 | + this.setData({ | |
133 | + yearStart: conf.yearStart || 2000, | |
134 | + yearEnd: conf.yearEnd || 2100, | |
135 | + endDate: conf.endDate || false, | |
136 | + dateLimit: conf.dateLimit || false, | |
137 | + hourColumn: | |
138 | + conf.column == "hour" || | |
139 | + conf.column == "minute" || | |
140 | + conf.column == "second", | |
141 | + minColumn: conf.column == "minute" || conf.column == "second", | |
142 | + secColumn: conf.column == "second" | |
143 | + }); | |
144 | + } | |
145 | + | |
146 | + let limitStartTimeArr = formatTime(limitStartTime); | |
147 | + let limitEndTimeArr = formatTime(limitEndTime); | |
148 | + | |
149 | + this.setData({ | |
150 | + limitStartTime, | |
151 | + limitStartTimeArr, | |
152 | + limitEndTime, | |
153 | + limitEndTimeArr | |
154 | + }); | |
155 | + }, | |
156 | + //滚动开始 | |
157 | + handlePickStart:function(e){ | |
158 | + this.setData({ | |
159 | + isPicking:true | |
160 | + }) | |
161 | + }, | |
162 | + //滚动结束 | |
163 | + handlePickEnd:function(e){ | |
164 | + this.setData({ | |
165 | + isPicking:false | |
166 | + }) | |
167 | + }, | |
168 | + onConfirm: function() { | |
169 | + | |
170 | + //滚动未结束时不能确认 | |
171 | + if(this.data.isPicking){return} | |
172 | + let startTime = new Date(this.data.startPickTime.replace(/-/g, "/")); | |
173 | + let endTime = new Date(this.data.endPickTime.replace(/-/g, "/")); | |
174 | + if (startTime <= endTime || !this.data.endDate) { | |
175 | + this.setData({ | |
176 | + startTime, | |
177 | + endTime | |
178 | + }); | |
179 | + let startArr = formatTime(startTime).arr; | |
180 | + let endArr = formatTime(endTime).arr; | |
181 | + let format0 = function(num){ | |
182 | + return num<10?'0'+num:num | |
183 | + } | |
184 | + | |
185 | + let startTimeBack = | |
186 | + startArr[0] + | |
187 | + "-" + | |
188 | + format0(startArr[1]) + | |
189 | + "-" + | |
190 | + format0(startArr[2]) + | |
191 | + " " + | |
192 | + (this.data.hourColumn ? format0(startArr[3]) : "00") + | |
193 | + ":" + | |
194 | + (this.data.minColumn ? format0(startArr[4]) : "00") + | |
195 | + ":" + | |
196 | + (this.data.secColumn ? format0(startArr[5]) : "00"); | |
197 | + | |
198 | + let endTimeBack = | |
199 | + endArr[0] + | |
200 | + "-" + | |
201 | + format0(endArr[1]) + | |
202 | + "-" + | |
203 | + format0(endArr[2]) + | |
204 | + " " + | |
205 | + (this.data.hourColumn ? format0(endArr[3]) : "00") + | |
206 | + ":" + | |
207 | + (this.data.minColumn ? format0(endArr[4]) : "00") + | |
208 | + ":" + | |
209 | + (this.data.secColumn ? format0(endArr[5]) : "00"); | |
210 | + | |
211 | + let time = { | |
212 | + startTime: startTimeBack, | |
213 | + endTime: endTimeBack | |
214 | + }; | |
215 | + | |
216 | + //触发自定义事件 | |
217 | + this.triggerEvent("setPickerTime", time); | |
218 | + this.triggerEvent("hidePicker", {}); | |
219 | + } else { | |
220 | + wx.showToast({ | |
221 | + icon: "none", | |
222 | + title: "时间不合理" | |
223 | + }); | |
224 | + } | |
225 | + }, | |
226 | + hideModal: function() { | |
227 | + | |
228 | + | |
229 | + this.triggerEvent("hidePicker", {}); | |
230 | + }, | |
231 | + changeStartDateTime: function(e) { | |
232 | + let val = e.detail.value; | |
233 | + | |
234 | + this.compareTime(val, "start"); | |
235 | + }, | |
236 | + | |
237 | + changeEndDateTime: function(e) { | |
238 | + let val = e.detail.value; | |
239 | + this.compareTime(val, "end"); | |
240 | + }, | |
241 | + //比较时间是否在范围内 | |
242 | + compareTime(val, type) { | |
243 | + let h = val[3] ? this.data.HourList[val[3]] : "00"; | |
244 | + let m = val[4] ? this.data.MinuteList[val[4]] : "00"; | |
245 | + let s = val[5] ? this.data.SecondList[val[5]] : "00"; | |
246 | + let time = | |
247 | + this.data.YearList[val[0]] + | |
248 | + "-" + | |
249 | + this.data.MonthList[val[1]] + | |
250 | + "-" + | |
251 | + this.data.DayList[val[2]] + | |
252 | + " " + | |
253 | + h + | |
254 | + ":" + | |
255 | + m + | |
256 | + ":" + | |
257 | + s; | |
258 | + | |
259 | + let start = this.data.limitStartTime; | |
260 | + let end = this.data.limitEndTime; | |
261 | + let timeNum = new Date(time.replace(/-/g, '/')).getTime(); | |
262 | + let year, month, day, hour, min, sec, limitDate; | |
263 | + let tempArr = [] | |
264 | + | |
265 | + if (!this.data.dateLimit){ | |
266 | + limitDate = [ | |
267 | + this.data.YearList[val[0]], | |
268 | + this.data.MonthList[val[1]], | |
269 | + this.data.DayList[val[2]], | |
270 | + this.data.HourList[val[3]], | |
271 | + this.data.MinuteList[val[4]], | |
272 | + this.data.SecondList[val[5]]] | |
273 | + } else if (type == "start" && timeNum > new Date(this.data.endPickTime.replace(/-/g, '/')) && this.data.config.endDate) { | |
274 | + limitDate = formatTime(this.data.endPickTime).arr; | |
275 | + | |
276 | + } else if (type == "end" && timeNum < new Date(this.data.startPickTime.replace(/-/g, '/'))) { | |
277 | + limitDate = formatTime(this.data.startPickTime).arr; | |
278 | + | |
279 | + } else if (timeNum < start) { | |
280 | + limitDate = this.data.limitStartTimeArr.arr; | |
281 | + | |
282 | + } else if (timeNum > end) { | |
283 | + limitDate = this.data.limitEndTimeArr.arr; | |
284 | + | |
285 | + } else { | |
286 | + limitDate = [ | |
287 | + this.data.YearList[val[0]], | |
288 | + this.data.MonthList[val[1]], | |
289 | + this.data.DayList[val[2]], | |
290 | + this.data.HourList[val[3]], | |
291 | + this.data.MinuteList[val[4]], | |
292 | + this.data.SecondList[val[5]] | |
293 | + ] | |
294 | + | |
295 | + } | |
296 | + | |
297 | + year = limitDate[0]; | |
298 | + month = limitDate[1]; | |
299 | + day = limitDate[2]; | |
300 | + hour = limitDate[3]; | |
301 | + min = limitDate[4]; | |
302 | + sec = limitDate[5]; | |
303 | + | |
304 | + if (type == "start") { | |
305 | + this.setStartDate(year, month, day, hour, min, sec); | |
306 | + } else if (type == "end") { | |
307 | + this.setEndDate(year, month, day, hour, min, sec); | |
308 | + } | |
309 | + }, | |
310 | + getDays: function(year, month) { | |
311 | + let daysInMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; | |
312 | + if (month === 2) { | |
313 | + return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0 | |
314 | + ? 29 | |
315 | + : 28; | |
316 | + } else { | |
317 | + return daysInMonth[month - 1]; | |
318 | + } | |
319 | + }, | |
320 | + initPick: function(initData) { | |
321 | + const date = initData.initStartTime ? new Date(initData.initStartTime.replace(/-/g, '/')): new Date(); | |
322 | + const endDate = initData.initEndTime ? new Date(initData.initEndTime.replace(/-/g, '/')) : new Date(); | |
323 | + // const startDate = new Date(date.getTime() - 1000 * 60 * 60 * 24); | |
324 | + const startDate = date; | |
325 | + const startYear = date.getFullYear(); | |
326 | + const startMonth = date.getMonth() + 1; | |
327 | + const startDay = date.getDate(); | |
328 | + const startHour = date.getHours(); | |
329 | + const startMinute = date.getMinutes(); | |
330 | + const startSecond = date.getSeconds(); | |
331 | + | |
332 | + const endYear = endDate.getFullYear(); | |
333 | + const endMonth = endDate.getMonth() + 1; | |
334 | + const endDay = endDate.getDate(); | |
335 | + const endHour = endDate.getHours(); | |
336 | + const endMinute = endDate.getMinutes(); | |
337 | + const endSecond = endDate.getSeconds(); | |
338 | + | |
339 | + let YearList = []; | |
340 | + let MonthList = []; | |
341 | + let DayList = []; | |
342 | + let HourList = []; | |
343 | + let MinuteList = []; | |
344 | + let SecondList = []; | |
345 | + | |
346 | + //设置年份列表 | |
347 | + for (let i = this.data.yearStart; i <= this.data.yearEnd; i++) { | |
348 | + YearList.push(i); | |
349 | + } | |
350 | + | |
351 | + // 设置月份列表 | |
352 | + for (let i = 1; i <= 12; i++) { | |
353 | + MonthList.push(i); | |
354 | + } | |
355 | + // 设置日期列表 | |
356 | + for (let i = 1; i <= 31; i++) { | |
357 | + DayList.push(i); | |
358 | + } | |
359 | + // 设置时列表 | |
360 | + for (let i = 0; i <= 23; i++) { | |
361 | + if (0 <= i && i < 10) { | |
362 | + i = "0" + i; | |
363 | + } | |
364 | + HourList.push(i); | |
365 | + } | |
366 | + // 分|秒 | |
367 | + for (let i = 0; i <= 59; i++) { | |
368 | + if (0 <= i && i < 10) { | |
369 | + i = "0" + i; | |
370 | + } | |
371 | + MinuteList.push(i); | |
372 | + SecondList.push(i); | |
373 | + } | |
374 | + | |
375 | + this.setData({ | |
376 | + YearList, | |
377 | + MonthList, | |
378 | + DayList, | |
379 | + HourList, | |
380 | + MinuteList, | |
381 | + SecondList | |
382 | + }); | |
383 | + | |
384 | + this.setStartDate(startYear, startMonth, startDay, startHour, startMinute, startSecond); | |
385 | + this.setEndDate(endYear, endMonth, endDay, endHour, endMinute, endSecond); | |
386 | + | |
387 | + //!!! | |
388 | + // setTimeout(() => { | |
389 | + // this.setStartDate(nowYear, nowMonth, nowDay, nowHour, nowMinute) | |
390 | + // this.setEndDate(nowYear, nowMonth, nowDay, nowHour, nowMinute) | |
391 | + // }, 0); | |
392 | + }, | |
393 | + setPickerDateArr(type, year, month, day, hour, minute, second) { | |
394 | + let yearIdx = 0; | |
395 | + let monthIdx = 0; | |
396 | + let dayIdx = 0; | |
397 | + let hourIdx = 0; | |
398 | + let minuteIdx = 0; | |
399 | + let secondIdx = 0; | |
400 | + | |
401 | + this.data.YearList.map((v, idx) => { | |
402 | + if (parseInt(v) === year) { | |
403 | + yearIdx = idx; | |
404 | + } | |
405 | + }); | |
406 | + | |
407 | + this.data.MonthList.map((v, idx) => { | |
408 | + if (parseInt(v) === month) { | |
409 | + monthIdx = idx; | |
410 | + } | |
411 | + }); | |
412 | + | |
413 | + // 重新设置日期列表 | |
414 | + let DayList = []; | |
415 | + for (let i = 1; i <= this.getDays(year, month); i++) { | |
416 | + DayList.push(i); | |
417 | + } | |
418 | + | |
419 | + DayList.map((v, idx) => { | |
420 | + if (parseInt(v) === day) { | |
421 | + dayIdx = idx; | |
422 | + } | |
423 | + }); | |
424 | + if (type == "start") { | |
425 | + this.setData({ startDayList: DayList }); | |
426 | + } else if (type == "end") { | |
427 | + this.setData({ endDayList: DayList }); | |
428 | + } | |
429 | + | |
430 | + this.data.HourList.map((v, idx) => { | |
431 | + if (parseInt(v) === parseInt(hour)) { | |
432 | + hourIdx = idx; | |
433 | + } | |
434 | + }); | |
435 | + | |
436 | + this.data.MinuteList.map((v, idx) => { | |
437 | + if (parseInt(v) === parseInt(minute)) { | |
438 | + minuteIdx = idx; | |
439 | + } | |
440 | + }); | |
441 | + this.data.SecondList.map((v, idx) => { | |
442 | + if (parseInt(v) === parseInt(second)) { | |
443 | + secondIdx = idx; | |
444 | + } | |
445 | + }); | |
446 | + | |
447 | + return { | |
448 | + yearIdx, | |
449 | + monthIdx, | |
450 | + dayIdx, | |
451 | + hourIdx, | |
452 | + minuteIdx, | |
453 | + secondIdx | |
454 | + }; | |
455 | + }, | |
456 | + setStartDate: function(year, month, day, hour, minute, second) { | |
457 | + let pickerDateArr = this.setPickerDateArr( | |
458 | + "start", | |
459 | + year, | |
460 | + month, | |
461 | + day, | |
462 | + hour, | |
463 | + minute, | |
464 | + second | |
465 | + ); | |
466 | + this.setData({ | |
467 | + startYearList: this.data.YearList, | |
468 | + startMonthList: this.data.MonthList, | |
469 | + // startDayList: this.data.DayList, | |
470 | + startHourList: this.data.HourList, | |
471 | + startMinuteList: this.data.MinuteList, | |
472 | + startSecondList: this.data.SecondList, | |
473 | + startValue: [ | |
474 | + pickerDateArr.yearIdx, | |
475 | + pickerDateArr.monthIdx, | |
476 | + pickerDateArr.dayIdx, | |
477 | + pickerDateArr.hourIdx, | |
478 | + pickerDateArr.minuteIdx, | |
479 | + pickerDateArr.secondIdx | |
480 | + ], | |
481 | + startPickTime: | |
482 | + this.data.YearList[pickerDateArr.yearIdx] + | |
483 | + "-" + | |
484 | + this.data.MonthList[pickerDateArr.monthIdx] + | |
485 | + "-" + | |
486 | + this.data.DayList[pickerDateArr.dayIdx] + | |
487 | + " " + | |
488 | + this.data.HourList[pickerDateArr.hourIdx] + | |
489 | + ":" + | |
490 | + this.data.MinuteList[pickerDateArr.minuteIdx] + | |
491 | + ":" + | |
492 | + this.data.SecondList[pickerDateArr.secondIdx] | |
493 | + }); | |
494 | + }, | |
495 | + setEndDate: function(year, month, day, hour, minute, second) { | |
496 | + let pickerDateArr = this.setPickerDateArr( | |
497 | + "end", | |
498 | + year, | |
499 | + month, | |
500 | + day, | |
501 | + hour, | |
502 | + minute, | |
503 | + second | |
504 | + ); | |
505 | + | |
506 | + this.setData({ | |
507 | + endYearList: this.data.YearList, | |
508 | + endMonthList: this.data.MonthList, | |
509 | + // endDayList: this.data.DayList, | |
510 | + endHourList: this.data.HourList, | |
511 | + endMinuteList: this.data.MinuteList, | |
512 | + endSecondList: this.data.SecondList, | |
513 | + endValue: [ | |
514 | + pickerDateArr.yearIdx, | |
515 | + pickerDateArr.monthIdx, | |
516 | + pickerDateArr.dayIdx, | |
517 | + pickerDateArr.hourIdx, | |
518 | + pickerDateArr.minuteIdx, | |
519 | + pickerDateArr.secondIdx | |
520 | + ], | |
521 | + endPickTime: | |
522 | + this.data.YearList[pickerDateArr.yearIdx] + | |
523 | + "-" + | |
524 | + this.data.MonthList[pickerDateArr.monthIdx] + | |
525 | + "-" + | |
526 | + this.data.DayList[pickerDateArr.dayIdx] + | |
527 | + " " + | |
528 | + this.data.HourList[pickerDateArr.hourIdx] + | |
529 | + ":" + | |
530 | + this.data.MinuteList[pickerDateArr.minuteIdx] + | |
531 | + ":" + | |
532 | + this.data.SecondList[pickerDateArr.secondIdx] | |
533 | + }); | |
534 | + }, | |
535 | + } | |
536 | +}); | |
537 | + | |
538 | + | |
539 | +function formatTime(date) { | |
540 | + | |
541 | + if (typeof date == 'string' || 'number') { | |
542 | + try { | |
543 | + date = date.replace(/-/g, '/')//兼容ios | |
544 | + } catch (error) { | |
545 | + } | |
546 | + date = new Date(date) | |
547 | + } | |
548 | + | |
549 | + const year = date.getFullYear() | |
550 | + const month = date.getMonth() + 1 | |
551 | + const day = date.getDate() | |
552 | + const hour = date.getHours() | |
553 | + const minute = date.getMinutes() | |
554 | + const second = date.getSeconds() | |
555 | + | |
556 | + return { | |
557 | + str: [year, month, day].map(formatNumber).join('-') + ' ' + [hour, minute, second].map(formatNumber).join(':'), | |
558 | + arr: [year, month, day, hour, minute, second] | |
559 | + } | |
560 | +} | |
561 | +function formatNumber(n) { | |
562 | + n = n.toString() | |
563 | + return n[1] ? n : '0' + n | |
564 | +} | ... | ... |
components/timePicker/timePicker.json
0 → 100644
components/timePicker/timePicker.wxml
0 → 100644
1 | +<!--components/timePicker/timePicker.wxml--> | |
2 | +<!-- 自定义时间筛选器 --> | |
3 | +<view hidden="{{!pickerShow}}"> | |
4 | + <view class="picker-container {{pickerShow?'show_picker':'hide_picker'}}" animation="{{animationData}}"> | |
5 | + | |
6 | + <view class="btn-box"> | |
7 | + <view class="pick_btn" bindtap="hideModal">取消</view> | |
8 | + <view class='pick_btn' style="color: #19f" bindtap="onConfirm">确定</view> | |
9 | + </view> | |
10 | + | |
11 | + <view class="flex m_auto"> | |
12 | + <view style="margin-left:10rpx"> | |
13 | + <view class="w_class">开始日期:</view> | |
14 | + <picker-view class='sensorTypePicker' indicator-style='height: 35px;' bindchange="changeStartDateTime" | |
15 | + value="{{startValue}}" style="height: {{endDate?'120px':'250px'}};" bindpickstart="handlePickStart" bindpickend="handlePickEnd"> | |
16 | + <picker-view-column style="min-width: 70px;flex-shrink: 0"> | |
17 | + <view class='picker-item' wx:for="{{startYearList}}" wx:key='*this'>{{item}}</view> | |
18 | + </picker-view-column> | |
19 | + <picker-view-column> | |
20 | + <view class='picker-item' wx:for="{{startMonthList}}" wx:key='*this'>{{item}}</view> | |
21 | + </picker-view-column> | |
22 | + <picker-view-column> | |
23 | + <view class='picker-item' wx:for="{{startDayList}}" wx:key='*this'>{{item}}</view> | |
24 | + </picker-view-column> | |
25 | + <picker-view-column hidden="{{!hourColumn}}"> | |
26 | + <view class='picker-item' wx:for="{{startHourList}}" wx:key='*this'>{{item}}</view> | |
27 | + </picker-view-column> | |
28 | + <picker-view-column hidden="{{!minColumn}}"> | |
29 | + <view class='picker-item' wx:for="{{startMinuteList}}" wx:key='*this'>{{item}}</view> | |
30 | + </picker-view-column> | |
31 | + <picker-view-column hidden="{{!secColumn}}"> | |
32 | + <view class='picker-item' wx:for="{{startSecondList}}" wx:key='*this'>{{item}}</view> | |
33 | + </picker-view-column> | |
34 | + </picker-view> | |
35 | + </view> | |
36 | + | |
37 | + <view class="line"></view> | |
38 | + | |
39 | + <view wx:if="{{endDate}}" style="margin-left:20rpx"> | |
40 | + <view class="w_class">结束日期:</view> | |
41 | + <picker-view class='sensorTypePicker' indicator-style='height: 35px;' bindchange="changeEndDateTime" bindpickstart="handlePickStart" bindpickend="handlePickEnd" | |
42 | + value="{{endValue}}"> | |
43 | + <picker-view-column style="min-width: 70px;flex-shrink: 0"> | |
44 | + <view class='picker-item' wx:for="{{endYearList}}" wx:key='*this' style="min-width: 70px;">{{item}}</view> | |
45 | + </picker-view-column> | |
46 | + <picker-view-column> | |
47 | + <view class='picker-item' wx:for="{{endMonthList}}" wx:key='*this'>{{item}}</view> | |
48 | + </picker-view-column> | |
49 | + <picker-view-column> | |
50 | + <view class='picker-item' wx:for="{{endDayList}}" wx:key='*this'>{{item}}</view> | |
51 | + </picker-view-column> | |
52 | + <picker-view-column hidden="{{!hourColumn}}" > | |
53 | + <view class='picker-item' wx:for="{{endHourList}}" wx:key='*this'>{{item}}</view> | |
54 | + </picker-view-column> | |
55 | + <picker-view-column hidden="{{!minColumn}}"> | |
56 | + <view class='picker-item' wx:for="{{endMinuteList}}" wx:key='*this'>{{item}}</view> | |
57 | + </picker-view-column> | |
58 | + <picker-view-column hidden="{{!secColumn}}"> | |
59 | + <view class='picker-item' wx:for="{{startSecondList}}" wx:key='*this'>{{item}}</view> | |
60 | + </picker-view-column> | |
61 | + | |
62 | + | |
63 | + </picker-view> | |
64 | + </view> | |
65 | + </view> | |
66 | + | |
67 | + | |
68 | + <!-- <view class='sure' bindtap="onConfirm">确定</view> --> | |
69 | + | |
70 | + </view> | |
71 | + <!-- 遮罩 --> | |
72 | + <view class="sensorType-screen" bindtap="hideModal" animation="{{animationOpacity}}"/> | |
73 | +</view> | ... | ... |
components/timePicker/timePicker.wxss
0 → 100644
1 | +/* components/timePicker/timePicker.wxss */ | |
2 | + | |
3 | +.picker-item{ | |
4 | + line-height: 50px; | |
5 | + display: flex; | |
6 | + justify-content: center; | |
7 | + align-items: center; | |
8 | +} | |
9 | + | |
10 | +/* 自定义时间 */ | |
11 | +.picker-container { | |
12 | + display: flex; | |
13 | + flex-direction: column; | |
14 | + /* justify-content: center; */ | |
15 | + align-items: center; | |
16 | + | |
17 | + width: 100%; | |
18 | + overflow: hidden; | |
19 | + position: fixed; | |
20 | + left: 0; | |
21 | + /* height: 0; */ | |
22 | + transition: height 0.5s; | |
23 | + z-index: 2000; | |
24 | + background: white; | |
25 | + border-top: 1px solid #EFEFF4; | |
26 | + height: 460rpx | |
27 | +} | |
28 | +.sensorType-screen{ | |
29 | + width: 100vw; | |
30 | + /* height:400rpx; */ | |
31 | + position: fixed; | |
32 | + top: 0; | |
33 | + right: 0; | |
34 | + bottom: 0; | |
35 | + left: 0; | |
36 | + background: #000; | |
37 | + opacity: 0; | |
38 | + overflow: hidden; | |
39 | + z-index: 1999; | |
40 | + color: #fff; | |
41 | +} | |
42 | +.sensorTypePicker{ | |
43 | + width: 330rpx; | |
44 | + height: 120px; | |
45 | + /* padding: 45px 0; */ | |
46 | +} | |
47 | +.picker-item{ | |
48 | + line-height: 50px; | |
49 | + display: flex; | |
50 | + justify-content: center; | |
51 | + align-items: center; | |
52 | + font-size: 16px; | |
53 | + /* overflow: hidden; */ | |
54 | +} | |
55 | +.box{ | |
56 | + padding: 0 10px; | |
57 | +} | |
58 | + | |
59 | +/* 至 */ | |
60 | +.to{ | |
61 | + width:100%; | |
62 | + display: flex; | |
63 | + justify-content: center;align-items: center; | |
64 | + color:rgb(138,138,138); | |
65 | + /* font-size:30rpx; */ | |
66 | +} | |
67 | + | |
68 | +/* 确定 */ | |
69 | +.sure{ | |
70 | + width:100%; | |
71 | + height:45px; | |
72 | + border-top: 1px solid #EFEFF4; | |
73 | + display: flex;justify-content: center;align-items: center; | |
74 | + color: rgb(36,123,255); | |
75 | + font-size:16px; | |
76 | +} | |
77 | + | |
78 | +.btn-box{ | |
79 | + width: 100%; | |
80 | + display: flex; | |
81 | + justify-content: space-between; | |
82 | + align-items: center; | |
83 | + border-bottom: 1px solid #eee; | |
84 | +} | |
85 | +.pick_btn{ | |
86 | + padding: 7px 15px; | |
87 | + color: #ccc; | |
88 | + /* background-color: #159; */ | |
89 | +} | |
90 | + | |
91 | +.flex{display: flex} | |
92 | +.picker-container .m_auto{ margin: 20rpx auto; width: 730rpx; } | |
93 | +.picker-container .w_class{color: #999; margin-left: 30rpx; margin-top:30rpx; | |
94 | +font-size: 34rpx; position: relative; top:3rpx} | |
95 | + .picker-container .line{ height: 280rpx; width: 1rpx; border-right:1rpx solid #eee; margin-left: 26rpx; margin-top: 26rpx } | ... | ... |
components/userqy_pop_up/filter.wxs
0 → 100644
components/userqy_pop_up/userqy_pop_up.js
0 → 100644
1 | +// components/userqy_pop_up/userqy_pop_up.js | |
2 | +Component({ | |
3 | + /** | |
4 | + * 页面的初始数据 | |
5 | + */ | |
6 | + data: { | |
7 | + control: 1 | |
8 | + }, | |
9 | + | |
10 | + properties: { | |
11 | + | |
12 | + }, | |
13 | + ready: function () { | |
14 | + | |
15 | + }, | |
16 | + | |
17 | + methods: { | |
18 | + | |
19 | + // 打开主键 | |
20 | + open: function (e) { | |
21 | + var contents = e.content; | |
22 | + this.setData({ control: 2, title: e.title, content: contents }); | |
23 | + | |
24 | + }, | |
25 | + //关闭 | |
26 | + close: function () { | |
27 | + this.setData({ control: 0 }); | |
28 | + }, | |
29 | + | |
30 | + }, | |
31 | + | |
32 | + | |
33 | + | |
34 | + | |
35 | + | |
36 | +}) | |
0 | 37 | \ No newline at end of file | ... | ... |
components/userqy_pop_up/userqy_pop_up.json
0 → 100644
components/userqy_pop_up/userqy_pop_up.wxml
0 → 100644
1 | +<wxs src="filter.wxs" module="util"></wxs> | |
2 | +<view class="xc-pop-up" wx:if="{{control==2}}"> | |
3 | + <view class="div" bindtap="close"></view> | |
4 | + <view class="con_div flex_c"> | |
5 | + <view class="pop-up rel"> | |
6 | + <!-- 标题 --> | |
7 | + <view class="xc-title ellipsis-1">{{title}}</view> | |
8 | + <!-- 内容 --> | |
9 | + <view class="xc-content"> | |
10 | + <text>{{util.format(content)}}</text> | |
11 | + </view> | |
12 | + | |
13 | + <view class="shut abs" bindtap="close">ⅹ</view> | |
14 | + </view> | |
15 | + | |
16 | + </view> | |
17 | +</view> | |
0 | 18 | \ No newline at end of file | ... | ... |
components/userqy_pop_up/userqy_pop_up.wxss
0 → 100644
1 | + | |
2 | +.xc-pop-up .div{ | |
3 | + width: 100%; | |
4 | + height: 100%; | |
5 | + position: fixed; | |
6 | + left: 0; | |
7 | + top: 0; | |
8 | + right: 0; | |
9 | + bottom: 0; | |
10 | + z-index: 11; | |
11 | + background: rgba(0,0,0,0.4); | |
12 | + | |
13 | +} | |
14 | + | |
15 | +.con_div{ | |
16 | + width: 100%; | |
17 | + height: 100%; | |
18 | + position: fixed; | |
19 | + left: 0; | |
20 | + top: 0; | |
21 | +} | |
22 | + | |
23 | +.xc-pop-up .pop-up{ | |
24 | + border-radius: 15rpx; | |
25 | + width: 640rpx; | |
26 | + min-height:400rpx; | |
27 | + height: auto; | |
28 | + background: #fff; | |
29 | + border: 4rpx solid #8faecd; | |
30 | + z-index: 55; | |
31 | +} | |
32 | +.xc-pop-up .shut{ | |
33 | + width: 54rpx; | |
34 | + height: 54rpx; | |
35 | + border: 2rpx solid #fff; | |
36 | + font-size: 50rpx; | |
37 | + z-index:55; | |
38 | + line-height:40rpx; | |
39 | + border-radius: 50%; | |
40 | + color: #fff; | |
41 | + text-align: center; | |
42 | + bottom: -100rpx; | |
43 | + left:280rpx | |
44 | +} | |
45 | + | |
46 | + | |
47 | +.xc-title{ | |
48 | + height:110rpx; | |
49 | +line-height:121rpx; | |
50 | + text-align: center; | |
51 | +width:100%; | |
52 | + overflow: hidden; | |
53 | + white-space: nowrap; | |
54 | + text-overflow: ellipsis; | |
55 | + | |
56 | +} | |
57 | +.xc-content{ | |
58 | + width: 80%; | |
59 | + overflow-y: auto; | |
60 | + margin:0 auto; | |
61 | + color:#9f9f9f; | |
62 | + font-size:30rpx; | |
63 | + margin-bottom:20rpx; | |
64 | + padding-bottom: 10rpx; | |
65 | + max-height: 400rpx | |
66 | +} | |
67 | + | |
68 | +.con_div{ | |
69 | + z-index:55; position: fixed;top:0; left: 0; height: 100%; width: 100%; | |
70 | +} | |
71 | +.xc-layer-title{ | |
72 | + width:80%; | |
73 | +margin:0 auto; | |
74 | + | |
75 | +} | |
76 | + | |
77 | +.rel{ position: relative} | |
78 | +.abs{position: absolute} | |
79 | +.flex_c{display: flex; justify-content: center; align-items: center} | |
0 | 80 | \ No newline at end of file | ... | ... |
images/bar/car.png
0 → 100644
3.43 KB
images/bar/car_on.png
0 → 100644
17.7 KB
images/bar/fl.png
0 → 100644
3.86 KB
images/bar/fl_on.png
0 → 100644
18 KB
images/bar/fx.png
0 → 100644
3.88 KB
images/bar/fx_on.png
0 → 100644
17.8 KB
images/bar/index.png
0 → 100644
3.79 KB
images/bar/index_on.png
0 → 100644
17.8 KB
images/bar/user.png
0 → 100644
4.08 KB
images/bar/user_on.png
0 → 100644
17.9 KB
images/gt.png
0 → 100644
1.72 KB
images/share/ct_num.png
0 → 100644
3.63 KB
images/share/default_g_img.gif
0 → 100644
7.54 KB