├── README.md
└── bottom-navigation
├── App.vue
├── common
├── icon.css
├── mui.css
├── uni.css
├── util.js
└── zanui.wxss
├── main.js
├── manifest.json
├── pages.json
├── pages
└── tabs
│ └── tabs.vue
└── unpackage
└── dist
└── dev
└── app-plus
└── bottom-navigation
├── __uniappchooselocation.html
├── __uniappmap.html
├── __uniappmarker.png
├── __uniappopenlocation.html
├── __uniappscan.html
├── __uniappservice.html
├── __uniappsuccess.png
├── __uniappview.html
├── app-service.js
├── app-view.js
├── manifest.json
└── pages
└── tabs
└── tabs.js
/README.md:
--------------------------------------------------------------------------------
1 | # bottom-navigation
2 | uni-app 自定义底部导航栏,通过swipe组件实现左右滑动切换页面
3 | 
4 |
--------------------------------------------------------------------------------
/bottom-navigation/App.vue:
--------------------------------------------------------------------------------
1 |
14 |
15 |
26 |
--------------------------------------------------------------------------------
/bottom-navigation/common/icon.css:
--------------------------------------------------------------------------------
1 | @font-face {
2 | font-family: uniicons;
3 | font-weight: normal;
4 | font-style: normal;
5 | src: url('https://img-cdn-qiniu.dcloud.net.cn/fonts/uni.ttf') format('truetype');
6 | }
7 |
8 | .uni-icon {
9 | font-family: uniicons;
10 | font-size: 48px;
11 | font-weight: normal;
12 | font-style: normal;
13 | line-height: 1;
14 | display: inline-block;
15 | text-decoration: none;
16 | -webkit-font-smoothing: antialiased;
17 | }
18 |
19 | .uni-icon.uni-active {
20 | color: #007aff;
21 | }
22 |
23 | .uni-icon-contact:before {
24 | content: '\e100';
25 | }
26 |
27 | .uni-icon-person:before {
28 | content: '\e101';
29 | }
30 |
31 | .uni-icon-personadd:before {
32 | content: '\e102';
33 | }
34 |
35 | .uni-icon-contact-filled:before {
36 | content: '\e130';
37 | }
38 |
39 | .uni-icon-person-filled:before {
40 | content: '\e131';
41 | }
42 |
43 | .uni-icon-personadd-filled:before {
44 | content: '\e132';
45 | }
46 |
47 | .uni-icon-phone:before {
48 | content: '\e200';
49 | }
50 |
51 | .uni-icon-email:before {
52 | content: '\e201';
53 | }
54 |
55 | .uni-icon-chatbubble:before {
56 | content: '\e202';
57 | }
58 |
59 | .uni-icon-chatboxes:before {
60 | content: '\e203';
61 | }
62 |
63 | .uni-icon-phone-filled:before {
64 | content: '\e230';
65 | }
66 |
67 | .uni-icon-email-filled:before {
68 | content: '\e231';
69 | }
70 |
71 | .uni-icon-chatbubble-filled:before {
72 | content: '\e232';
73 | }
74 |
75 | .uni-icon-chatboxes-filled:before {
76 | content: '\e233';
77 | }
78 |
79 | .uni-icon-weibo:before {
80 | content: '\e260';
81 | }
82 |
83 | .uni-icon-weixin:before {
84 | content: '\e261';
85 | }
86 |
87 | .uni-icon-pengyouquan:before {
88 | content: '\e262';
89 | }
90 |
91 | .uni-icon-chat:before {
92 | content: '\e263';
93 | }
94 |
95 | .uni-icon-qq:before {
96 | content: '\e264';
97 | }
98 |
99 | .uni-icon-videocam:before {
100 | content: '\e300';
101 | }
102 |
103 | .uni-icon-camera:before {
104 | content: '\e301';
105 | }
106 |
107 | .uni-icon-mic:before {
108 | content: '\e302';
109 | }
110 |
111 | .uni-icon-location:before {
112 | content: '\e303';
113 | }
114 |
115 | .uni-icon-mic-filled:before,
116 | .uni-icon-speech:before {
117 | content: '\e332';
118 | }
119 |
120 | .uni-icon-location-filled:before {
121 | content: '\e333';
122 | }
123 |
124 | .uni-icon-micoff:before {
125 | content: '\e360';
126 | }
127 |
128 | .uni-icon-image:before {
129 | content: '\e363';
130 | }
131 |
132 | .uni-icon-map:before {
133 | content: '\e364';
134 | }
135 |
136 | .uni-icon-compose:before {
137 | content: '\e400';
138 | }
139 |
140 | .uni-icon-trash:before {
141 | content: '\e401';
142 | }
143 |
144 | .uni-icon-upload:before {
145 | content: '\e402';
146 | }
147 |
148 | .uni-icon-download:before {
149 | content: '\e403';
150 | }
151 |
152 | .uni-icon-close:before {
153 | content: '\e404';
154 | }
155 |
156 | .uni-icon-redo:before {
157 | content: '\e405';
158 | }
159 |
160 | .uni-icon-undo:before {
161 | content: '\e406';
162 | }
163 |
164 | .uni-icon-refresh:before {
165 | content: '\e407';
166 | }
167 |
168 | .uni-icon-star:before {
169 | content: '\e408';
170 | }
171 |
172 | .uni-icon-plus:before {
173 | content: '\e409';
174 | }
175 |
176 | .uni-icon-minus:before {
177 | content: '\e410';
178 | }
179 |
180 | .uni-icon-circle:before,
181 | .uni-icon-checkbox:before {
182 | content: '\e411';
183 | }
184 |
185 | .uni-icon-close-filled:before,
186 | .uni-icon-clear:before {
187 | content: '\e434';
188 | }
189 |
190 | .uni-icon-refresh-filled:before {
191 | content: '\e437';
192 | }
193 |
194 | .uni-icon-star-filled:before {
195 | content: '\e438';
196 | }
197 |
198 | .uni-icon-plus-filled:before {
199 | content: '\e439';
200 | }
201 |
202 | .uni-icon-minus-filled:before {
203 | content: '\e440';
204 | }
205 |
206 | .uni-icon-circle-filled:before {
207 | content: '\e441';
208 | }
209 |
210 | .uni-icon-checkbox-filled:before {
211 | content: '\e442';
212 | }
213 |
214 | .uni-icon-closeempty:before {
215 | content: '\e460';
216 | }
217 |
218 | .uni-icon-refreshempty:before {
219 | content: '\e461';
220 | }
221 |
222 | .uni-icon-reload:before {
223 | content: '\e462';
224 | }
225 |
226 | .uni-icon-starhalf:before {
227 | content: '\e463';
228 | }
229 |
230 | .uni-icon-spinner:before {
231 | content: '\e464';
232 | }
233 |
234 | .uni-icon-spinner-cycle:before {
235 | content: '\e465';
236 | }
237 |
238 | .uni-icon-search:before {
239 | content: '\e466';
240 | }
241 |
242 | .uni-icon-plusempty:before {
243 | content: '\e468';
244 | }
245 |
246 | .uni-icon-forward:before {
247 | content: '\e470';
248 | }
249 |
250 | .uni-icon-back:before,
251 | .uni-icon-left-nav:before {
252 | content: '\e471';
253 | }
254 |
255 | .uni-icon-checkmarkempty:before {
256 | content: '\e472';
257 | }
258 |
259 | .uni-icon-home:before {
260 | content: '\e500';
261 | }
262 |
263 | .uni-icon-navigate:before {
264 | content: '\e501';
265 | }
266 |
267 | .uni-icon-gear:before {
268 | content: '\e502';
269 | }
270 |
271 | .uni-icon-paperplane:before {
272 | content: '\e503';
273 | }
274 |
275 | .uni-icon-info:before {
276 | content: '\e504';
277 | }
278 |
279 | .uni-icon-help:before {
280 | content: '\e505';
281 | }
282 |
283 | .uni-icon-locked:before {
284 | content: '\e506';
285 | }
286 |
287 | .uni-icon-more:before {
288 | content: '\e507';
289 | }
290 |
291 | .uni-icon-flag:before {
292 | content: '\e508';
293 | }
294 |
295 | .uni-icon-home-filled:before {
296 | content: '\e530';
297 | }
298 |
299 | .uni-icon-gear-filled:before {
300 | content: '\e532';
301 | }
302 |
303 | .uni-icon-info-filled:before {
304 | content: '\e534';
305 | }
306 |
307 | .uni-icon-help-filled:before {
308 | content: '\e535';
309 | }
310 |
311 | .uni-icon-more-filled:before {
312 | content: '\e537';
313 | }
314 |
315 | .uni-icon-settings:before {
316 | content: '\e560';
317 | }
318 |
319 | .uni-icon-list:before {
320 | content: '\e562';
321 | }
322 |
323 | .uni-icon-bars:before {
324 | content: '\e563';
325 | }
326 |
327 | .uni-icon-loop:before {
328 | content: '\e565';
329 | }
330 |
331 | .uni-icon-paperclip:before {
332 | content: '\e567';
333 | }
334 |
335 | .uni-icon-eye:before {
336 | content: '\e568';
337 | }
338 |
339 | .uni-icon-arrowup:before {
340 | content: '\e580';
341 | }
342 |
343 | .uni-icon-arrowdown:before {
344 | content: '\e581';
345 | }
346 |
347 | .uni-icon-arrowleft:before {
348 | content: '\e582';
349 | }
350 |
351 | .uni-icon-arrowright:before {
352 | content: '\e583';
353 | }
354 |
355 | .uni-icon-arrowthinup:before {
356 | content: '\e584';
357 | }
358 |
359 | .uni-icon-arrowthindown:before {
360 | content: '\e585';
361 | }
362 |
363 | .uni-icon-arrowthinleft:before {
364 | content: '\e586';
365 | }
366 |
367 | .uni-icon-arrowthinright:before {
368 | content: '\e587';
369 | }
370 |
371 | .uni-icon-pulldown:before {
372 | content: '\e588';
373 | }
374 |
--------------------------------------------------------------------------------
/bottom-navigation/common/uni.css:
--------------------------------------------------------------------------------
1 | @font-face {
2 | font-family: uniicons;
3 | font-weight: normal;
4 | font-style: normal;
5 | src: url('https://img-cdn-qiniu.dcloud.net.cn/fonts/uni.ttf') format('truetype');
6 | }
7 |
8 |
9 |
10 |
11 | /*通用 */
12 |
13 | .uni-flex {
14 | display: flex;
15 | flex-direction: row;
16 | }
17 |
18 | .uni-flex-item {
19 | flex: 1;
20 | }
21 |
22 | .uni-row {
23 | flex-direction: row;
24 | }
25 |
26 | .uni-column {
27 | flex-direction: column;
28 | }
29 |
30 | .uni-h6 {
31 | font-size: 24px;
32 | color: #8f8f94;
33 | }
34 |
35 | .uni-h5 {
36 | font-size: 28px;
37 | color: #8f8f94;
38 | }
39 |
40 | .uni-h4 {
41 | font-size: 36px;
42 | }
43 |
44 | .uni-h3 {
45 | font-size: 48px;
46 | font-weight: 600;
47 | }
48 |
49 | .uni-h2 {
50 | font-size: 60px;
51 | font-weight: 600;
52 | }
53 |
54 | .uni-h1 {
55 | font-size: 72px;
56 | font-weight: 600;
57 | }
58 |
59 | .uni-ellipsis {
60 | overflow: hidden;
61 | white-space: nowrap;
62 | text-overflow: ellipsis;
63 | }
64 |
65 | .uni-ellipsis-2 {
66 | display: -webkit-box;
67 | overflow: hidden;
68 |
69 | white-space: normal !important;
70 | text-overflow: ellipsis;
71 | word-wrap: break-word;
72 |
73 | -webkit-line-clamp: 2;
74 | -webkit-box-orient: vertical;
75 | }
76 |
77 | .uni-input {
78 | height: 80px;
79 | min-height: 80px;
80 | line-height: 80px;
81 | }
82 |
83 | .uni-label {
84 | width: 210px;
85 | word-wrap: break-word;
86 | word-break: break-all;
87 | }
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 | /*数字角标 */
96 |
97 | .uni-badge {
98 | padding: 4px 14px;
99 | font-size: 24px;
100 | height: 24px;
101 | line-height: 1;
102 | color: #333;
103 | background-color: rgba(0, 0, 0, .15);
104 | border-radius: 200px;
105 | }
106 |
107 | .uni-badge.uni-badge-inverted {
108 | padding: 0 10px 0 0;
109 | color: #929292;
110 | background-color: transparent
111 | }
112 |
113 | .uni-badge-primary {
114 | color: #fff;
115 | background-color: #007aff
116 | }
117 |
118 | .uni-badge-blue.uni-badge-inverted,
119 | .uni-badge-primary.uni-badge-inverted {
120 | color: #007aff;
121 | background-color: transparent
122 | }
123 |
124 | .uni-badge-green,
125 | .uni-badge-success {
126 | color: #fff;
127 | background-color: #4cd964;
128 | }
129 |
130 | .uni-badge-green.uni-badge-inverted,
131 | .uni-badge-success.uni-badge-inverted {
132 | color: #4cd964;
133 | background-color: transparent
134 | }
135 |
136 | .uni-badge-warning,
137 | .uni-badge-yellow {
138 | color: #fff;
139 | background-color: #f0ad4e
140 | }
141 |
142 | .uni-badge-warning.uni-badge-inverted,
143 | .uni-badge-yellow.uni-badge-inverted {
144 | color: #f0ad4e;
145 | background-color: transparent
146 | }
147 |
148 | .uni-badge-danger,
149 | .uni-badge-red {
150 | color: #fff;
151 | background-color: #dd524d
152 | }
153 |
154 | .uni-badge-danger.uni-badge-inverted,
155 | .uni-badge-red.uni-badge-inverted {
156 | color: #dd524d;
157 | background-color: transparent
158 | }
159 |
160 | .uni-badge-purple,
161 | .uni-badge-royal {
162 | color: #fff;
163 | background-color: #8a6de9
164 | }
165 |
166 | .uni-badge-purple.uni-badge-inverted,
167 | .uni-badge-royal.uni-badge-inverted {
168 | color: #8a6de9;
169 | background-color: transparent
170 | }
171 |
172 |
173 |
174 |
175 |
176 |
177 |
178 | /*折叠面板 */
179 |
180 | .uni-collapse-content {
181 | height: 0;
182 | width: 100%;
183 | overflow: hidden;
184 | }
185 |
186 | .uni-collapse-content.uni-active {
187 | height: auto;
188 | }
189 |
190 |
191 |
192 |
193 |
194 |
195 |
196 | /*卡片视图 */
197 |
198 | .uni-card {
199 | background: #fff;
200 | border-radius: 8px;
201 | margin: 20px;
202 | position: relative;
203 | box-shadow: 0 2px 4px rgba(0, 0, 0, .3);
204 | }
205 |
206 | .uni-card-content {
207 | font-size: 30px;
208 | }
209 |
210 | .uni-card-content-inner {
211 | position: relative;
212 | padding: 30px;
213 | }
214 |
215 | .uni-card-footer,
216 | .uni-card-header {
217 | position: relative;
218 | display: flex;
219 | min-height: 50px;
220 | padding: 20px 30px;
221 | justify-content: space-between;
222 | align-items: center;
223 | }
224 |
225 | .uni-card-header {
226 | font-size: 36px;
227 | }
228 |
229 | .uni-card-footer {
230 | color: #6d6d72;
231 | }
232 |
233 | .uni-card-footer:before,
234 | .uni-card-header:after {
235 | position: absolute;
236 | top: 0;
237 | right: 0;
238 | left: 0;
239 | height: 2px;
240 | content: '';
241 | -webkit-transform: scaleY(.5);
242 | transform: scaleY(.5);
243 | background-color: #c8c7cc;
244 | }
245 |
246 | .uni-card-header:after {
247 | top: auto;
248 | bottom: 0;
249 | }
250 |
251 | .uni-card-media {
252 | justify-content: flex-start;
253 | }
254 |
255 | .uni-card-media-logo {
256 | height: 84px;
257 | width: 84px;
258 | margin-right: 20px;
259 | }
260 |
261 | .uni-card-media-body {
262 | height: 84px;
263 | display: flex;
264 | flex-direction: column;
265 | justify-content: space-between;
266 | align-items: flex-start;
267 | }
268 |
269 | .uni-card-media-text-top {
270 | line-height: 36px;
271 | font-size: 34px;
272 | }
273 |
274 | .uni-card-media-text-bottom {
275 | line-height: 30px;
276 | font-size: 28px;
277 | color: #8f8f94;
278 | }
279 |
280 | .uni-card-link {
281 | color: #007AFF;
282 | }
283 |
284 |
285 |
286 |
287 | /* 列表 */
288 |
289 | .uni-list {
290 | background-color: #FFFFFF;
291 | position: relative;
292 | width: 100%;
293 | display: flex;
294 | flex-direction: column;
295 | }
296 |
297 | .uni-list:after {
298 | position: absolute;
299 | z-index: 10;
300 | right: 0;
301 | bottom: 0;
302 | left: 0;
303 | height: 1px;
304 | content: '';
305 | -webkit-transform: scaleY(.5);
306 | transform: scaleY(.5);
307 | background-color: #c8c7cc;
308 | }
309 |
310 | .uni-list:before {
311 | position: absolute;
312 | z-index: 10;
313 | right: 0;
314 | top: 0;
315 | left: 0;
316 | height: 1px;
317 | content: '';
318 | -webkit-transform: scaleY(.5);
319 | transform: scaleY(.5);
320 | background-color: #c8c7cc;
321 | }
322 |
323 | .uni-list-cell {
324 | position: relative;
325 | display: flex;
326 | flex-direction: row;
327 | justify-content: space-between;
328 | align-items: center;
329 | }
330 |
331 | .uni-list-cell-hover {
332 | background-color: #eee;
333 | }
334 |
335 | .uni-list-cell-pd {
336 | padding: 22px 30px;
337 | }
338 |
339 | .uni-list-cell-left {
340 | padding: 0 30px;
341 | }
342 |
343 | .uni-list-cell-db,
344 | .uni-list-cell-right {
345 | flex: 1;
346 | }
347 |
348 | .uni-list-cell:after {
349 | position: absolute;
350 | right: 0;
351 | bottom: 0;
352 | left: 30px;
353 | height: 1px;
354 | content: '';
355 | -webkit-transform: scaleY(.5);
356 | transform: scaleY(.5);
357 | background-color: #c8c7cc;
358 | }
359 |
360 | .uni-list .uni-list-cell:last-child:after {
361 | height: 0px;
362 | }
363 |
364 | .uni-list-cell-last.uni-list-cell:after {
365 | height: 0px;
366 | }
367 |
368 | .uni-list-cell-divider {
369 | position: relative;
370 | display: flex;
371 | color: #999;
372 | background-color: #f7f7f7;
373 | padding: 10px 20px;
374 | }
375 |
376 | .uni-list-cell-divider:before {
377 | position: absolute;
378 | right: 0;
379 | top: 0;
380 | left: 0px;
381 | height: 1px;
382 | content: '';
383 | -webkit-transform: scaleY(.5);
384 | transform: scaleY(.5);
385 | background-color: #c8c7cc;
386 | }
387 |
388 | .uni-list-cell-divider:after {
389 | position: absolute;
390 | right: 0;
391 | bottom: 0;
392 | left: 0px;
393 | height: 1px;
394 | content: '';
395 | -webkit-transform: scaleY(.5);
396 | transform: scaleY(.5);
397 | background-color: #c8c7cc;
398 | }
399 |
400 | .uni-list-cell-navigate {
401 | padding: 22px 30px;
402 | line-height: 48px;
403 | position: relative;
404 | display: flex;
405 | box-sizing: border-box;
406 | width: 100%;
407 | flex: 1;
408 | justify-content: space-between;
409 | align-items: center;
410 | }
411 |
412 | .uni-list-cell-navigate {
413 | padding-right: 36px;
414 | }
415 |
416 | .uni-navigate-badge {
417 | margin-right: 20px;
418 | }
419 |
420 | .uni-list-cell-navigate.uni-navigate-right:after {
421 | font-family: uniicons;
422 | content: '\e583';
423 | position: absolute;
424 | right: 24px;
425 | top: 50%;
426 | color: #bbb;
427 | -webkit-transform: translateY(-50%);
428 | transform: translateY(-50%);
429 | }
430 |
431 | .uni-list-cell-navigate.uni-navigate-bottom:after {
432 | font-family: uniicons;
433 | content: '\e581';
434 | position: absolute;
435 | right: 24px;
436 | top: 50%;
437 | color: #bbb;
438 | -webkit-transform: translateY(-50%);
439 | transform: translateY(-50%);
440 | }
441 |
442 | .uni-list-cell-navigate.uni-navigate-bottom.uni-active:after {
443 | font-family: uniicons;
444 | content: '\e580';
445 | position: absolute;
446 | right: 24px;
447 | top: 50%;
448 | color: #bbb;
449 | -webkit-transform: translateY(-50%);
450 | transform: translateY(-50%);
451 | }
452 |
453 | .uni-collapse.uni-list-cell {
454 | flex-direction: column;
455 | }
456 |
457 | .uni-list-cell-navigate.uni-active {
458 | background: #eee;
459 | }
460 |
461 | .uni-list.uni-collapse {
462 | box-sizing: border-box;
463 | height: 0;
464 | overflow: hidden;
465 | }
466 |
467 | .uni-collapse .uni-list-cell {
468 | padding-left: 36px;
469 | }
470 |
471 | .uni-collapse .uni-list-cell:after {
472 | left: 52px;
473 | }
474 |
475 | .uni-list.uni-active {
476 | height: auto;
477 | }
478 |
479 |
480 |
481 |
482 |
483 |
484 | /* 三行列表 */
485 |
486 | .uni-triplex-row {
487 | display: flex;
488 | flex: 1;
489 | width: 100%;
490 | box-sizing: border-box;
491 | flex-direction: row;
492 | padding: 22px 30px;
493 | }
494 |
495 | .uni-triplex-right,
496 | .uni-triplex-left {
497 | display: flex;
498 | flex-direction: column;
499 | }
500 |
501 | .uni-triplex-left {
502 | width: 84%;
503 | }
504 |
505 | .uni-triplex-right {
506 | width: 16%;
507 | text-align: right;
508 | }
509 |
510 |
511 |
512 |
513 |
514 |
515 | /* 图文列表 */
516 |
517 | .uni-media-list {
518 | padding: 22px 30px;
519 | box-sizing: border-box;
520 | display: flex;
521 | width: 100%;
522 | flex-direction: row;
523 | }
524 |
525 | .uni-navigate-right.uni-media-list {
526 | padding-right: 74px;
527 | }
528 |
529 | .uni-pull-right {
530 | flex-direction: row-reverse;
531 | }
532 |
533 | .uni-pull-right>.uni-media-list-logo {
534 | margin-right: 0px;
535 | margin-left: 20px;
536 | }
537 |
538 | .uni-media-list-logo {
539 | height: 84px;
540 | width: 84px;
541 | margin-right: 20px;
542 | }
543 |
544 | .uni-media-list-body {
545 | height: 84px;
546 | display: flex;
547 | flex: 1;
548 | flex-direction: column;
549 | justify-content: space-between;
550 | align-items: flex-start;
551 | overflow: hidden;
552 | }
553 |
554 | .uni-media-list-text-top {
555 | width: 100%;
556 | line-height: 36px;
557 | font-size: 34px;
558 | }
559 |
560 | .uni-media-list-text-bottom {
561 | width: 100%;
562 | line-height: 30px;
563 | font-size: 28px;
564 | color: #8f8f94;
565 | }
566 |
567 |
568 |
569 |
570 |
571 | /* 九宫格 */
572 |
573 | .uni-grid-9 {
574 | background: #f2f2f2;
575 | width: 750px;
576 | display: flex;
577 | flex-direction: row;
578 | flex-wrap: wrap;
579 | border-top: 2px solid #eee;
580 | }
581 |
582 | .uni-grid-9-item {
583 | width: 250px;
584 | height: 200px;
585 | display: flex;
586 | flex-direction: column;
587 | align-items: center;
588 | justify-content: center;
589 | border-bottom: 2px solid;
590 | border-right: 2px solid;
591 | border-color: #eee;
592 | box-sizing: border-box;
593 | }
594 |
595 | .no-border-right {
596 | border-right: none;
597 | }
598 |
599 | .uni-grid-9-image {
600 | width: 100px;
601 | height: 100px;
602 | }
603 |
604 | .uni-grid-9-text {
605 | width: 250px;
606 | line-height: 50px;
607 | height: 50px;
608 | text-align: center;
609 | font-size: 30px;
610 | }
611 |
612 | .uni-grid-9-item-hover {
613 | background: rgba(0, 0, 0, 0.1);
614 | }
615 |
616 |
617 |
618 |
619 |
620 | /* 上传 */
621 |
622 | .uni-uploader {
623 | flex: 1;
624 | flex-direction: column;
625 | }
626 |
627 | .uni-uploader-head {
628 | display: flex;
629 | flex-direction: row;
630 | justify-content: space-between;
631 | }
632 |
633 | .uni-uploader-info {
634 | color: #B2B2B2;
635 | }
636 |
637 | .uni-uploader-body {
638 | margin-top: 16px;
639 | overflow: hidden;
640 | }
641 |
642 | .uni-uploader__file {
643 | float: left;
644 | margin-right: 18px;
645 | margin-bottom: 18px;
646 | }
647 |
648 | .uni-uploader__img {
649 | display: block;
650 | width: 158px;
651 | height: 158px;
652 | }
653 |
654 | .uni-uploader__input-box {
655 | float: left;
656 | position: relative;
657 | margin-right: 18px;
658 | margin-bottom: 18px;
659 | width: 154px;
660 | height: 154px;
661 | border: 2px solid #D9D9D9;
662 | }
663 |
664 | .uni-uploader__input-box:before,
665 | .uni-uploader__input-box:after {
666 | content: " ";
667 | position: absolute;
668 | top: 50%;
669 | left: 50%;
670 | -webkit-transform: translate(-50%, -50%);
671 | transform: translate(-50%, -50%);
672 | background-color: #D9D9D9;
673 | }
674 |
675 | .uni-uploader__input-box:before {
676 | width: 4px;
677 | height: 79px;
678 | }
679 |
680 | .uni-uploader__input-box:after {
681 | width: 79px;
682 | height: 4px;
683 | }
684 |
685 | .uni-uploader__input-box:active {
686 | border-color: #999999;
687 | }
688 |
689 | .uni-uploader__input-box:active:before,
690 | .uni-uploader__input-box:active:after {
691 | background-color: #999999;
692 | }
693 |
694 | .uni-uploader__input {
695 | position: absolute;
696 | z-index: 1;
697 | top: 0;
698 | left: 0;
699 | width: 100%;
700 | height: 100%;
701 | opacity: 0;
702 | }
703 |
704 |
705 |
706 |
707 |
708 | /*问题反馈*/
709 |
710 | .feedback-title {
711 | display: flex;
712 | flex-direction: row;
713 | justify-content: space-between;
714 | align-items: center;
715 | padding: 20px;
716 | color: #8f8f94;
717 | font-size: 28px;
718 | }
719 |
720 | .feedback-star-view.feedback-title {
721 | justify-content: flex-start;
722 | margin: 0;
723 | }
724 |
725 | .feedback-quick {
726 | position: relative;
727 | padding-right: 40px;
728 | }
729 |
730 | .feedback-quick:after {
731 | font-family: uniicons;
732 | font-size: 40px;
733 | content: '\e581';
734 | position: absolute;
735 | right: 0;
736 | top: 50%;
737 | color: #bbb;
738 | -webkit-transform: translateY(-50%);
739 | transform: translateY(-50%);
740 | }
741 |
742 | .feedback-body {
743 | background: #fff;
744 | }
745 |
746 | .feedback-textare {
747 | height: 200px;
748 | font-size: 34px;
749 | padding: 20px 30px 0;
750 | }
751 |
752 | .feedback-input {
753 | height: 80px;
754 | font-size: 34px;
755 | padding-left: 20px;
756 | }
757 |
758 | .feedback-uploader {
759 | padding: 22px 20px;
760 | }
761 |
762 | .feedback-star {
763 | font-family: uniicons;
764 | font-size: 40px;
765 | margin-left: 6px;
766 | }
767 |
768 | .feedback-star-view {
769 | margin-left: 20px;
770 | }
771 |
772 | .feedback-star:after {
773 | content: '\e408';
774 | }
775 |
776 | .feedback-star.active {
777 | color: #FFB400;
778 | }
779 |
780 | .feedback-star.active:after {
781 | content: '\e438';
782 | }
783 |
784 | .feedback-submit {
785 | background: #007AFF;
786 | color: #FFFFFF;
787 | margin: 20px;
788 | }
789 |
--------------------------------------------------------------------------------
/bottom-navigation/common/util.js:
--------------------------------------------------------------------------------
1 | var util = {
2 | site: "https://www.xywqq.com", //https://www.xywqq.com http://192.168.2.233:8080
3 | project: "/XYW/",
4 | back(delta) {
5 | delta = !delta ? 1 : delta;
6 | uni.navigateBack({
7 | delta: delta,
8 | })
9 | },
10 | share(shares,title,url,img){
11 | // #ifdef MP-WEIXIN
12 | uni.showToast({
13 | title:"分享开通中~",
14 | })
15 | return;
16 | // #endif
17 | // #ifdef APP-PLUS
18 | plus.nativeUI.actionSheet({
19 | title: "分享文章",
20 | cancel: "取消",
21 | buttons: [{
22 | title: "发送给微信好友"
23 | }, {
24 | title: "分享到微信朋友圈"
25 | }, {
26 | title: "分享到QQ"
27 | }]
28 | }, function(e) {
29 | var index = e.index;
30 | var share = null;
31 | var scene = "";
32 | var thumbs = []; //分享URL的缩略图
33 | var iconUrl = "https://www.xywqq.com/XYW/m/newFate/img/head.png";
34 | if(!!img){
35 | iconUrl = img;
36 | }
37 | thumbs.push(iconUrl);
38 | var msg = {
39 | title: title,
40 | href: url,
41 | thumbs: thumbs,
42 | content:title,
43 | }
44 | if(index == 1) {
45 | scene = "WXSceneSession";
46 | msg["extra"] = {
47 | "scene": scene
48 | }
49 | share = shares['weixin'];
50 | }
51 | if(index == 2) {
52 | scene = "WXSceneTimeline";
53 | msg["extra"] = {
54 | "scene": scene
55 | }
56 | share = shares['weixin'];
57 | }
58 | if(index == 3) {
59 | share = shares['qq'];
60 | }
61 | if(index == 4) {
62 | share = shares['qq'];
63 | }
64 | share.send(msg, function() {
65 | uni.showToast({
66 | title:"分享成功",
67 | })
68 | }, function(e) {
69 | console.log(JSON.stringify(e))
70 | });
71 | });
72 | // #endif
73 | },
74 | confirm(msg, callBackFun) {
75 | uni.showModal({
76 | content: msg,
77 | success: function (res) {
78 | if (res.confirm) {
79 | callBackFun(true)
80 | } else if (res.cancel) {
81 | callBackFun(false)
82 | }
83 | }
84 | })
85 | },
86 | Alert: function (msg, callBackFun) {
87 | uni.showModal({
88 | title: '乡缘网提示',
89 | content: msg,
90 | showCancel: false,
91 | success: function () {
92 | if (!!callBackFun) {
93 | callBackFun()
94 | }
95 | }
96 | });
97 | },
98 | getData: function (key) {
99 | var data = "";
100 | uni.getStorage({
101 | key: key,
102 | success:function(res){
103 | data = res.data;
104 | return res.data;
105 | }
106 | })
107 | return data;
108 | },
109 | setData: function (key, value) {
110 | uni.setStorage({
111 | key: key,
112 | data: value,
113 | })
114 | },
115 | tip: function (msg) {
116 | uni.showToast({
117 | title: msg,
118 | duration: 2000,
119 | mask: true,
120 | icon: "none",
121 | })
122 | },
123 | openWindow: function (url) {
124 | uni.navigateTo({
125 | url: url
126 | });
127 | },
128 | httpSend: function (url, params, callBackFun, showLoading) {
129 | if (!!showLoading) {
130 | uni.showNavigationBarLoading();
131 | }
132 | var jsessionid = uni.getStorageSync("sessionId") || "";
133 | // console.log("请求参数:" + JSON.stringify(params))
134 | uni.request({
135 | url: util.site + util.project + url + ".php", //仅为示例,并非真实接口地址。
136 | data: params,
137 | method: "POST",
138 | header: {
139 | "content-type": "application/x-www-form-urlencoded",
140 | cookie: jsessionid
141 | },
142 | success: function (res) {
143 | // console.log("返回数据:" + JSON.stringify(res))
144 | if (!!showLoading) {
145 | uni.hideNavigationBarLoading();
146 | // console.log("返回数据:"+JSON.stringify(res.data))
147 | }
148 | if (!!res.data.token) {
149 | uni.setStorage({
150 | key: 'sessionId',
151 | data: 'JSESSIONID=' + res.data.token
152 | })
153 | }
154 | if (res.statusCode == 200) {
155 | callBackFun(res.data)
156 | } else {
157 | console.log(JSON.stringify(res))
158 | }
159 | }
160 | });
161 | },
162 | alipay(opt, money, articleId) {
163 | if (opt == "publishArticleReward") {
164 | var params = util.getData("rewardParams");
165 | params["payType"] = "app";
166 | util.httpSend("ArticleAction!getAlipayParamsByEditReward", params, function (data) {
167 | plus.payment.request(pays["alipay"], data, paySuccess, payError);
168 | }, null, "text");
169 | }
170 | if (opt == "publishArticle") {
171 | var params = {
172 | "totalMoney": money,
173 | "articleId": articleId,
174 | "payType": "app"
175 | }
176 | util.httpSend("ArticleAction!getAliPayParameters", params, function (data) {
177 | plus.payment.request(pays["alipay"], data, paySuccess, payError);
178 | }, null, "text");
179 | }
180 | if (opt == "reward") {
181 | var params = {
182 | "totalMoney": money * 100,
183 | "articleId": articleId,
184 | "payType": "app"
185 | }
186 | util.httpSend("ArticleAction!gatAlipayParamsReward", params, data => {
187 | uni.getProvider({
188 | service: 'payment',
189 | success: function (res) {
190 | console.log(JSON.stringify(res))
191 | // 确保有支付宝,再进行支付。
192 | if (~res.provider.indexOf('alipay')) {
193 | uni.requestPayment({
194 | provider: 'alipay',
195 | orderInfo: data, //订单数据
196 | success: function (res) {
197 | uni.showToast({
198 | title:"打赏完成!",
199 | })
200 | },
201 | fail: function (err) {
202 | console.log('fail:' + JSON.stringify(err));
203 | }
204 | });
205 | }
206 | }
207 | });
208 | }, true);
209 | }
210 | if (opt == "recharge") {
211 | var params = {
212 | totalMoney:money * 100,
213 | "payType": "app"
214 | }
215 | var url = "https://www.xywqq.com" + "/XYW/PayAction!gatAlipayParamsRecharge.php?totalMoney=" + money * 100;
216 | util.httpSend("PayAction!gatAlipayParamsRecharge", params, data=> {
217 | uni.getProvider({
218 | service: 'payment',
219 | success: function (res) {
220 | console.log(JSON.stringify(res))
221 | // 确保有支付宝,再进行支付。
222 | if (~res.provider.indexOf('alipay')) {
223 | uni.requestPayment({
224 | provider: 'alipay',
225 | orderInfo: data, //订单数据
226 | success: function (res) {
227 | uni.showToast({
228 | title:"充值完成!",
229 | })
230 | },
231 | fail: function (err) {
232 | console.log('fail:' + JSON.stringify(err));
233 | }
234 | });
235 | }
236 | }
237 | });
238 | }, null, "text");
239 | }
240 | },
241 | showPaySheet(opt, money, articleId) { //opt 支付选项 money 支付金额
242 | // #ifdef MP-WEIXIN
243 | util.tip("小程序支付即将开通!")
244 | // #endif
245 | // #ifdef APP-PLUS
246 | uni.showActionSheet({
247 | itemList: ["支付宝"],
248 | success: function (res) {
249 | if (res.tapIndex == 0) //0为支付宝
250 | {
251 | util.alipay(opt, money, articleId);
252 | }
253 | }
254 | })
255 | // #endif
256 | },
257 | dateFormat: function(fmt, date) {
258 | var o = {
259 | "M+": date.getMonth() + 1, //月份
260 | "d+": date.getDate(), //日
261 | "h+": date.getHours(), //小时
262 | "m+": date.getMinutes(), //分
263 | "s+": date.getSeconds(), //秒
264 | "q+": Math.floor((date.getMonth() + 3) / 3), //季度
265 | "S": date.getMilliseconds() //毫秒
266 | };
267 | if(/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
268 | for(var k in o)
269 | if(new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
270 | return fmt;
271 | },
272 | }
273 |
274 | module.exports = {
275 | util: util
276 | }
277 |
--------------------------------------------------------------------------------
/bottom-navigation/common/zanui.wxss:
--------------------------------------------------------------------------------
1 | .zan-actionsheet {
2 | background-color: #f8f8f8
3 | }
4 |
5 | .zan-actionsheet__mask {
6 | position: fixed;
7 | top: 0;
8 | left: 0;
9 | right: 0;
10 | bottom: 0;
11 | z-index: 10;
12 | background: rgba(0, 0, 0, .7);
13 | display: none
14 | }
15 |
16 | .zan-actionsheet__container {
17 | position: fixed;
18 | left: 0;
19 | right: 0;
20 | bottom: 0;
21 | background: #f8f8f8;
22 | transform: translate3d(0, 50%, 0);
23 | transform-origin: center;
24 | transition: all .2s ease;
25 | z-index: 11;
26 | opacity: 0;
27 | visibility: hidden
28 | }
29 |
30 | .zan-actionsheet__btn.zan-btn {
31 | height: 50px;
32 | line-height: 50px;
33 | margin-bottom: 0
34 | }
35 |
36 | .zan-actionsheet__btn.zan-btn::after {
37 | border-width: 0;
38 | border-bottom-width: 1px
39 | }
40 |
41 | .zan-actionsheet__btn.zan-btn:last-child::after {
42 | border-bottom-width: 0
43 | }
44 |
45 | .zan-actionsheet__subname {
46 | margin-left: 2px;
47 | font-size: 12px;
48 | color: #666
49 | }
50 |
51 | .zan-actionsheet__footer {
52 | margin-top: 10px
53 | }
54 |
55 | .zan-actionsheet__btn.zan-btn--loading .zan-actionsheet__subname {
56 | color: transparent
57 | }
58 |
59 | .zan-actionsheet--show .zan-actionsheet__container {
60 | opacity: 1;
61 | transform: translate3d(0, 0, 0);
62 | visibility: visible
63 | }
64 |
65 | .zan-actionsheet--show .zan-actionsheet__mask {
66 | display: block
67 | }
68 |
69 | .zan-badge {
70 | position: relative
71 | }
72 |
73 | .zan-badge__count {
74 | position: absolute;
75 | top: -16px;
76 | right: 0;
77 | height: 1.6em;
78 | min-width: 1.6em;
79 | line-height: 1.6;
80 | padding: 0 .4em;
81 | font-size: 20px;
82 | border-radius: .8em;
83 | background: #f44;
84 | color: #fff;
85 | text-align: center;
86 | white-space: nowrap;
87 | transform: translateX(50%) scale(.5);
88 | transform-origin: center;
89 | z-index: 10;
90 | box-shadow: 0 0 0 2px #fff;
91 | box-sizing: border-box
92 | }
93 |
94 | .zan-btn {
95 | position: relative;
96 | color: #333;
97 | background-color: #fff;
98 | margin-bottom: 20px;
99 | padding-left: 30px;
100 | padding-right: 30px;
101 | border-radius: 4px;
102 | font-size: 32px;
103 | line-height: 90px;
104 | height: 90px;
105 | box-sizing: border-box;
106 | text-decoration: none;
107 | text-align: center;
108 | vertical-align: middle
109 | }
110 |
111 | .zan-btn::after {
112 | content: '';
113 | position: absolute;
114 | top: 0;
115 | left: 0;
116 | width: 200%;
117 | height: 200%;
118 | transform: scale(.5);
119 | transform-origin: 0 0;
120 | pointer-events: none;
121 | box-sizing: border-box;
122 | border: 0 solid #e5e5e5;
123 | border-width: 2px;
124 | border-radius: 8px
125 | }
126 |
127 | .zan-btns {
128 | margin: 30px
129 | }
130 |
131 | .zan-btn--primary {
132 | color: #fff;
133 | background-color: #4b0
134 | }
135 |
136 | .zan-btn--primary::after {
137 | border-color: #0a0
138 | }
139 |
140 | .zan-btn--warn {
141 | color: #fff;
142 | background-color: #f85
143 | }
144 |
145 | .zan-btn--warn::after {
146 | border-color: #f85
147 | }
148 |
149 | .zan-btn--danger {
150 | color: #fff;
151 | background-color: #f44
152 | }
153 |
154 | .zan-btn--danger::after {
155 | border-color: #e33
156 | }
157 |
158 | .zan-btn--small {
159 | display: inline-block;
160 | height: 60px;
161 | line-height: 60px;
162 | font-size: 24px;
163 | margin-right: 10px;
164 | margin-bottom: 0
165 | }
166 |
167 | .zan-btn--mini {
168 | display: inline-block;
169 | line-height: 42px;
170 | height: 44px;
171 | font-size: 20px;
172 | margin-right: 10px;
173 | margin-bottom: 0;
174 | padding-left: 10px;
175 | padding-right: 10px
176 | }
177 |
178 | .zan-btn--large {
179 | border-radius: 0;
180 | margin-bottom: 0;
181 | border: none;
182 | line-height: 100px;
183 | height: 100px
184 | }
185 |
186 | .zan-btn--plain.zan-btn {
187 | background-color: transparent
188 | }
189 |
190 | .zan-btn--plain.zan-btn--primary {
191 | color: #06bf04
192 | }
193 |
194 | .zan-btn--plain.zan-btn--warn {
195 | color: #f60
196 | }
197 |
198 | .zan-btn--plain.zan-btn--danger {
199 | color: #f44
200 | }
201 |
202 | .button-hover {
203 | opacity: .9
204 | }
205 |
206 | .zan-btn--loading {
207 | color: transparent;
208 | opacity: 1
209 | }
210 |
211 | .zan-btn--loading::before {
212 | position: absolute;
213 | left: 50%;
214 | top: 50%;
215 | content: ' ';
216 | width: 32px;
217 | height: 32px;
218 | margin-left: -16px;
219 | margin-top: -16px;
220 | border: 6px solid #e5e5e5;
221 | border-color: #666 #e5e5e5 #e5e5e5 #e5e5e5;
222 | border-radius: 16px;
223 | box-sizing: border-box;
224 | animation: btn-spin .6s linear;
225 | animation-iteration-count: infinite
226 | }
227 |
228 | .zan-btn--danger.zan-btn--loading::before,
229 | .zan-btn--primary.zan-btn--loading::before,
230 | .zan-btn--warn.zan-btn--loading::before {
231 | border-color: #fff rgba(0, 0, 0, .1) rgba(0, 0, 0, .1) rgba(0, 0, 0, .1)
232 | }
233 |
234 | @keyframes btn-spin {
235 | 0% {
236 | transform: rotate(0)
237 | }
238 | 100% {
239 | transform: rotate(360deg)
240 | }
241 | }
242 |
243 | .zan-btn.zan-btn--disabled {
244 | color: #999!important;
245 | background: #f8f8f8!important;
246 | border-color: #e5e5e5!important;
247 | cursor: not-allowed!important;
248 | opacity: 1!important
249 | }
250 |
251 | .zan-btn.zan-btn--disabled::after {
252 | border-color: #e5e5e5!important
253 | }
254 |
255 | .zan-btn--last-child,
256 | .zan-btn:last-child {
257 | margin-bottom: 0;
258 | margin-right: 0
259 | }
260 |
261 | .zan-capsule {
262 | display: inline-block;
263 | font-size: 24px;
264 | vertical-align: middle;
265 | line-height: 38px;
266 | transform: scale(.83)
267 | }
268 |
269 | .zan-capsule__left,
270 | .zan-capsule__right {
271 | display: inline-block;
272 | line-height: 34px;
273 | height: 38px;
274 | vertical-align: middle;
275 | box-sizing: border-box
276 | }
277 |
278 | .zan-capsule__left {
279 | padding: 0 2px;
280 | color: #fff;
281 | background: #999;
282 | border-radius: 2px 0 0 2px;
283 | border: 1rpx solid #999
284 | }
285 |
286 | .zan-capsule__right {
287 | padding: 0 5px;
288 | color: #999;
289 | border-radius: 0 2px 2px 0;
290 | border: 1rpx solid #999
291 | }
292 |
293 | .zan-capsule--danger .zan-capsule__left {
294 | color: #fff;
295 | background: #f24544;
296 | border-color: #f24544
297 | }
298 |
299 | .zan-capsule--danger .zan-capsule__right {
300 | color: #f24544;
301 | border-color: #f24544
302 | }
303 |
304 | .zan-card {
305 | margin-left: 0;
306 | width: auto;
307 | padding: 10px 30px;
308 | overflow: hidden;
309 | position: relative;
310 | font-size: 28px
311 | }
312 |
313 | .zan-card__thumb {
314 | width: 180px;
315 | height: 180px;
316 | float: left;
317 | position: relative;
318 | margin-left: auto;
319 | margin-right: auto;
320 | overflow: hidden;
321 | background-size: cover
322 | }
323 |
324 | .zan-card__img {
325 | position: absolute;
326 | top: 0;
327 | left: 0;
328 | right: 0;
329 | bottom: 0;
330 | width: auto;
331 | height: auto;
332 | max-width: 100%;
333 | max-height: 100%
334 | }
335 |
336 | .zan-card__detail {
337 | margin-left: 200px;
338 | width: auto;
339 | position: relative
340 | }
341 |
342 | .zan-card__detail-row {
343 | overflow: hidden;
344 | line-height: 40px;
345 | min-height: 40px;
346 | margin-bottom: 6px
347 | }
348 |
349 | .zan-card__right-col {
350 | float: right
351 | }
352 |
353 | .zan-card__left-col {
354 | margin-right: 160px
355 | }
356 |
357 | .zan-cell {
358 | position: relative;
359 | padding: 24px 30px;
360 | display: flex;
361 | align-items: center;
362 | line-height: 1.4;
363 | font-size: 28px
364 | }
365 |
366 | .zan-cell::after {
367 | content: '';
368 | position: absolute;
369 | top: 0;
370 | left: 0;
371 | width: 200%;
372 | height: 200%;
373 | transform: scale(.5);
374 | transform-origin: 0 0;
375 | pointer-events: none;
376 | box-sizing: border-box;
377 | border: 0 solid #e5e5e5;
378 | border-bottom-width: 2px;
379 | left: 30px;
380 | right: 0
381 | }
382 |
383 | .zan-cell__icon {
384 | margin-right: 10px
385 | }
386 |
387 | .zan-cell__bd {
388 | flex: 1
389 | }
390 |
391 | .zan-cell__text {
392 | line-height: 48px;
393 | font-size: 28px
394 | }
395 |
396 | .zan-cell__desc {
397 | line-height: 1.2;
398 | font-size: 24px;
399 | color: #666
400 | }
401 |
402 | .zan-cell__ft {
403 | position: relative;
404 | text-align: right;
405 | color: #666
406 | }
407 |
408 | .zan-cell__no-pading {
409 | padding: 0
410 | }
411 |
412 | .zan-cell__no-pading .zan-cell__bd_padding {
413 | padding: 24px 0 24px 30px
414 | }
415 |
416 | .zan-cell__no-pading .zan-cell__bd_padding .zan-form__input {
417 | height: 26px
418 | }
419 |
420 | .zan-cell__no-pading .zan-cell__ft_padding {
421 | padding: 24px 30px 24px 0
422 | }
423 |
424 | .zan-cell--last-child::after,
425 | .zan-cell:last-child::after {
426 | display: none
427 | }
428 |
429 | .zan-cell--access .zan-cell__ft {
430 | padding-right: 26px
431 | }
432 |
433 | .zan-cell--access .zan-cell__ft::after {
434 | position: absolute;
435 | top: 50%;
436 | right: 4px;
437 | content: " ";
438 | display: inline-block;
439 | height: 12px;
440 | width: 12px;
441 | border-width: 4px 4px 0 0;
442 | border-color: #c8c8c8;
443 | border-style: solid;
444 | transform: translateY(-50%) matrix(.71, .71, -.71, .71, 0, 0)
445 | }
446 |
447 | .zan-cell--switch {
448 | padding-top: 12px;
449 | padding-bottom: 12px
450 | }
451 |
452 | .zan-col {
453 | float: left;
454 | box-sizing: border-box;
455 | width: 0
456 | }
457 |
458 | .zan-col-1 {
459 | width: 4.16667%
460 | }
461 |
462 | .zan-col-offset-1 {
463 | margin-left: 4.16667%
464 | }
465 |
466 | .zan-col-2 {
467 | width: 8.33333%
468 | }
469 |
470 | .zan-col-offset-2 {
471 | margin-left: 8.33333%
472 | }
473 |
474 | .zan-col-3 {
475 | width: 12.5%
476 | }
477 |
478 | .zan-col-offset-3 {
479 | margin-left: 12.5%
480 | }
481 |
482 | .zan-col-4 {
483 | width: 16.66667%
484 | }
485 |
486 | .zan-col-offset-4 {
487 | margin-left: 16.66667%
488 | }
489 |
490 | .zan-col-5 {
491 | width: 20.83333%
492 | }
493 |
494 | .zan-col-offset-5 {
495 | margin-left: 20.83333%
496 | }
497 |
498 | .zan-col-6 {
499 | width: 25%
500 | }
501 |
502 | .zan-col-offset-6 {
503 | margin-left: 25%
504 | }
505 |
506 | .zan-col-7 {
507 | width: 29.16667%
508 | }
509 |
510 | .zan-col-offset-7 {
511 | margin-left: 29.16667%
512 | }
513 |
514 | .zan-col-8 {
515 | width: 33.33333%
516 | }
517 |
518 | .zan-col-offset-8 {
519 | margin-left: 33.33333%
520 | }
521 |
522 | .zan-col-9 {
523 | width: 37.5%
524 | }
525 |
526 | .zan-col-offset-9 {
527 | margin-left: 37.5%
528 | }
529 |
530 | .zan-col-10 {
531 | width: 41.66667%
532 | }
533 |
534 | .zan-col-offset-10 {
535 | margin-left: 41.66667%
536 | }
537 |
538 | .zan-col-11 {
539 | width: 45.83333%
540 | }
541 |
542 | .zan-col-offset-11 {
543 | margin-left: 45.83333%
544 | }
545 |
546 | .zan-col-12 {
547 | width: 50%
548 | }
549 |
550 | .zan-col-offset-12 {
551 | margin-left: 50%
552 | }
553 |
554 | .zan-col-13 {
555 | width: 54.16667%
556 | }
557 |
558 | .zan-col-offset-13 {
559 | margin-left: 54.16667%
560 | }
561 |
562 | .zan-col-14 {
563 | width: 58.33333%
564 | }
565 |
566 | .zan-col-offset-14 {
567 | margin-left: 58.33333%
568 | }
569 |
570 | .zan-col-15 {
571 | width: 62.5%
572 | }
573 |
574 | .zan-col-offset-15 {
575 | margin-left: 62.5%
576 | }
577 |
578 | .zan-col-16 {
579 | width: 66.66667%
580 | }
581 |
582 | .zan-col-offset-16 {
583 | margin-left: 66.66667%
584 | }
585 |
586 | .zan-col-17 {
587 | width: 70.83333%
588 | }
589 |
590 | .zan-col-offset-17 {
591 | margin-left: 70.83333%
592 | }
593 |
594 | .zan-col-18 {
595 | width: 75%
596 | }
597 |
598 | .zan-col-offset-18 {
599 | margin-left: 75%
600 | }
601 |
602 | .zan-col-19 {
603 | width: 79.16667%
604 | }
605 |
606 | .zan-col-offset-19 {
607 | margin-left: 79.16667%
608 | }
609 |
610 | .zan-col-20 {
611 | width: 83.33333%
612 | }
613 |
614 | .zan-col-offset-20 {
615 | margin-left: 83.33333%
616 | }
617 |
618 | .zan-col-21 {
619 | width: 87.5%
620 | }
621 |
622 | .zan-col-offset-21 {
623 | margin-left: 87.5%
624 | }
625 |
626 | .zan-col-22 {
627 | width: 91.66667%
628 | }
629 |
630 | .zan-col-offset-22 {
631 | margin-left: 91.66667%
632 | }
633 |
634 | .zan-col-23 {
635 | width: 95.83333%
636 | }
637 |
638 | .zan-col-offset-23 {
639 | margin-left: 95.83333%
640 | }
641 |
642 | .zan-col-24 {
643 | width: 100%
644 | }
645 |
646 | .zan-col-offset-24 {
647 | margin-left: 100%
648 | }
649 |
650 | .zan-c-red {
651 | color: #f44!important
652 | }
653 |
654 | .zan-c-gray {
655 | color: #c9c9c9!important
656 | }
657 |
658 | .zan-c-gray-dark {
659 | color: #999!important
660 | }
661 |
662 | .zan-c-gray-darker {
663 | color: #666!important
664 | }
665 |
666 | .zan-c-black {
667 | color: #333!important
668 | }
669 |
670 | .zan-c-blue {
671 | color: #38f!important
672 | }
673 |
674 | .zan-c-green {
675 | color: #06bf04!important
676 | }
677 |
678 | .zan-dialog--container {
679 | position: fixed;
680 | top: 45%;
681 | left: 50%;
682 | width: 80%;
683 | height: 0;
684 | font-size: 32px;
685 | overflow: hidden;
686 | transition: all .2s linear;
687 | border-radius: 8px;
688 | background-color: #fff;
689 | transform: translate3d(-50%, -50%, 0);
690 | color: #333;
691 | opacity: 0
692 | }
693 |
694 | .zan-dialog--mask {
695 | position: fixed;
696 | width: 100%;
697 | height: 100%;
698 | top: 0;
699 | left: 0;
700 | background-color: rgba(0, 0, 0, .6);
701 | transition: .3s;
702 | display: none
703 | }
704 |
705 | .zan-dialog__header {
706 | padding: 30px 0 0;
707 | text-align: center
708 | }
709 |
710 | .zan-dialog__content {
711 | position: relative;
712 | padding: 30px 40px;
713 | line-height: 1.5;
714 | min-height: 80px
715 | }
716 |
717 | .zan-dialog__content::after {
718 | content: '';
719 | position: absolute;
720 | top: 0;
721 | left: 0;
722 | width: 200%;
723 | height: 200%;
724 | transform: scale(.5);
725 | transform-origin: 0 0;
726 | pointer-events: none;
727 | box-sizing: border-box;
728 | border: 0 solid #e5e5e5;
729 | border-bottom-width: 1px
730 | }
731 |
732 | .zan-dialog__content--title {
733 | color: #999;
734 | font-size: 28px
735 | }
736 |
737 | .zan-dialog__footer {
738 | overflow: hidden
739 | }
740 |
741 | .zan-dialog__button {
742 | line-height: 100px;
743 | height: 100px;
744 | padding: 0 10px;
745 | border-radius: 0;
746 | margin-bottom: 0
747 | }
748 |
749 | .zan-dialog__button::after {
750 | border-width: 0;
751 | border-radius: 0
752 | }
753 |
754 | .zan-dialog--show .zan-dialog--container {
755 | opacity: 1;
756 | height: auto
757 | }
758 |
759 | .zan-dialog--show .zan-dialog--mask {
760 | display: block
761 | }
762 |
763 | .zan-dialog__footer--horizon {
764 | display: flex
765 | }
766 |
767 | .zan-dialog__footer--horizon .zan-dialog__button {
768 | flex: 1
769 | }
770 |
771 | .zan-dialog__footer--horizon .zan-dialog__button::after {
772 | border-right-width: 2px
773 | }
774 |
775 | .zan-dialog__footer--horizon .zan-dialog__button:last-child::after {
776 | border-right-width: 0
777 | }
778 |
779 | .zan-dialog__footer--vertical .zan-dialog__button {
780 | flex: 1
781 | }
782 |
783 | .zan-dialog__footer--vertical .zan-dialog__button::after {
784 | border-bottom-width: 2px
785 | }
786 |
787 | .zan-dialog__footer--vertical .zan-dialog__button:last-child::after {
788 | border-bottom-width: 0
789 | }
790 |
791 | .zan-field {
792 | padding: 14px 30px;
793 | color: #333
794 | }
795 |
796 | .zan-field--wrapped {
797 | margin: 0 30px;
798 | background-color: #fff
799 | }
800 |
801 | .zan-field--wrapped::after {
802 | left: 0;
803 | border-width: 2px;
804 | border-radius: 8px
805 | }
806 |
807 | .zan-field.zan-field--wrapped::after {
808 | display: block
809 | }
810 |
811 | .zan-field--wrapped+.zan-field--wrapped {
812 | margin-top: 20px
813 | }
814 |
815 | .zan-field--error {
816 | color: #f40
817 | }
818 |
819 | .zan-field--wrapped.zan-field--error::after {
820 | border-color: #f40
821 | }
822 |
823 | .zan-field__title {
824 | color: #333;
825 | min-width: 130px;
826 | padding-right: 20px
827 | }
828 |
829 | .zan-field__input {
830 | flex: 1;
831 | line-height: 1.6;
832 | padding: 8px 0;
833 | min-height: 44px;
834 | height: auto;
835 | font-size: 28px
836 | }
837 |
838 | .zan-field__placeholder {
839 | font-size: 28px
840 | }
841 |
842 | .zan-field__input--right {
843 | text-align: right
844 | }
845 |
846 | .zan-pull-left {
847 | float: left
848 | }
849 |
850 | .zan-pull-right {
851 | float: right
852 | }
853 |
854 | .zan-center {
855 | text-align: center
856 | }
857 |
858 | .zan-right {
859 | text-align: right
860 | }
861 |
862 | .zan-text-deleted {
863 | text-decoration: line-through
864 | }
865 |
866 | .zan-font-8 {
867 | font-size: 16px
868 | }
869 |
870 | .zan-font-10 {
871 | font-size: 20px
872 | }
873 |
874 | .zan-font-12 {
875 | font-size: 24px
876 | }
877 |
878 | .zan-font-14 {
879 | font-size: 28px
880 | }
881 |
882 | .zan-font-16 {
883 | font-size: 32px
884 | }
885 |
886 | .zan-font-18 {
887 | font-size: 36px
888 | }
889 |
890 | .zan-font-20 {
891 | font-size: 40px
892 | }
893 |
894 | .zan-font-22 {
895 | font-size: 44px
896 | }
897 |
898 | .zan-font-24 {
899 | font-size: 44px
900 | }
901 |
902 | .zan-font-30 {
903 | font-size: 60px
904 | }
905 |
906 | .zan-font-bold {
907 | font-weight: 700
908 | }
909 |
910 | .zan-arrow {
911 | position: absolute;
912 | right: 30px;
913 | top: 50%;
914 | display: inline-block;
915 | height: 12px;
916 | width: 12px;
917 | border-width: 4px 4px 0 0;
918 | border-color: #c8c8c8;
919 | border-style: solid;
920 | transform: translateY(-50%) matrix(.71, .71, -.71, .71, 0, 0)
921 | }
922 |
923 | .zan-ellipsis {
924 | overflow: hidden;
925 | text-overflow: ellipsis;
926 | white-space: nowrap;
927 | word-wrap: normal
928 | }
929 |
930 | .zan-ellipsis--l2 {
931 | max-height: 80px;
932 | line-height: 40px;
933 | overflow: hidden;
934 | text-overflow: ellipsis;
935 | display: -webkit-box;
936 | -webkit-line-clamp: 2;
937 | -webkit-box-orient: vertical
938 | }
939 |
940 | .zan-ellipsis--l3 {
941 | max-height: 120px;
942 | line-height: 40px;
943 | overflow: hidden;
944 | text-overflow: ellipsis;
945 | display: -webkit-box;
946 | -webkit-line-clamp: 3;
947 | -webkit-box-orient: vertical
948 | }
949 |
950 | .zan-clearfix {
951 | zoom: 1
952 | }
953 |
954 | .zan-clearfix::after {
955 | content: '';
956 | display: table;
957 | clear: both
958 | }
959 |
960 | .zan-hairline,
961 | .zan-hairline--bottom,
962 | .zan-hairline--left,
963 | .zan-hairline--right,
964 | .zan-hairline--surround,
965 | .zan-hairline--top,
966 | .zan-hairline--top-bottom {
967 | position: relative
968 | }
969 |
970 | .zan-hairline--bottom::after,
971 | .zan-hairline--left::after,
972 | .zan-hairline--right::after,
973 | .zan-hairline--surround::after,
974 | .zan-hairline--top-bottom::after,
975 | .zan-hairline--top::after,
976 | .zan-hairline::after {
977 | content: '';
978 | position: absolute;
979 | top: 0;
980 | left: 0;
981 | width: 200%;
982 | height: 200%;
983 | transform: scale(.5);
984 | transform-origin: 0 0;
985 | pointer-events: none;
986 | box-sizing: border-box;
987 | border: 0 solid #e5e5e5
988 | }
989 |
990 | .zan-hairline--top::after {
991 | border-top-width: 2px
992 | }
993 |
994 | .zan-hairline--left::after {
995 | border-left-width: 2px
996 | }
997 |
998 | .zan-hairline--right::after {
999 | border-right-width: 2px
1000 | }
1001 |
1002 | .zan-hairline--bottom::after {
1003 | border-bottom-width: 2px
1004 | }
1005 |
1006 | .zan-hairline--top-bottom::after {
1007 | border-width: 2px 0
1008 | }
1009 |
1010 | .zan-hairline--surround::after {
1011 | border-width: 2px
1012 | }
1013 |
1014 | @font-face {
1015 | font-family: zanui-weapp-icon;
1016 | src: url(https://b.yzcdn.cn/zanui-weapp/zanui-weapp-icon-4381aded05.eot);
1017 | src: url(https://b.yzcdn.cn/zanui-weapp/zanui-weapp-icon-4381aded05.eot?#iefix) format('embedded-opentype'), url(https://b.yzcdn.cn/zanui-weapp/zanui-weapp-icon-4381aded05.woff2) format('woff2'), url(https://b.yzcdn.cn/zanui-weapp/zanui-weapp-icon-4381aded05.woff) format('woff'), url(https://b.yzcdn.cn/zanui-weapp/zanui-weapp-icon-4381aded05.ttf) format('truetype')
1018 | }
1019 |
1020 | .zan-icon {
1021 | display: inline-block
1022 | }
1023 |
1024 | .zan-icon::before {
1025 | font-family: zanui-weapp-icon!important;
1026 | font-style: normal;
1027 | font-weight: 400;
1028 | speak: none;
1029 | display: inline-block;
1030 | text-decoration: inherit;
1031 | width: 1em;
1032 | text-align: center;
1033 | font-variant: normal;
1034 | text-transform: none;
1035 | line-height: 1em;
1036 | -webkit-font-smoothing: antialiased
1037 | }
1038 |
1039 | .zan-icon-qr-invalid:before {
1040 | content: '\e800'
1041 | }
1042 |
1043 | .zan-icon-qr:before {
1044 | content: '\e801'
1045 | }
1046 |
1047 | .zan-icon-exchange:before {
1048 | content: '\e802'
1049 | }
1050 |
1051 | .zan-icon-close:before {
1052 | content: '\e803'
1053 | }
1054 |
1055 | .zan-icon-location:before {
1056 | content: '\e804'
1057 | }
1058 |
1059 | .zan-icon-upgrade:before {
1060 | content: '\e805'
1061 | }
1062 |
1063 | .zan-icon-check:before {
1064 | content: '\e806'
1065 | }
1066 |
1067 | .zan-icon-checked:before {
1068 | content: '\e807'
1069 | }
1070 |
1071 | .zan-icon-like-o:before {
1072 | content: '\e808'
1073 | }
1074 |
1075 | .zan-icon-like:before {
1076 | content: '\e809'
1077 | }
1078 |
1079 | .zan-icon-chat:before {
1080 | content: '\e80a'
1081 | }
1082 |
1083 | .zan-icon-shop:before {
1084 | content: '\e80b'
1085 | }
1086 |
1087 | .zan-icon-photograph:before {
1088 | content: '\e80c'
1089 | }
1090 |
1091 | .zan-icon-add:before {
1092 | content: '\e80d'
1093 | }
1094 |
1095 | .zan-icon-add2:before {
1096 | content: '\e80e'
1097 | }
1098 |
1099 | .zan-icon-photo:before {
1100 | content: '\e80f'
1101 | }
1102 |
1103 | .zan-icon-logistics:before {
1104 | content: '\e810'
1105 | }
1106 |
1107 | .zan-icon-edit:before {
1108 | content: '\e811'
1109 | }
1110 |
1111 | .zan-icon-passed:before {
1112 | content: '\e812'
1113 | }
1114 |
1115 | .zan-icon-cart:before {
1116 | content: '\e813'
1117 | }
1118 |
1119 | .zan-icon-shopping-cart:before {
1120 | content: '\e814'
1121 | }
1122 |
1123 | .zan-icon-arrow:before {
1124 | content: '\e815'
1125 | }
1126 |
1127 | .zan-icon-gift:before {
1128 | content: '\e816'
1129 | }
1130 |
1131 | .zan-icon-search:before {
1132 | content: '\e817'
1133 | }
1134 |
1135 | .zan-icon-clear:before {
1136 | content: '\e818'
1137 | }
1138 |
1139 | .zan-icon-success:before {
1140 | content: '\e819'
1141 | }
1142 |
1143 | .zan-icon-fail:before {
1144 | content: '\e81a'
1145 | }
1146 |
1147 | .zan-icon-contact:before {
1148 | content: '\e81b'
1149 | }
1150 |
1151 | .zan-icon-wechat:before {
1152 | content: '\e81c'
1153 | }
1154 |
1155 | .zan-icon-alipay:before {
1156 | content: '\e81d'
1157 | }
1158 |
1159 | .zan-icon-password-view:before {
1160 | content: '\e81e'
1161 | }
1162 |
1163 | .zan-icon-password-not-view:before {
1164 | content: '\e81f'
1165 | }
1166 |
1167 | .zan-icon-wap-nav:before {
1168 | content: '\e820'
1169 | }
1170 |
1171 | .zan-icon-wap-home:before {
1172 | content: '\e821'
1173 | }
1174 |
1175 | .zan-icon-ecard-pay:before {
1176 | content: '\e822'
1177 | }
1178 |
1179 | .zan-icon-balance-pay:before {
1180 | content: '\e823'
1181 | }
1182 |
1183 | .zan-icon-peer-pay:before {
1184 | content: '\e824'
1185 | }
1186 |
1187 | .zan-icon-credit-pay:before {
1188 | content: '\e825'
1189 | }
1190 |
1191 | .zan-icon-debit-pay:before {
1192 | content: '\e826'
1193 | }
1194 |
1195 | .zan-icon-other-pay:before {
1196 | content: '\e827'
1197 | }
1198 |
1199 | .zan-icon-browsing-history:before {
1200 | content: '\e828'
1201 | }
1202 |
1203 | .zan-icon-goods-collect:before {
1204 | content: '\e829'
1205 | }
1206 |
1207 | .zan-icon-shop-collect:before {
1208 | content: '\e82a'
1209 | }
1210 |
1211 | .zan-icon-receive-gift:before {
1212 | content: '\e82b'
1213 | }
1214 |
1215 | .zan-icon-send-gift:before {
1216 | content: '\e82c'
1217 | }
1218 |
1219 | .zan-icon-setting:before {
1220 | content: '\e82d'
1221 | }
1222 |
1223 | .zan-icon-points:before {
1224 | content: '\e82e'
1225 | }
1226 |
1227 | .zan-icon-coupon:before {
1228 | content: '\e82f'
1229 | }
1230 |
1231 | .zan-icon-free-postage:before {
1232 | content: '\e830'
1233 | }
1234 |
1235 | .zan-icon-discount:before {
1236 | content: '\e831'
1237 | }
1238 |
1239 | .zan-icon-birthday-privilege:before {
1240 | content: '\e832'
1241 | }
1242 |
1243 | .zan-icon-member-day-privilege:before {
1244 | content: '\e833'
1245 | }
1246 |
1247 | .zan-icon-balance-details:before {
1248 | content: '\e834'
1249 | }
1250 |
1251 | .zan-icon-cash-back-record:before {
1252 | content: '\e835'
1253 | }
1254 |
1255 | .zan-icon-points-mall:before {
1256 | content: '\e836'
1257 | }
1258 |
1259 | .zan-icon-exchange-record:before {
1260 | content: '\e837'
1261 | }
1262 |
1263 | .zan-icon-pending-payment:before {
1264 | content: '\e838'
1265 | }
1266 |
1267 | .zan-icon-pending-orders:before {
1268 | content: '\e839'
1269 | }
1270 |
1271 | .zan-icon-pending-deliver:before {
1272 | content: '\e83a'
1273 | }
1274 |
1275 | .zan-icon-pending-evaluate:before {
1276 | content: '\e83b'
1277 | }
1278 |
1279 | .zan-icon-gift-card-pay:before {
1280 | content: '\e83c'
1281 | }
1282 |
1283 | .zan-icon-cash-on-deliver:before {
1284 | content: '\e83d'
1285 | }
1286 |
1287 | .zan-icon-underway:before {
1288 | content: '\e83e'
1289 | }
1290 |
1291 | .zan-icon-point-gift:before {
1292 | content: '\e83f'
1293 | }
1294 |
1295 | .zan-icon-after-sale:before {
1296 | content: '\e840'
1297 | }
1298 |
1299 | .zan-icon-edit-data:before {
1300 | content: '\e841'
1301 | }
1302 |
1303 | .zan-icon-question:before {
1304 | content: '\e842'
1305 | }
1306 |
1307 | .zan-icon-delete:before {
1308 | content: '\e843'
1309 | }
1310 |
1311 | .zan-icon-records:before {
1312 | content: '\e844'
1313 | }
1314 |
1315 | .zan-icon-description:before {
1316 | content: '\e845'
1317 | }
1318 |
1319 | .zan-icon-card:before {
1320 | content: '\e846'
1321 | }
1322 |
1323 | .zan-icon-gift-card:before {
1324 | content: '\e847'
1325 | }
1326 |
1327 | .zan-icon-clock:before {
1328 | content: '\e848'
1329 | }
1330 |
1331 | .zan-icon-gold-coin:before {
1332 | content: '\e849'
1333 | }
1334 |
1335 | .zan-icon-completed:before {
1336 | content: '\e84a'
1337 | }
1338 |
1339 | .zan-icon-value-card:before {
1340 | content: '\e84b'
1341 | }
1342 |
1343 | .zan-icon-certificate:before {
1344 | content: '\e84c'
1345 | }
1346 |
1347 | .zan-icon-tosend:before {
1348 | content: '\e84d'
1349 | }
1350 |
1351 | .zan-icon-sign:before {
1352 | content: '\e84e'
1353 | }
1354 |
1355 | .zan-icon-home:before {
1356 | content: '\e84f'
1357 | }
1358 |
1359 | .zan-icon-phone:before {
1360 | content: '\e850'
1361 | }
1362 |
1363 | .zan-icon-add-o:before {
1364 | content: '\e851'
1365 | }
1366 |
1367 | .zan-icon-play:before {
1368 | content: '\e852'
1369 | }
1370 |
1371 | .zan-icon-pause:before {
1372 | content: '\e853'
1373 | }
1374 |
1375 | .zan-icon-stop:before {
1376 | content: '\e854'
1377 | }
1378 |
1379 | .zan-icon-hot:before {
1380 | content: '\e855'
1381 | }
1382 |
1383 | .zan-icon-new:before {
1384 | content: '\e856'
1385 | }
1386 |
1387 | .zan-icon-new-arrival:before {
1388 | content: '\e857'
1389 | }
1390 |
1391 | .zan-icon-hot-sale:before {
1392 | content: '\e858'
1393 | }
1394 |
1395 | .zan-loadmore {
1396 | position: relative;
1397 | width: 65%;
1398 | margin: 42px auto;
1399 | line-height: 40px;
1400 | font-size: 28px;
1401 | text-align: center;
1402 | vertical-align: middle
1403 | }
1404 |
1405 | .zan-loading {
1406 | width: 40px;
1407 | height: 40px;
1408 | display: inline-block;
1409 | vertical-align: middle;
1410 | animation: weuiLoading 1s steps(12, end) infinite;
1411 | background: transparent url(data:image/svg+xml;base64,PHN2ZyBjbGFzcz0iciIgd2lkdGg9JzEyMHB4JyBoZWlnaHQ9JzEyMHB4JyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj4KICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiBmaWxsPSJub25lIiBjbGFzcz0iYmsiPjwvcmVjdD4KICAgIDxyZWN0IHg9JzQ2LjUnIHk9JzQwJyB3aWR0aD0nNycgaGVpZ2h0PScyMCcgcng9JzUnIHJ5PSc1JyBmaWxsPScjRTlFOUU5JwogICAgICAgICAgdHJhbnNmb3JtPSdyb3RhdGUoMCA1MCA1MCkgdHJhbnNsYXRlKDAgLTMwKSc+CiAgICA8L3JlY3Q+CiAgICA8cmVjdCB4PSc0Ni41JyB5PSc0MCcgd2lkdGg9JzcnIGhlaWdodD0nMjAnIHJ4PSc1JyByeT0nNScgZmlsbD0nIzk4OTY5NycKICAgICAgICAgIHRyYW5zZm9ybT0ncm90YXRlKDMwIDUwIDUwKSB0cmFuc2xhdGUoMCAtMzApJz4KICAgICAgICAgICAgICAgICByZXBlYXRDb3VudD0naW5kZWZpbml0ZScvPgogICAgPC9yZWN0PgogICAgPHJlY3QgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyM5Qjk5OUEnCiAgICAgICAgICB0cmFuc2Zvcm09J3JvdGF0ZSg2MCA1MCA1MCkgdHJhbnNsYXRlKDAgLTMwKSc+CiAgICAgICAgICAgICAgICAgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnLz4KICAgIDwvcmVjdD4KICAgIDxyZWN0IHg9JzQ2LjUnIHk9JzQwJyB3aWR0aD0nNycgaGVpZ2h0PScyMCcgcng9JzUnIHJ5PSc1JyBmaWxsPScjQTNBMUEyJwogICAgICAgICAgdHJhbnNmb3JtPSdyb3RhdGUoOTAgNTAgNTApIHRyYW5zbGF0ZSgwIC0zMCknPgogICAgPC9yZWN0PgogICAgPHJlY3QgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyNBQkE5QUEnCiAgICAgICAgICB0cmFuc2Zvcm09J3JvdGF0ZSgxMjAgNTAgNTApIHRyYW5zbGF0ZSgwIC0zMCknPgogICAgPC9yZWN0PgogICAgPHJlY3QgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyNCMkIyQjInCiAgICAgICAgICB0cmFuc2Zvcm09J3JvdGF0ZSgxNTAgNTAgNTApIHRyYW5zbGF0ZSgwIC0zMCknPgogICAgPC9yZWN0PgogICAgPHJlY3QgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyNCQUI4QjknCiAgICAgICAgICB0cmFuc2Zvcm09J3JvdGF0ZSgxODAgNTAgNTApIHRyYW5zbGF0ZSgwIC0zMCknPgogICAgPC9yZWN0PgogICAgPHJlY3QgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyNDMkMwQzEnCiAgICAgICAgICB0cmFuc2Zvcm09J3JvdGF0ZSgyMTAgNTAgNTApIHRyYW5zbGF0ZSgwIC0zMCknPgogICAgPC9yZWN0PgogICAgPHJlY3QgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyNDQkNCQ0InCiAgICAgICAgICB0cmFuc2Zvcm09J3JvdGF0ZSgyNDAgNTAgNTApIHRyYW5zbGF0ZSgwIC0zMCknPgogICAgPC9yZWN0PgogICAgPHJlY3QgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyNEMkQyRDInCiAgICAgICAgICB0cmFuc2Zvcm09J3JvdGF0ZSgyNzAgNTAgNTApIHRyYW5zbGF0ZSgwIC0zMCknPgogICAgPC9yZWN0PgogICAgPHJlY3QgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyNEQURBREEnCiAgICAgICAgICB0cmFuc2Zvcm09J3JvdGF0ZSgzMDAgNTAgNTApIHRyYW5zbGF0ZSgwIC0zMCknPgogICAgPC9yZWN0PgogICAgPHJlY3QgeD0nNDYuNScgeT0nNDAnIHdpZHRoPSc3JyBoZWlnaHQ9JzIwJyByeD0nNScgcnk9JzUnIGZpbGw9JyNFMkUyRTInCiAgICAgICAgICB0cmFuc2Zvcm09J3JvdGF0ZSgzMzAgNTAgNTApIHRyYW5zbGF0ZSgwIC0zMCknPgogICAgPC9yZWN0Pgo8L3N2Zz4=) no-repeat;
1412 | -webkit-background-size: 100%;
1413 | background-size: 100%
1414 | }
1415 |
1416 | .zan-loadmore .zan-loading {
1417 | margin-right: 8px
1418 | }
1419 |
1420 | .zan-loadmore__tips {
1421 | display: inline-block;
1422 | vertical-align: middle;
1423 | height: 40px;
1424 | line-height: 40px
1425 | }
1426 |
1427 | .zan-loadmore--nodata,
1428 | .zan-loadmore--nomore {
1429 | color: #999
1430 | }
1431 |
1432 | .zan-loadmore--nodata::after,
1433 | .zan-loadmore--nomore::after {
1434 | content: '';
1435 | position: absolute;
1436 | top: 0;
1437 | left: 0;
1438 | width: 200%;
1439 | height: 200%;
1440 | transform: scale(.5);
1441 | transform-origin: 0 0;
1442 | pointer-events: none;
1443 | box-sizing: border-box;
1444 | border: 0 solid #e5e5e5;
1445 | border-top-width: 2px
1446 | }
1447 |
1448 | .zan-loadmore--nodata {
1449 | margin-top: 240px
1450 | }
1451 |
1452 | .zan-loadmore--nodata .zan-loadmore__tips {
1453 | position: relative;
1454 | top: -11px;
1455 | background: #f9f9f9;
1456 | padding: 0 12px;
1457 | z-index: 1
1458 | }
1459 |
1460 | .zan-loadmore--nomore .zan-loadmore__tips {
1461 | position: relative;
1462 | top: -11px;
1463 | background: #f9f9f9;
1464 | padding: 0 12px;
1465 | z-index: 1
1466 | }
1467 |
1468 | .zan-loadmore__dot {
1469 | position: absolute;
1470 | left: 50%;
1471 | top: 20px;
1472 | margin-left: -2px;
1473 | margin-top: -2px;
1474 | content: " ";
1475 | width: 8px;
1476 | height: 8px;
1477 | border-radius: 50%;
1478 | background-color: #e5e5e5;
1479 | display: inline-block;
1480 | vertical-align: middle
1481 | }
1482 |
1483 | .zan-noticebar {
1484 | color: #f60;
1485 | padding: 18px 20px;
1486 | font-size: 24px;
1487 | line-height: 1.5;
1488 | background-color: #fff7cc
1489 | }
1490 |
1491 | .zan-panel {
1492 | position: relative;
1493 | background: #fff;
1494 | margin-top: 20px;
1495 | overflow: hidden
1496 | }
1497 |
1498 | .zan-panel::after {
1499 | content: '';
1500 | position: absolute;
1501 | top: 0;
1502 | left: 0;
1503 | width: 200%;
1504 | height: 200%;
1505 | transform: scale(.5);
1506 | transform-origin: 0 0;
1507 | pointer-events: none;
1508 | box-sizing: border-box;
1509 | border: 0 solid #e5e5e5;
1510 | border-top-width: 2px;
1511 | border-bottom-width: 2px
1512 | }
1513 |
1514 | .zan-panel-title {
1515 | font-size: 24px;
1516 | line-height: 1;
1517 | color: #999;
1518 | padding: 40px 30px 0 30px
1519 | }
1520 |
1521 | .zan-panel--without-margin-top {
1522 | margin-top: 0
1523 | }
1524 |
1525 | .zan-panel--without-border::after {
1526 | border: 0 none
1527 | }
1528 |
1529 | .zan-popup {
1530 | visibility: hidden
1531 | }
1532 |
1533 | .zan-popup--show {
1534 | visibility: visible
1535 | }
1536 |
1537 | .zan-popup__mask {
1538 | position: fixed;
1539 | top: 0;
1540 | left: 0;
1541 | right: 0;
1542 | bottom: 0;
1543 | z-index: 10;
1544 | background: rgba(0, 0, 0, .7);
1545 | display: none
1546 | }
1547 |
1548 | .zan-popup__container {
1549 | position: fixed;
1550 | left: 50%;
1551 | top: 50%;
1552 | background: #fff;
1553 | transform: translate3d(-50%, -50%, 0);
1554 | transform-origin: center;
1555 | transition: all .4s ease;
1556 | z-index: 11;
1557 | opacity: 0
1558 | }
1559 |
1560 | .zan-popup--show .zan-popup__container {
1561 | opacity: 1
1562 | }
1563 |
1564 | .zan-popup--show .zan-popup__mask {
1565 | display: block
1566 | }
1567 |
1568 | .zan-popup--left .zan-popup__container {
1569 | left: 0;
1570 | top: auto;
1571 | transform: translate3d(-100%, 0, 0)
1572 | }
1573 |
1574 | .zan-popup--show.zan-popup--left .zan-popup__container {
1575 | transform: translate3d(0, 0, 0)
1576 | }
1577 |
1578 | .zan-popup--right .zan-popup__container {
1579 | right: 0;
1580 | top: auto;
1581 | left: auto;
1582 | transform: translate3d(100%, 0, 0)
1583 | }
1584 |
1585 | .zan-popup--show.zan-popup--right .zan-popup__container {
1586 | transform: translate3d(0, 0, 0)
1587 | }
1588 |
1589 | .zan-popup--bottom .zan-popup__container {
1590 | top: auto;
1591 | left: auto;
1592 | bottom: 0;
1593 | transform: translate3d(0, 100%, 0)
1594 | }
1595 |
1596 | .zan-popup--show.zan-popup--bottom .zan-popup__container {
1597 | transform: translate3d(0, 0, 0)
1598 | }
1599 |
1600 | .zan-popup--top .zan-popup__container {
1601 | top: 0;
1602 | left: auto;
1603 | transform: translate3d(0, -100%, 0)
1604 | }
1605 |
1606 | .zan-popup--show.zan-popup--top .zan-popup__container {
1607 | transform: translate3d(0, 0, 0)
1608 | }
1609 |
1610 | .zan-row:after {
1611 | content: "";
1612 | display: table;
1613 | clear: both
1614 | }
1615 |
1616 | .zan-select__list .zan-select__radio {
1617 | display: none
1618 | }
1619 |
1620 | .zan-stepper {
1621 | color: #666
1622 | }
1623 |
1624 | .zan-stepper view {
1625 | display: inline-block;
1626 | line-height: 40px;
1627 | padding: 10px 0;
1628 | text-align: center;
1629 | min-width: 80px;
1630 | box-sizing: border-box;
1631 | vertical-align: middle;
1632 | font-size: 24px;
1633 | border: 1rpx solid #999
1634 | }
1635 |
1636 | .zan-stepper .zan-stepper__minus {
1637 | border-right: none;
1638 | border-radius: 4px 0 0 4px
1639 | }
1640 |
1641 | .zan-stepper .zan-stepper__text {
1642 | border: 1rpx solid #999;
1643 | display: inline-block;
1644 | text-align: center;
1645 | vertical-align: middle;
1646 | height: 60px;
1647 | width: 80px;
1648 | min-height: auto;
1649 | font-size: 24px;
1650 | line-height: 60px
1651 | }
1652 |
1653 | .zan-stepper .zan-stepper__plus {
1654 | border-left: none;
1655 | border-radius: 0 4px 4px 0
1656 | }
1657 |
1658 | .zan-stepper .zan-stepper--disabled {
1659 | background: #f8f8f8;
1660 | color: #bbb;
1661 | border-color: #e8e8e8
1662 | }
1663 |
1664 | .zan-stepper--small view {
1665 | min-width: 72px;
1666 | line-height: 36px
1667 | }
1668 |
1669 | .zan-stepper--small .zan-stepper__text {
1670 | width: 72px;
1671 | line-height: 56px;
1672 | height: 56px
1673 | }
1674 |
1675 | .zan-steps--steps.zan-steps--5 .zan-steps__step {
1676 | width: 25%
1677 | }
1678 |
1679 | .zan-steps--steps.zan-steps--4 .zan-steps__step {
1680 | width: 33%
1681 | }
1682 |
1683 | .zan-steps--steps.zan-steps--3 .zan-steps__step {
1684 | width: 50%
1685 | }
1686 |
1687 | .zan-steps--steps .zan-steps__step {
1688 | position: relative;
1689 | float: left;
1690 | padding-bottom: 50px;
1691 | color: #b1b1b1
1692 | }
1693 |
1694 | .zan-steps--steps .zan-steps__title {
1695 | transform: translateX(-50%);
1696 | font-size: 20px;
1697 | text-align: center
1698 | }
1699 |
1700 | .zan-steps--steps .zan-steps__icons {
1701 | position: absolute;
1702 | top: 60px;
1703 | left: -10px;
1704 | padding: 0 16px;
1705 | background-color: #fff;
1706 | z-index: 10
1707 | }
1708 |
1709 | .zan-steps--steps .zan-steps__circle {
1710 | display: block;
1711 | position: relative;
1712 | width: 10px;
1713 | height: 10px;
1714 | background-color: #e5e5e5;
1715 | border-radius: 50%
1716 | }
1717 |
1718 | .zan-steps--steps .zan-steps__line {
1719 | position: absolute;
1720 | left: 0;
1721 | top: 64px;
1722 | width: 100%;
1723 | height: 1px;
1724 | background-color: #e5e5e5
1725 | }
1726 |
1727 | .zan-steps--steps .zan-steps__step--done {
1728 | color: #333
1729 | }
1730 |
1731 | .zan-steps--steps .zan-steps__step--done .zan-steps__line {
1732 | background-color: #06bf04
1733 | }
1734 |
1735 | .zan-steps--steps .zan-steps__step--done .zan-steps__circle {
1736 | width: 10px;
1737 | height: 10px;
1738 | background-color: #09bb07
1739 | }
1740 |
1741 | .zan-steps--steps .zan-steps__step--cur .zan-steps__icons {
1742 | top: 50px;
1743 | left: -14px
1744 | }
1745 |
1746 | .zan-steps--steps .zan-steps__step--cur .zan-steps__circle {
1747 | width: 26px;
1748 | height: 26px;
1749 | background-image: url(https://b.yzcdn.cn/v2/image/wap/success_small@2x.png);
1750 | background-size: 26px 26px
1751 | }
1752 |
1753 | .zan-steps--steps .zan-steps__step--cur .zan-steps__line {
1754 | background-color: #e5e5e5
1755 | }
1756 |
1757 | .zan-steps--steps .zan-steps__step--first-child .zan-steps__title {
1758 | margin-left: 0;
1759 | transform: none;
1760 | text-align: left
1761 | }
1762 |
1763 | .zan-steps--steps .zan-steps__step--first-child .zan-steps__icons {
1764 | left: -14px
1765 | }
1766 |
1767 | .zan-steps--steps .zan-steps__step--last-child {
1768 | position: absolute;
1769 | right: 0;
1770 | top: 0;
1771 | text-align: right
1772 | }
1773 |
1774 | .zan-steps--steps .zan-steps__step--last-child .zan-steps__title {
1775 | transform: none;
1776 | text-align: right
1777 | }
1778 |
1779 | .zan-steps--steps .zan-steps__step--last-child .zan-steps__icons {
1780 | left: auto;
1781 | right: -12px
1782 | }
1783 |
1784 | .zan-steps--steps .zan-steps__step--last-child .zan-steps__line {
1785 | display: none
1786 | }
1787 |
1788 | .zan-steps--steps .zan-steps__step--db-title {
1789 | min-height: 58px
1790 | }
1791 |
1792 | .zan-steps--steps .zan-steps__step--db-title .zan-steps__line {
1793 | top: 90px
1794 | }
1795 |
1796 | .zan-steps--steps .zan-steps__step--db-title .zan-steps__icons {
1797 | top: 86px
1798 | }
1799 |
1800 | .zan-steps--steps .zan-steps__step--db-title.zan-steps__step--cur .zan-steps__icons {
1801 | top: 78px
1802 | }
1803 |
1804 | .zan-steps--vsteps {
1805 | color: #999;
1806 | font-size: 28px
1807 | }
1808 |
1809 | .zan-steps--vsteps .zan-steps__step {
1810 | position: relative;
1811 | padding: 30px 0
1812 | }
1813 |
1814 | .zan-steps--vsteps .zan-steps__step--done {
1815 | color: #4b0
1816 | }
1817 |
1818 | .zan-steps--vsteps .zan-steps__line {
1819 | position: absolute;
1820 | top: 0;
1821 | bottom: 0;
1822 | left: 14px;
1823 | width: 2px;
1824 | background-color: #e5e5e5
1825 | }
1826 |
1827 | .zan-steps--vsteps .zan-steps__title {
1828 | display: inline-block;
1829 | line-height: 40px;
1830 | padding-left: 54px
1831 | }
1832 |
1833 | .zan-steps--vsteps .zan-steps__title--desc {
1834 | padding-left: 6px
1835 | }
1836 |
1837 | .zan-steps--vsteps .zan-steps__icons {
1838 | position: absolute;
1839 | left: 14px;
1840 | top: 50%;
1841 | transform: translate(-50%, -50%);
1842 | z-index: 2;
1843 | padding: 6px 0;
1844 | background-color: #fff
1845 | }
1846 |
1847 | .zan-steps--vsteps .zan-steps__circle {
1848 | width: 10px;
1849 | height: 10px;
1850 | background-color: #cacaca;
1851 | border-radius: 20px
1852 | }
1853 |
1854 | .zan-steps--vsteps .zan-steps__step--done .zan-steps__circle {
1855 | width: 10px;
1856 | height: 10px;
1857 | background-color: #09bb07
1858 | }
1859 |
1860 | .zan-steps--vsteps .zan-steps__step--cur .zan-steps__circle {
1861 | width: 26px;
1862 | height: 26px;
1863 | background: transparent url(https://b.yzcdn.cn/v2/image/wap/success_small@2x.png);
1864 | background-size: 26px 26px;
1865 | border-radius: 0
1866 | }
1867 |
1868 | .zan-steps--vsteps .zan-steps__icon--active {
1869 | width: 26px;
1870 | height: 26px
1871 | }
1872 |
1873 | .zan-steps--vsteps .zan-steps__step--first-child .zan-steps__title::before {
1874 | content: '';
1875 | position: absolute;
1876 | top: 0;
1877 | bottom: 50%;
1878 | left: 14px;
1879 | width: 2px;
1880 | background-color: #fff;
1881 | z-index: 1
1882 | }
1883 |
1884 | .zan-steps--vsteps .zan-steps__step--last-child .zan-steps__title::after {
1885 | content: '';
1886 | position: absolute;
1887 | top: 50%;
1888 | bottom: 0;
1889 | left: 14px;
1890 | width: 2px;
1891 | background-color: #fff;
1892 | z-index: 1
1893 | }
1894 |
1895 | .zan-steps {
1896 | position: relative
1897 | }
1898 |
1899 | .zan-switch {
1900 | position: relative;
1901 | display: inline-block;
1902 | width: 104px;
1903 | height: 64px;
1904 | vertical-align: middle;
1905 | box-sizing: border-box;
1906 | border-radius: 16px;
1907 | background: #44db5e;
1908 | border: 2px solid #44db5e
1909 | }
1910 |
1911 | .zan-switch__circle {
1912 | position: absolute;
1913 | top: 0;
1914 | left: 0;
1915 | width: 60px;
1916 | height: 60px;
1917 | display: inline-block;
1918 | background: #fff;
1919 | border-radius: 30px;
1920 | box-sizing: border-box;
1921 | box-shadow: 0 0 0 2px rgba(0, 0, 0, .1), 0 6px 2px 0 rgba(0, 0, 0, .05), 0 4px 4px 0 rgba(0, 0, 0, .1), 0 6px 6px 0 rgba(0, 0, 0, .05);
1922 | transition: transform .35s cubic-bezier(.45, 1, .4, 1);
1923 | z-index: 2
1924 | }
1925 |
1926 | .zan-switch__bg {
1927 | position: absolute;
1928 | top: -2px;
1929 | left: -2px;
1930 | width: 104px;
1931 | height: 64px;
1932 | background: #fff;
1933 | border-radius: 52px;
1934 | display: inline-block;
1935 | border: 2px solid #e5e5e5;
1936 | box-sizing: border-box;
1937 | transition: transform .35s cubic-bezier(.45, 1, .4, 1);
1938 | transform: scale(0);
1939 | transform-origin: 72px 32px
1940 | }
1941 |
1942 | .zan-switch--on .zan-switch__circle {
1943 | transform: translateX(40px)
1944 | }
1945 |
1946 | .zan-switch--off .zan-switch__bg {
1947 | transform: scale(1)
1948 | }
1949 |
1950 | .zan-swtich--disabled {
1951 | opacity: .4
1952 | }
1953 |
1954 | .zan-switch__loading {
1955 | position: absolute;
1956 | left: 14px;
1957 | top: 14px;
1958 | width: 32px;
1959 | height: 32px;
1960 | background: url(https://img.yzcdn.cn/public_files/2017/02/24/9acec77d91106cd15b8107c4633d9155.png) no-repeat;
1961 | background-size: 32px 32px;
1962 | animation: zan-switch-loading .8s infinite linear
1963 | }
1964 |
1965 | @keyframes zan-switch-loading {
1966 | from {
1967 | transform: rotate(0)
1968 | }
1969 | to {
1970 | transform: rotate(360deg)
1971 | }
1972 | }
1973 |
1974 | .zan-tab {
1975 | height: 90px
1976 | }
1977 |
1978 | .zan-tab__bd {
1979 | width: 750rpx;
1980 | display: flex;
1981 | flex-direction: row;
1982 | border-bottom: 1rpx solid #e5e5e5;
1983 | background: #fff
1984 | }
1985 |
1986 | .zan-tab__bd--fixed {
1987 | position: fixed;
1988 | top: 0;
1989 | z-index: 2
1990 | }
1991 |
1992 | .zan-tab__item {
1993 | flex: 1;
1994 | display: inline-block;
1995 | padding: 0 20px;
1996 | line-height: 0;
1997 | box-sizing: border-box;
1998 | overflow: hidden;
1999 | text-align: center
2000 | }
2001 |
2002 | .zan-tab__title {
2003 | display: inline-block;
2004 | max-width: 100%;
2005 | height: 88px;
2006 | line-height: 88px;
2007 | overflow: hidden;
2008 | text-overflow: ellipsis;
2009 | box-sizing: border-box;
2010 | word-break: keep-all;
2011 | font-size: 28px;
2012 | color: #666
2013 | }
2014 |
2015 | .zan-tab__item--selected .zan-tab__title {
2016 | color: #f44;
2017 | border-bottom: 4px solid #f44
2018 | }
2019 |
2020 | .zan-tab__bd--scroll {
2021 | display: block;
2022 | white-space: nowrap
2023 | }
2024 |
2025 | .zan-tab__bd--scroll .zan-tab__item {
2026 | min-width: 160px
2027 | }
2028 |
2029 | .zan-tag {
2030 | display: inline-block;
2031 | position: relative;
2032 | box-sizing: border-box;
2033 | line-height: 32px;
2034 | padding: 0 10px;
2035 | border-radius: 4px;
2036 | font-size: 22px;
2037 | background: #c9c9c9;
2038 | text-align: center;
2039 | color: #fff
2040 | }
2041 |
2042 | .zan-tag::after {
2043 | content: '';
2044 | position: absolute;
2045 | top: 0;
2046 | left: 0;
2047 | width: 200%;
2048 | height: 200%;
2049 | transform: scale(.5);
2050 | transform-origin: 0 0;
2051 | pointer-events: none;
2052 | box-sizing: border-box;
2053 | border: 0 solid #e5e5e5;
2054 | border-width: 2px;
2055 | border-radius: 8px
2056 | }
2057 |
2058 | .zan-tag--plain {
2059 | color: #c9c9c9;
2060 | background: #fff
2061 | }
2062 |
2063 | .zan-tag--primary {
2064 | color: #fff;
2065 | background-color: #4b0
2066 | }
2067 |
2068 | .zan-tag--primary::after {
2069 | border-color: #4b0
2070 | }
2071 |
2072 | .zan-tag--primary.zan-tag--plain {
2073 | color: #4b0;
2074 | background: #fff
2075 | }
2076 |
2077 | .zan-tag--danger {
2078 | color: #fff;
2079 | background: #f44
2080 | }
2081 |
2082 | .zan-tag--danger::after {
2083 | border-color: #f44
2084 | }
2085 |
2086 | .zan-tag--danger.zan-tag--plain {
2087 | color: #f44;
2088 | background: #fff
2089 | }
2090 |
2091 | .zan-tag--warn {
2092 | color: #fff;
2093 | background: #f85
2094 | }
2095 |
2096 | .zan-tag--warn::after {
2097 | border-color: #f85
2098 | }
2099 |
2100 | .zan-tag--warn.zan-tag--plain {
2101 | color: #f85;
2102 | background: #fff
2103 | }
2104 |
2105 | .zan-tag--disabled {
2106 | color: #999!important;
2107 | background: #e5e5e5
2108 | }
2109 |
2110 | .zan-tag--disabled::after {
2111 | border-color: #ccc
2112 | }
2113 |
2114 | .zan-toast {
2115 | position: fixed;
2116 | top: 35%;
2117 | left: 50%;
2118 | transform: translate3d(-50%, -50%, 0);
2119 | background: rgba(0, 0, 0, .7);
2120 | color: #fff;
2121 | font-size: 28px;
2122 | line-height: 1.5em;
2123 | margin: 0 auto;
2124 | box-sizing: border-box;
2125 | padding: 20px 20px;
2126 | text-align: center;
2127 | border-radius: 8px;
2128 | z-index: 100
2129 | }
2130 |
2131 | .zan-toast--notitle {
2132 | padding: 36px
2133 | }
2134 |
2135 | .zan-toast__icon {
2136 | width: 80px;
2137 | height: 80px;
2138 | line-height: 80px;
2139 | margin: 0 auto;
2140 | padding: 24px 30px;
2141 | font-size: 76px;
2142 | text-align: center
2143 | }
2144 |
2145 | .zan-toast__icon-loading {
2146 | line-height: 0
2147 | }
2148 |
2149 | .zan-toast__icon-loading .zan-loading {
2150 | width: 80px;
2151 | height: 80px
2152 | }
2153 |
2154 | .zan-toast__icon-image {
2155 | background-size: 80px;
2156 | background-position: center;
2157 | background-repeat: no-repeat
2158 | }
2159 |
2160 | .zan-toptips {
2161 | display: block;
2162 | position: fixed;
2163 | -webkit-transform: translateZ(0) translateY(-100%);
2164 | width: 100%;
2165 | min-height: 64px;
2166 | top: 0;
2167 | line-height: 2.3;
2168 | font-size: 28px;
2169 | text-align: center;
2170 | color: #fff;
2171 | background-color: #e64340;
2172 | z-index: 110;
2173 | opacity: 0;
2174 | transition: all .4s ease
2175 | }
2176 |
2177 | .zan-toptips--show {
2178 | -webkit-transform: translateZ(0) translateY(0);
2179 | opacity: 1
2180 | }
2181 |
--------------------------------------------------------------------------------
/bottom-navigation/main.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import App from './App'
3 |
4 | Vue.config.productionTip = false
5 |
6 | App.mpType = 'app'
7 |
8 | const app = new Vue({
9 | ...App
10 | })
11 | app.$mount()
12 |
--------------------------------------------------------------------------------
/bottom-navigation/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "name" : "bottom-navigation",
3 | "appid" : "__UNI__EAAC2DD",
4 | "description": "",
5 | "versionName": "1.0.0",
6 | "versionCode": "100",
7 | "app-plus": { /* 5+App特有相关 */
8 | "modules": { /* 模块配置 */
9 |
10 | },
11 | "distribute": { /* 应用发布信息 */
12 | "android": { /* android打包配置 */
13 | "permissions": ["",
14 | "",
15 | "",
16 | "",
17 | "",
18 | "",
19 | "",
20 | "",
21 | "",
22 | "",
23 | "",
24 | "",
25 | "",
26 | "",
27 | "",
28 | "",
29 | "",
30 | "",
31 | "",
32 | "",
33 | "",
34 | ""
35 | ]
36 | },
37 | "ios": { /* ios打包配置 */
38 |
39 | },
40 | "sdkConfigs": { /* SDK配置 */
41 |
42 | }
43 | }
44 | },
45 | "quickapp": { /* 快应用特有相关 */
46 |
47 | },
48 | "mp-weixin": { /* 小程序特有相关 */
49 | "appid": ""
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/bottom-navigation/pages.json:
--------------------------------------------------------------------------------
1 | {
2 | "pages": [ //pages数组中第一项表示应用启动页
3 | {
4 | "path": "pages/tabs/tabs",
5 | "style": {
6 | "navigationBarTitleText": "自定义底部导航栏"
7 | }
8 | }
9 | ],
10 | "globalStyle": {
11 | "navigationBarTextStyle": "black",
12 | "navigationBarTitleText": "uni-app",
13 | "navigationBarBackgroundColor": "#F8F8F8",
14 | "backgroundColor": "#F8F8F8"
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/bottom-navigation/pages/tabs/tabs.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 首页
6 |
7 |
8 | 分类
9 |
10 |
11 | 发布
12 |
13 |
14 | 购物车
15 |
16 |
17 | 我的
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 | 首页
26 |
27 |
28 |
29 |
30 |
31 | 分类
32 |
33 |
34 |
35 |
36 |
37 | 发布
38 |
39 |
40 |
41 |
42 |
43 | 购物车
44 |
45 |
46 |
47 |
48 |
49 | 我的
50 |
51 |
52 |
53 |
54 |
55 |
75 |
76 |
148 |
--------------------------------------------------------------------------------
/bottom-navigation/unpackage/dist/dev/app-plus/bottom-navigation/__uniappchooselocation.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
233 |
234 |
235 |
236 |
246 |
247 |
252 |
253 |
对不起,没有搜索到相关数据!
254 |
255 |
258 |
259 |
260 |
261 |
262 |
263 |
264 |
265 |
268 |
269 |
对不起,没有搜索到相关数据!
270 |
271 |
272 |
273 |
555 |
556 |
557 |
558 |
--------------------------------------------------------------------------------
/bottom-navigation/unpackage/dist/dev/app-plus/bottom-navigation/__uniappmap.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
93 |
94 |
95 |
96 |
--------------------------------------------------------------------------------
/bottom-navigation/unpackage/dist/dev/app-plus/bottom-navigation/__uniappmarker.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lygustas/uni-app-bottom-navigation/07c5609137f1bf5925c70ad5f3a07d5c7d3d415a/bottom-navigation/unpackage/dist/dev/app-plus/bottom-navigation/__uniappmarker.png
--------------------------------------------------------------------------------
/bottom-navigation/unpackage/dist/dev/app-plus/bottom-navigation/__uniappopenlocation.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
214 |
215 |
216 |
217 |
--------------------------------------------------------------------------------
/bottom-navigation/unpackage/dist/dev/app-plus/bottom-navigation/__uniappscan.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | 扫码
8 |
22 |
23 |
24 |
25 |
26 |
27 |
60 |
61 |
62 |
63 |
--------------------------------------------------------------------------------
/bottom-navigation/unpackage/dist/dev/app-plus/bottom-navigation/__uniappservice.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Service
8 |
14 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/bottom-navigation/unpackage/dist/dev/app-plus/bottom-navigation/__uniappsuccess.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/lygustas/uni-app-bottom-navigation/07c5609137f1bf5925c70ad5f3a07d5c7d3d415a/bottom-navigation/unpackage/dist/dev/app-plus/bottom-navigation/__uniappsuccess.png
--------------------------------------------------------------------------------
/bottom-navigation/unpackage/dist/dev/app-plus/bottom-navigation/__uniappview.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
8 | View
9 |
15 |
18 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/bottom-navigation/unpackage/dist/dev/app-plus/bottom-navigation/app-view.js:
--------------------------------------------------------------------------------
1 | var __pageFrameStartTime__ = Date.now();
2 | var __webviewId__;
3 | var __wxAppCode__ = {};
4 | var __WXML_GLOBAL__ = {
5 | entrys: {},
6 | defines: {},
7 | modules: {},
8 | ops: [],
9 | wxs_nf_init: undefined,
10 | total_ops: 0
11 | };
12 | var $gwx;
13 |
14 | /*v0.6vv_20180111_fbi*/
15 | window.__wcc_version__='v0.6vv_20180111_fbi'
16 | window.__wcc_version_info__={"customComponents":true,"fixZeroRpx":true}
17 | var $gwxc
18 | var $gaic={}
19 | $gwx=function(path,global){
20 | if(typeof global === 'undefined') global={};
21 | if(typeof __WXML_GLOBAL__ === 'undefined') __WXML_GLOBAL__={};
22 | function _(a,b){if(typeof(b)!='undefined')a.children.push(b);}
23 | function _v(k){if(typeof(k)!='undefined')return {tag:'virtual','wxKey':k,children:[]};return {tag:'virtual',children:[]};}
24 | function _n(tag){$gwxc++;if($gwxc>=16000){throw 'Dom limit exceeded, please check if there\'s any mistake you\'ve made.'};return {tag:'wx-'+tag,attr:{},children:[],n:[],raw:{},generics:{}}}
25 | function _p(a,b){b&&a.properities.push(b);}
26 | function _s(scope,env,key){return typeof(scope[key])!='undefined'?scope[key]:env[key]}
27 | function _wp(m){console.warn("WXMLRT_$gwx:"+m)}
28 | function _wl(tname,prefix){_wp(prefix+':-1:-1:-1: Template `' + tname + '` is being called recursively, will be stop.')}
29 | $gwn=console.warn;
30 | $gwl=console.log;
31 | function $gwh()
32 | {
33 | function x()
34 | {
35 | }
36 | x.prototype =
37 | {
38 | hn: function( obj, all )
39 | {
40 | if( typeof(obj) == 'object' )
41 | {
42 | var cnt=0;
43 | var any1=false,any2=false;
44 | for(var x in obj)
45 | {
46 | any1=any1|x==='__value__';
47 | any2=any2|x==='__wxspec__';
48 | cnt++;
49 | if(cnt>2)break;
50 | }
51 | return cnt == 2 && any1 && any2 && ( all || obj.__wxspec__ !== 'm' || this.hn(obj.__value__) === 'h' ) ? "h" : "n";
52 | }
53 | return "n";
54 | },
55 | nh: function( obj, special )
56 | {
57 | return { __value__: obj, __wxspec__: special ? special : true }
58 | },
59 | rv: function( obj )
60 | {
61 | return this.hn(obj,true)==='n'?obj:this.rv(obj.__value__);
62 | },
63 | hm: function( obj )
64 | {
65 | if( typeof(obj) == 'object' )
66 | {
67 | var cnt=0;
68 | var any1=false,any2=false;
69 | for(var x in obj)
70 | {
71 | any1=any1|x==='__value__';
72 | any2=any2|x==='__wxspec__';
73 | cnt++;
74 | if(cnt>2)break;
75 | }
76 | return cnt == 2 && any1 && any2 && (obj.__wxspec__ === 'm' || this.hm(obj.__value__) );
77 | }
78 | return false;
79 | }
80 | }
81 | return new x;
82 | }
83 | wh=$gwh();
84 | function $gstack(s){
85 | var tmp=s.split('\n '+' '+' '+' ');
86 | for(var i=0;i=':
137 | case '<=':
138 | case '>':
139 | case '<':
140 | case '<<':
141 | case '>>':
142 | _a = rev( ops[1], e, s, g, o, _f );
143 | _b = rev( ops[2], e, s, g, o, _f );
144 | _c = should_pass_type_info && (wh.hn( _a ) === 'h' || wh.hn( _b ) === 'h');
145 | switch( rop )
146 | {
147 | case '+':
148 | _d = wh.rv( _a ) + wh.rv( _b );
149 | break;
150 | case '*':
151 | _d = wh.rv( _a ) * wh.rv( _b );
152 | break;
153 | case '/':
154 | _d = wh.rv( _a ) / wh.rv( _b );
155 | break;
156 | case '%':
157 | _d = wh.rv( _a ) % wh.rv( _b );
158 | break;
159 | case '|':
160 | _d = wh.rv( _a ) | wh.rv( _b );
161 | break;
162 | case '^':
163 | _d = wh.rv( _a ) ^ wh.rv( _b );
164 | break;
165 | case '&':
166 | _d = wh.rv( _a ) & wh.rv( _b );
167 | break;
168 | case '===':
169 | _d = wh.rv( _a ) === wh.rv( _b );
170 | break;
171 | case '==':
172 | _d = wh.rv( _a ) == wh.rv( _b );
173 | break;
174 | case '!=':
175 | _d = wh.rv( _a ) != wh.rv( _b );
176 | break;
177 | case '!==':
178 | _d = wh.rv( _a ) !== wh.rv( _b );
179 | break;
180 | case '>=':
181 | _d = wh.rv( _a ) >= wh.rv( _b );
182 | break;
183 | case '<=':
184 | _d = wh.rv( _a ) <= wh.rv( _b );
185 | break;
186 | case '>':
187 | _d = wh.rv( _a ) > wh.rv( _b );
188 | break;
189 | case '<':
190 | _d = wh.rv( _a ) < wh.rv( _b );
191 | break;
192 | case '<<':
193 | _d = wh.rv( _a ) << wh.rv( _b );
194 | break;
195 | case '>>':
196 | _d = wh.rv( _a ) >> wh.rv( _b );
197 | break;
198 | default:
199 | break;
200 | }
201 | return _c ? wh.nh( _d, "c" ) : _d;
202 | break;
203 | case '-':
204 | _a = ops.length === 3 ? rev( ops[1], e, s, g, o, _f ) : 0;
205 | _b = ops.length === 3 ? rev( ops[2], e, s, g, o, _f ) : rev( ops[1], e, s, g, o, _f );
206 | _c = should_pass_type_info && (wh.hn( _a ) === 'h' || wh.hn( _b ) === 'h');
207 | _d = _c ? wh.rv( _a ) - wh.rv( _b ) : _a - _b;
208 | return _c ? wh.nh( _d, "c" ) : _d;
209 | break;
210 | case '!':
211 | _a = rev( ops[1], e, s, g, o, _f );
212 | _c = should_pass_type_info && (wh.hn( _a ) == 'h');
213 | _d = !wh.rv(_a);
214 | return _c ? wh.nh( _d, "c" ) : _d;
215 | case '~':
216 | _a = rev( ops[1], e, s, g, o, _f );
217 | _c = should_pass_type_info && (wh.hn( _a ) == 'h');
218 | _d = ~wh.rv(_a);
219 | return _c ? wh.nh( _d, "c" ) : _d;
220 | default:
221 | $gwn('unrecognized op' + rop );
222 | }
223 | }
224 | function rev( ops, e, s, g, o, newap )
225 | {
226 | var op = ops[0];
227 | var _f = false;
228 | if ( typeof newap !== "undefined" ) o.ap = newap;
229 | if( typeof(op)==='object' )
230 | {
231 | var vop=op[0];
232 | var _a, _aa, _b, _bb, _c, _d, _s, _e, _ta, _tb, _td;
233 | switch(vop)
234 | {
235 | case 2:
236 | return ArithmeticEv(ops,e,s,g,o);
237 | break;
238 | case 4:
239 | return rev( ops[1], e, s, g, o, _f );
240 | break;
241 | case 5:
242 | switch( ops.length )
243 | {
244 | case 2:
245 | _a = rev( ops[1],e,s,g,o,_f );
246 | return should_pass_type_info?[_a]:[wh.rv(_a)];
247 | return [_a];
248 | break;
249 | case 1:
250 | return [];
251 | break;
252 | default:
253 | _a = rev( ops[1],e,s,g,o,_f );
254 | _b = rev( ops[2],e,s,g,o,_f );
255 | _a.push(
256 | should_pass_type_info ?
257 | _b :
258 | wh.rv( _b )
259 | );
260 | return _a;
261 | break;
262 | }
263 | break;
264 | case 6:
265 | _a = rev(ops[1],e,s,g,o);
266 | var ap = o.ap;
267 | _ta = wh.hn(_a)==='h';
268 | _aa = _ta ? wh.rv(_a) : _a;
269 | o.is_affected |= _ta;
270 | if( should_pass_type_info )
271 | {
272 | if( _aa===null || typeof(_aa) === 'undefined' )
273 | {
274 | return _ta ? wh.nh(undefined, 'e') : undefined;
275 | }
276 | _b = rev(ops[2],e,s,g,o,_f);
277 | _tb = wh.hn(_b) === 'h';
278 | _bb = _tb ? wh.rv(_b) : _b;
279 | o.ap = ap;
280 | o.is_affected |= _tb;
281 | if( _bb===null || typeof(_bb) === 'undefined' ||
282 | _bb === "__proto__" || _bb === "prototype" || _bb === "caller" )
283 | {
284 | return (_ta || _tb) ? wh.nh(undefined, 'e') : undefined;
285 | }
286 | _d = _aa[_bb];
287 | if ( typeof _d === 'function' && !ap ) _d = undefined;
288 | _td = wh.hn(_d)==='h';
289 | o.is_affected |= _td;
290 | return (_ta || _tb) ? (_td ? _d : wh.nh(_d, 'e')) : _d;
291 | }
292 | else
293 | {
294 | if( _aa===null || typeof(_aa) === 'undefined' )
295 | {
296 | return undefined;
297 | }
298 | _b = rev(ops[2],e,s,g,o,_f);
299 | _tb = wh.hn(_b) === 'h';
300 | _bb = _tb ? wh.rv(_b) : _b;
301 | o.ap = ap;
302 | o.is_affected |= _tb;
303 | if( _bb===null || typeof(_bb) === 'undefined' ||
304 | _bb === "__proto__" || _bb === "prototype" || _bb === "caller" )
305 | {
306 | return undefined;
307 | }
308 | _d = _aa[_bb];
309 | if ( typeof _d === 'function' && !ap ) _d = undefined;
310 | _td = wh.hn(_d)==='h';
311 | o.is_affected |= _td;
312 | return _td ? wh.rv(_d) : _d;
313 | }
314 | case 7:
315 | switch(ops[1][0])
316 | {
317 | case 11:
318 | o.is_affected |= wh.hn(g)==='h';
319 | return g;
320 | case 3:
321 | _s = wh.rv( s );
322 | _e = wh.rv( e );
323 | _b = ops[1][1];
324 | if (g && g.f && g.f.hasOwnProperty(_b) )
325 | {
326 | _a = g.f;
327 | o.ap = true;
328 | }
329 | else
330 | {
331 | _a = _s && _s.hasOwnProperty(_b) ?
332 | s : (_e && _e.hasOwnProperty(_b) ? e : undefined );
333 | }
334 | if( should_pass_type_info )
335 | {
336 | if( _a )
337 | {
338 | _ta = wh.hn(_a) === 'h';
339 | _aa = _ta ? wh.rv( _a ) : _a;
340 | _d = _aa[_b];
341 | _td = wh.hn(_d) === 'h';
342 | o.is_affected |= _ta || _td;
343 | _d = _ta && !_td ? wh.nh(_d,'e') : _d;
344 | return _d;
345 | }
346 | }
347 | else
348 | {
349 | if( _a )
350 | {
351 | _ta = wh.hn(_a) === 'h';
352 | _aa = _ta ? wh.rv( _a ) : _a;
353 | _d = _aa[_b];
354 | _td = wh.hn(_d) === 'h';
355 | o.is_affected |= _ta || _td;
356 | return wh.rv(_d);
357 | }
358 | }
359 | return undefined;
360 | }
361 | break;
362 | case 8:
363 | _a = {};
364 | _a[ops[1]] = rev(ops[2],e,s,g,o,_f);
365 | return _a;
366 | break;
367 | case 9:
368 | _a = rev(ops[1],e,s,g,o,_f);
369 | _b = rev(ops[2],e,s,g,o,_f);
370 | function merge( _a, _b, _ow )
371 | {
372 | var ka, _bbk;
373 | _ta = wh.hn(_a)==='h';
374 | _tb = wh.hn(_b)==='h';
375 | _aa = wh.rv(_a);
376 | _bb = wh.rv(_b);
377 | for(var k in _bb)
378 | {
379 | if ( _ow || !_aa.hasOwnProperty(k) )
380 | {
381 | _aa[k] = should_pass_type_info ? (_tb ? wh.nh(_bb[k],'e') : _bb[k]) : wh.rv(_bb[k]);
382 | }
383 | }
384 | return _a;
385 | }
386 | var _c = _a
387 | var _ow = true
388 | if ( typeof(ops[1][0]) === "object" && ops[1][0][0] === 10 ) {
389 | _a = _b
390 | _b = _c
391 | _ow = false
392 | }
393 | if ( typeof(ops[1][0]) === "object" && ops[1][0][0] === 10 ) {
394 | var _r = {}
395 | return merge( merge( _r, _a, _ow ), _b, _ow );
396 | }
397 | else
398 | return merge( _a, _b, _ow );
399 | break;
400 | case 10:
401 | _a = rev(ops[1],e,s,g,o,_f);
402 | _a = should_pass_type_info ? _a : wh.rv( _a );
403 | return _a ;
404 | break;
405 | case 12:
406 | var _r;
407 | _a = rev(ops[1],e,s,g,o);
408 | if ( !o.ap )
409 | {
410 | return should_pass_type_info && wh.hn(_a)==='h' ? wh.nh( _r, 'f' ) : _r;
411 | }
412 | var ap = o.ap;
413 | _b = rev(ops[2],e,s,g,o,_f);
414 | o.ap = ap;
415 | _ta = wh.hn(_a)==='h';
416 | _tb = _ca(_b);
417 | _aa = wh.rv(_a);
418 | _bb = wh.rv(_b); snap_bb=$gdc(_bb,"nv_");
419 | try{
420 | _r = typeof _aa === "function" ? $gdc(_aa.apply(null, snap_bb)) : undefined;
421 | } catch (e){
422 | e.message = e.message.replace(/nv_/g,"");
423 | e.stack = e.stack.substring(0,e.stack.indexOf("\n", e.stack.lastIndexOf("at nv_")));
424 | e.stack = e.stack.replace(/\snv_/g," ");
425 | e.stack = $gstack(e.stack);
426 | if("undefined"!==typeof debugInfo)
427 | e.stack += "\n "+" "+" "+" at "+debugInfo[g.opindex][0]+":"+debugInfo[g.opindex][1]+":"+debugInfo[g.opindex][2];
428 | throw e;
429 | }
430 | return should_pass_type_info && (_tb || _ta) ? wh.nh( _r, 'f' ) : _r;
431 | }
432 | }
433 | else
434 | {
435 | if( op === 3 || op === 1) return ops[1];
436 | else if( op === 11 )
437 | {
438 | var _a='';
439 | for( var i = 1 ; i < ops.length ; i++ )
440 | {
441 | var xp = wh.rv(rev(ops[i],e,s,g,o,_f));
442 | _a += typeof(xp) === 'undefined' ? '' : xp;
443 | }
444 | return _a;
445 | }
446 | }
447 | }
448 | return rev;
449 | }
450 | gra=$gwrt(true);
451 | grb=$gwrt(false);
452 | function TestTest( expr, ops, e,s,g, expect_a, expect_b, expect_affected )
453 | {
454 | {
455 | var o = {is_affected:false};
456 | var a = gra( ops, e,s,g, o );
457 | if( JSON.stringify(a) != JSON.stringify( expect_a )
458 | || o.is_affected != expect_affected )
459 | {
460 | console.warn( "A. " + expr + " get result " + JSON.stringify(a) + ", " + o.is_affected + ", but " + JSON.stringify( expect_a ) + ", " + expect_affected + " is expected" );
461 | }
462 | }
463 | {
464 | var o = {is_affected:false};
465 | var a = grb( ops, e,s,g, o );
466 | if( JSON.stringify(a) != JSON.stringify( expect_b )
467 | || o.is_affected != expect_affected )
468 | {
469 | console.warn( "B. " + expr + " get result " + JSON.stringify(a) + ", " + o.is_affected + ", but " + JSON.stringify( expect_b ) + ", " + expect_affected + " is expected" );
470 | }
471 | }
472 | }
473 |
474 | function wfor( to_iter, func, env, _s, global, father, itemname, indexname, keyname )
475 | {
476 | var _n = wh.hn( to_iter ) === 'n';
477 | var scope = wh.rv( _s );
478 | var has_old_item = scope.hasOwnProperty(itemname);
479 | var has_old_index = scope.hasOwnProperty(indexname);
480 | var old_item = scope[itemname];
481 | var old_index = scope[indexname];
482 | var full = Object.prototype.toString.call(wh.rv(to_iter));
483 | var type = full[8];
484 | if( type === 'N' && full[10] === 'l' ) type = 'X';
485 | var _y;
486 | if( _n )
487 | {
488 | if( type === 'A' )
489 | {
490 | var r_iter_item;
491 | for( var i = 0 ; i < to_iter.length ; i++ )
492 | {
493 | scope[itemname] = to_iter[i];
494 | scope[indexname] = _n ? i : wh.nh(i, 'h');
495 | r_iter_item = wh.rv(to_iter[i]);
496 | var key = keyname && r_iter_item ? (keyname==="*this" ? r_iter_item : wh.rv(r_iter_item[keyname])) : undefined;
497 | _y = _v(key);
498 | _(father,_y);
499 | func( env, scope, _y, global );
500 | }
501 | }
502 | else if( type === 'O' )
503 | {
504 | var i = 0;
505 | var r_iter_item;
506 | for( var k in to_iter )
507 | {
508 | scope[itemname] = to_iter[k];
509 | scope[indexname] = _n ? k : wh.nh(k, 'h');
510 | r_iter_item = wh.rv(to_iter[k]);
511 | var key = keyname && r_iter_item ? (keyname==="*this" ? r_iter_item : wh.rv(r_iter_item[keyname])) : undefined;
512 | _y = _v(key);
513 | _(father,_y);
514 | func( env,scope,_y,global );
515 | i++;
516 | }
517 | }
518 | else if( type === 'S' )
519 | {
520 | for( var i = 0 ; i < to_iter.length ; i++ )
521 | {
522 | scope[itemname] = to_iter[i];
523 | scope[indexname] = _n ? i : wh.nh(i, 'h');
524 | _y = _v( to_iter[i] + i );
525 | _(father,_y);
526 | func( env,scope,_y,global );
527 | }
528 | }
529 | else if( type === 'N' )
530 | {
531 | for( var i = 0 ; i < to_iter ; i++ )
532 | {
533 | scope[itemname] = i;
534 | scope[indexname] = _n ? i : wh.nh(i, 'h');
535 | _y = _v( i );
536 | _(father,_y);
537 | func(env,scope,_y,global);
538 | }
539 | }
540 | else
541 | {
542 | }
543 | }
544 | else
545 | {
546 | var r_to_iter = wh.rv(to_iter);
547 | var r_iter_item, iter_item;
548 | if( type === 'A' )
549 | {
550 | for( var i = 0 ; i < r_to_iter.length ; i++ )
551 | {
552 | iter_item = r_to_iter[i];
553 | iter_item = wh.hn(iter_item)==='n' ? wh.nh(iter_item,'h') : iter_item;
554 | r_iter_item = wh.rv( iter_item );
555 | scope[itemname] = iter_item
556 | scope[indexname] = _n ? i : wh.nh(i, 'h');
557 | var key = keyname && r_iter_item ? (keyname==="*this" ? r_iter_item : wh.rv(r_iter_item[keyname])) : undefined;
558 | _y = _v(key);
559 | _(father,_y);
560 | func( env, scope, _y, global );
561 | }
562 | }
563 | else if( type === 'O' )
564 | {
565 | var i=0;
566 | for( var k in r_to_iter )
567 | {
568 | iter_item = r_to_iter[k];
569 | iter_item = wh.hn(iter_item)==='n'? wh.nh(iter_item,'h') : iter_item;
570 | r_iter_item = wh.rv( iter_item );
571 | scope[itemname] = iter_item;
572 | scope[indexname] = _n ? k : wh.nh(k, 'h');
573 | var key = keyname && r_iter_item ? (keyname==="*this" ? r_iter_item : wh.rv(r_iter_item[keyname])) : undefined;
574 | _y=_v(key);
575 | _(father,_y);
576 | func( env, scope, _y, global );
577 | i++
578 | }
579 | }
580 | else if( type === 'S' )
581 | {
582 | for( var i = 0 ; i < r_to_iter.length ; i++ )
583 | {
584 | iter_item = wh.nh(r_to_iter[i],'h');
585 | scope[itemname] = iter_item;
586 | scope[indexname] = _n ? i : wh.nh(i, 'h');
587 | _y = _v( to_iter[i] + i );
588 | _(father,_y);
589 | func( env, scope, _y, global );
590 | }
591 | }
592 | else if( type === 'N' )
593 | {
594 | for( var i = 0 ; i < r_to_iter ; i++ )
595 | {
596 | iter_item = wh.nh(i,'h');
597 | scope[itemname] = iter_item;
598 | scope[indexname]= _n ? i : wh.nh(i,'h');
599 | _y = _v( i );
600 | _(father,_y);
601 | func(env,scope,_y,global);
602 | }
603 | }
604 | else
605 | {
606 | }
607 | }
608 | if(has_old_item)
609 | {
610 | scope[itemname]=old_item;
611 | }
612 | else
613 | {
614 | delete scope[itemname];
615 | }
616 | if(has_old_index)
617 | {
618 | scope[indexname]=old_index;
619 | }
620 | else
621 | {
622 | delete scope[indexname];
623 | }
624 | }
625 |
626 | function _ca(o)
627 | {
628 | if ( wh.hn(o) == 'h' ) return true;
629 | if ( typeof o !== "object" ) return false;
630 | for(var i in o){
631 | if ( o.hasOwnProperty(i) ){
632 | if (_ca(o[i])) return true;
633 | }
634 | }
635 | return false;
636 | }
637 | function _da( node, attrname, opindex, raw, o )
638 | {
639 | var isaffected = false;
640 | if ( o.is_affected || _ca(raw) )
641 | {
642 | node.n.push( attrname );
643 | node.raw[attrname] = raw;
644 | var value = $gdc( raw, "" );
645 | return value;
646 | }
647 | else
648 | {
649 | return raw;
650 | }
651 | }
652 | function _r( node, attrname, opindex, env, scope, global )
653 | {
654 | global.opindex=opindex;
655 | var o = {}, _env;
656 | var a = grb( z[opindex], env, scope, global, o );
657 | a = _da( node, attrname, opindex, a, o );
658 | node.attr[attrname] = a;
659 | }
660 | function _o( opindex, env, scope, global )
661 | {
662 | global.opindex=opindex;
663 | var nothing = {};
664 | return grb( z[opindex], env, scope, global, nothing );
665 | }
666 | function _1( opindex, env, scope, global, o )
667 | {
668 | var o = o || {};
669 | global.opindex=opindex;
670 | return gra( z[opindex], env, scope, global, o );
671 | }
672 | function _2( opindex, func, env, scope, global, father, itemname, indexname, keyname )
673 | {
674 | var o = {};
675 | var to_iter = _1( opindex, env, scope, global );
676 | wfor( to_iter, func, env, scope, global, father, itemname, indexname, keyname );
677 | }
678 |
679 |
680 | function _m(tag,attrs,generics,env,scope,global)
681 | {
682 | var tmp=_n(tag);
683 | var base=0;
684 | for(var i = 0 ; i < attrs.length ; i+=2 )
685 | {
686 | if(base+attrs[i+1]<0)
687 | {
688 | tmp.attr[attrs[i]]=true;
689 | }
690 | else
691 | {
692 | _r(tmp,attrs[i],base+attrs[i+1],env,scope,global);
693 | if(base===0)base=attrs[i+1];
694 | }
695 | }
696 | for(var i=0;i=0;x--){if(e[p].i[x]&&d[e[p].i[x]][c])return d[e[p].i[x]][c]};for(var x=e[p].ti.length-1;x>=0;x--){var q=_grp(e[p].ti[x],e,p);if(q&&d[q][c])return d[q][c]}var ii=_gapi(e,p);for(var x=0;x=0;k--)if(e[p].j[k]){for(var q=e[e[p].j[k]].ti.length-1;q>=0;q--){var pp=_grp(e[e[p].j[k]].ti[q],e,p);if(pp&&d[pp][c]){return d[pp][c]}}}}
949 | function _gapi(e,p){if(!p)return [];if($gaic[p]){return $gaic[p]};var ret=[],q=[],h=0,t=0,put={},visited={};q.push(p);visited[p]=true;t++;while(h=0.02+1e-6&&window.__mergeData__)
1196 | {
1197 | env=window.__mergeData__(env,dd);
1198 | }
1199 | try{
1200 | main(env,{},root,global);
1201 | if(typeof(window.__webview_engine_version__)=='undefined'|| window.__webview_engine_version__+1e-6<0.01+1e-6){return _ev(root);}
1202 | }catch(err){
1203 | console.log(cs, env);
1204 | console.log(err)
1205 | throw err
1206 | }
1207 | return root;
1208 | }
1209 | }
1210 | }
1211 |
1212 |
1213 | var BASE_DEVICE_WIDTH = 750;
1214 | var isIOS=navigator.userAgent.match("iPhone");
1215 | var deviceWidth = window.screen.width || 375;
1216 | var deviceDPR = window.devicePixelRatio || 2;
1217 | function checkDeviceWidth() {
1218 | var newDeviceWidth = window.screen.width || 375
1219 | var newDeviceDPR = window.devicePixelRatio || 2
1220 | const newDeviceHeight = window.screen.height || 375
1221 | if (window.screen.orientation && /^landscape/.test(window.screen.orientation.type || '')) newDeviceWidth = newDeviceHeight
1222 | if (newDeviceWidth !== deviceWidth || newDeviceDPR !== deviceDPR) {
1223 | deviceWidth = newDeviceWidth
1224 | deviceDPR = newDeviceDPR
1225 | }
1226 | }
1227 | checkDeviceWidth()
1228 | var eps = 1e-4;
1229 | function transformRPX(number) {
1230 | if ( number === 0 ) return 0;
1231 | number = number / BASE_DEVICE_WIDTH * deviceWidth;
1232 | number = Math.floor(number + eps);
1233 | if (number === 0) {
1234 | if (deviceDPR === 1 || !isIOS) {
1235 | return 1;
1236 | } else {
1237 | return 0.5;
1238 | }
1239 | }
1240 | return number;
1241 | }
1242 | var setCssToHead = function(file, _xcInvalid) {
1243 | var Ca = {};
1244 | var _C= [[[2,1],],["body { min-height: 100%; }\n",],["@font-face { font-family: uniicons; font-weight: normal; font-style: normal; src: url(\x27https://img-cdn-qiniu.dcloud.net.cn/fonts/uni.ttf\x27) format(\x27truetype\x27); }\n.",[1],"uni-icon { font-family: uniicons; font-size: ",[0,48],"; font-weight: normal; font-style: normal; line-height: 1; display: inline-block; text-decoration: none; -webkit-font-smoothing: antialiased; }\n.",[1],"uni-icon.",[1],"uni-active { color: #007aff; }\n.",[1],"uni-icon-contact:before { content: \x27\\E100\x27; }\n.",[1],"uni-icon-person:before { content: \x27\\E101\x27; }\n.",[1],"uni-icon-personadd:before { content: \x27\\E102\x27; }\n.",[1],"uni-icon-contact-filled:before { content: \x27\\E130\x27; }\n.",[1],"uni-icon-person-filled:before { content: \x27\\E131\x27; }\n.",[1],"uni-icon-personadd-filled:before { content: \x27\\E132\x27; }\n.",[1],"uni-icon-phone:before { content: \x27\\E200\x27; }\n.",[1],"uni-icon-email:before { content: \x27\\E201\x27; }\n.",[1],"uni-icon-chatbubble:before { content: \x27\\E202\x27; }\n.",[1],"uni-icon-chatboxes:before { content: \x27\\E203\x27; }\n.",[1],"uni-icon-phone-filled:before { content: \x27\\E230\x27; }\n.",[1],"uni-icon-email-filled:before { content: \x27\\E231\x27; }\n.",[1],"uni-icon-chatbubble-filled:before { content: \x27\\E232\x27; }\n.",[1],"uni-icon-chatboxes-filled:before { content: \x27\\E233\x27; }\n.",[1],"uni-icon-weibo:before { content: \x27\\E260\x27; }\n.",[1],"uni-icon-weixin:before { content: \x27\\E261\x27; }\n.",[1],"uni-icon-pengyouquan:before { content: \x27\\E262\x27; }\n.",[1],"uni-icon-chat:before { content: \x27\\E263\x27; }\n.",[1],"uni-icon-qq:before { content: \x27\\E264\x27; }\n.",[1],"uni-icon-videocam:before { content: \x27\\E300\x27; }\n.",[1],"uni-icon-camera:before { content: \x27\\E301\x27; }\n.",[1],"uni-icon-mic:before { content: \x27\\E302\x27; }\n.",[1],"uni-icon-location:before { content: \x27\\E303\x27; }\n.",[1],"uni-icon-mic-filled:before, .",[1],"uni-icon-speech:before { content: \x27\\E332\x27; }\n.",[1],"uni-icon-location-filled:before { content: \x27\\E333\x27; }\n.",[1],"uni-icon-micoff:before { content: \x27\\E360\x27; }\n.",[1],"uni-icon-image:before { content: \x27\\E363\x27; }\n.",[1],"uni-icon-map:before { content: \x27\\E364\x27; }\n.",[1],"uni-icon-compose:before { content: \x27\\E400\x27; }\n.",[1],"uni-icon-trash:before { content: \x27\\E401\x27; }\n.",[1],"uni-icon-upload:before { content: \x27\\E402\x27; }\n.",[1],"uni-icon-download:before { content: \x27\\E403\x27; }\n.",[1],"uni-icon-close:before { content: \x27\\E404\x27; }\n.",[1],"uni-icon-redo:before { content: \x27\\E405\x27; }\n.",[1],"uni-icon-undo:before { content: \x27\\E406\x27; }\n.",[1],"uni-icon-refresh:before { content: \x27\\E407\x27; }\n.",[1],"uni-icon-star:before { content: \x27\\E408\x27; }\n.",[1],"uni-icon-plus:before { content: \x27\\E409\x27; }\n.",[1],"uni-icon-minus:before { content: \x27\\E410\x27; }\n.",[1],"uni-icon-circle:before, .",[1],"uni-icon-checkbox:before { content: \x27\\E411\x27; }\n.",[1],"uni-icon-close-filled:before, .",[1],"uni-icon-clear:before { content: \x27\\E434\x27; }\n.",[1],"uni-icon-refresh-filled:before { content: \x27\\E437\x27; }\n.",[1],"uni-icon-star-filled:before { content: \x27\\E438\x27; }\n.",[1],"uni-icon-plus-filled:before { content: \x27\\E439\x27; }\n.",[1],"uni-icon-minus-filled:before { content: \x27\\E440\x27; }\n.",[1],"uni-icon-circle-filled:before { content: \x27\\E441\x27; }\n.",[1],"uni-icon-checkbox-filled:before { content: \x27\\E442\x27; }\n.",[1],"uni-icon-closeempty:before { content: \x27\\E460\x27; }\n.",[1],"uni-icon-refreshempty:before { content: \x27\\E461\x27; }\n.",[1],"uni-icon-reload:before { content: \x27\\E462\x27; }\n.",[1],"uni-icon-starhalf:before { content: \x27\\E463\x27; }\n.",[1],"uni-icon-spinner:before { content: \x27\\E464\x27; }\n.",[1],"uni-icon-spinner-cycle:before { content: \x27\\E465\x27; }\n.",[1],"uni-icon-search:before { content: \x27\\E466\x27; }\n.",[1],"uni-icon-plusempty:before { content: \x27\\E468\x27; }\n.",[1],"uni-icon-forward:before { content: \x27\\E470\x27; }\n.",[1],"uni-icon-back:before, .",[1],"uni-icon-left-nav:before { content: \x27\\E471\x27; }\n.",[1],"uni-icon-checkmarkempty:before { content: \x27\\E472\x27; }\n.",[1],"uni-icon-home:before { content: \x27\\E500\x27; }\n.",[1],"uni-icon-navigate:before { content: \x27\\E501\x27; }\n.",[1],"uni-icon-gear:before { content: \x27\\E502\x27; }\n.",[1],"uni-icon-paperplane:before { content: \x27\\E503\x27; }\n.",[1],"uni-icon-info:before { content: \x27\\E504\x27; }\n.",[1],"uni-icon-help:before { content: \x27\\E505\x27; }\n.",[1],"uni-icon-locked:before { content: \x27\\E506\x27; }\n.",[1],"uni-icon-more:before { content: \x27\\E507\x27; }\n.",[1],"uni-icon-flag:before { content: \x27\\E508\x27; }\n.",[1],"uni-icon-home-filled:before { content: \x27\\E530\x27; }\n.",[1],"uni-icon-gear-filled:before { content: \x27\\E532\x27; }\n.",[1],"uni-icon-info-filled:before { content: \x27\\E534\x27; }\n.",[1],"uni-icon-help-filled:before { content: \x27\\E535\x27; }\n.",[1],"uni-icon-more-filled:before { content: \x27\\E537\x27; }\n.",[1],"uni-icon-settings:before { content: \x27\\E560\x27; }\n.",[1],"uni-icon-list:before { content: \x27\\E562\x27; }\n.",[1],"uni-icon-bars:before { content: \x27\\E563\x27; }\n.",[1],"uni-icon-loop:before { content: \x27\\E565\x27; }\n.",[1],"uni-icon-paperclip:before { content: \x27\\E567\x27; }\n.",[1],"uni-icon-eye:before { content: \x27\\E568\x27; }\n.",[1],"uni-icon-arrowup:before { content: \x27\\E580\x27; }\n.",[1],"uni-icon-arrowdown:before { content: \x27\\E581\x27; }\n.",[1],"uni-icon-arrowleft:before { content: \x27\\E582\x27; }\n.",[1],"uni-icon-arrowright:before { content: \x27\\E583\x27; }\n.",[1],"uni-icon-arrowthinup:before { content: \x27\\E584\x27; }\n.",[1],"uni-icon-arrowthindown:before { content: \x27\\E585\x27; }\n.",[1],"uni-icon-arrowthinleft:before { content: \x27\\E586\x27; }\n.",[1],"uni-icon-arrowthinright:before { content: \x27\\E587\x27; }\n.",[1],"uni-icon-pulldown:before { content: \x27\\E588\x27; }\n.",[1],"swiper-item { display: flex; width: 100%; height: 100%; text-align: center; background-color: #00BFFF; justify-content: center; align-items: center; }\n.",[1],"uni-icon { margin-top: 0; color: #929292; }\n.",[1],"tab { position: fixed; z-index: 999; height: ",[0,100],"; width: 100%; bottom: 0; background-color: #F7F7F7; display: flex; border-top: #CCCCCC ",[0,2]," solid; }\n.",[1],"tab .",[1],"item-add { width: 20%; color: #929292; display: flex; align-items: center; flex-direction: column; justify-content: center; position: relative; text-align: center; }\n.",[1],"item-add .",[1],"uni-icon { position: absolute; color: #929292; border-radius: 50%; font-size: ",[0,100],"; left: ",[0,25],"; top: ",[0,-50],"; box-shadow: 0 ",[0,3]," ",[0,5]," ",[0,-1]," rgba(0, 0, 0, 1), 0 ",[0,5]," ",[0,8]," 0 rgba(0, 0, 0, .14), 0 ",[0,1]," ",[0,14]," 0 rgba(0, 0, 0, .12); }\n.",[1],"item-add .",[1],"text { font-size: ",[0,24],"; padding-top: ",[0,36],"; }\n.",[1],"tab .",[1],"item { width: 20%; color: #929292; font-size: ",[0,24],"; display: flex; align-items: center; flex-direction: column; justify-content: center; }\n.",[1],"active { color: #20D785 !important; }\n.",[1],"active .",[1],"uni-icon { color: #20D785; }\n",],];
1245 | function makeup(file, suffix) {
1246 | var _n = typeof(file) === "number";
1247 | if ( _n && Ca.hasOwnProperty(file)) return "";
1248 | if ( _n ) Ca[file] = 1;
1249 | var ex = _n ? _C[file] : file;
1250 | var res="";
1251 | for (var i = ex.length - 1; i >= 0; i--) {
1252 | var content = ex[i];
1253 | if (typeof(content) === "object")
1254 | {
1255 | var op = content[0];
1256 | if ( op == 0 )
1257 | res = transformRPX(content[1]) + "px" + res;
1258 | else if ( op == 1)
1259 | res = suffix + res;
1260 | else if ( op == 2 )
1261 | res = makeup(content[1], suffix) + res;
1262 | }
1263 | else
1264 | res = content + res
1265 | }
1266 | return res;
1267 | }
1268 | return function(suffix, opt){
1269 | if ( typeof suffix === "undefined" ) suffix = "";
1270 | if ( opt && opt.allowIllegalSelector != undefined && _xcInvalid != undefined )
1271 | {
1272 | if ( opt.allowIllegalSelector )
1273 | console.warn( "For developer:" + _xcInvalid );
1274 | else
1275 | {
1276 | console.error( _xcInvalid + "This wxss file is ignored." );
1277 | return;
1278 | }
1279 | }
1280 | Ca={};
1281 | css = transformVar(makeup(file, suffix));
1282 | var style = document.createElement('style');
1283 | var head = document.head || document.getElementsByTagName('head')[0];
1284 | style.type = 'text/css';
1285 | if (style.styleSheet) {
1286 | style.styleSheet.cssText = css;
1287 | } else {
1288 | style.appendChild(document.createTextNode(css));
1289 | }
1290 | head.appendChild(style);
1291 | }
1292 | }
1293 | setCssToHead([])();setCssToHead([[2,0]])();
1294 |
1295 | ;var __pageFrameEndTime__ = Date.now();
1296 |
--------------------------------------------------------------------------------
/bottom-navigation/unpackage/dist/dev/app-plus/bottom-navigation/manifest.json:
--------------------------------------------------------------------------------
1 | {"@platforms":["android","iPhone","iPad"],"id":"__UNI__EAAC2DD","name":"bottom-navigation","version":{"name":"1.0.0","code":"100"},"description":"","launch_path":"__uniappservice.html","developer":{"name":"","email":"","url":""},"permissions":{},"plus":{"useragent":{"value":"uni-app appservice","concatenate":true},"splashscreen":{"autoclose":false,"waiting":true},"popGesture":"close","statusbar":{"immersed":"supportedDevice","style":"dark","background":"#F8F8F8"},"distribute":{"google":{"permissions":["","","","","","","","","","","","","","","","","","","","","",""]},"apple":{},"plugins":{}},"allowsInlineMediaPlayback":true}}
--------------------------------------------------------------------------------
/bottom-navigation/unpackage/dist/dev/app-plus/bottom-navigation/pages/tabs/tabs.js:
--------------------------------------------------------------------------------
1 |
2 | !(function(){
3 | var uniAppViewReadyCallback = function(){
4 | setCssToHead([[2,2],])();
5 | document.dispatchEvent(new CustomEvent("generateFuncReady", { detail: { generateFunc: $gwx('./pages/tabs/tabs.wxml') } }));
6 | }
7 | if(window.__uniAppViewReady__){
8 | uniAppViewReadyCallback()
9 | }else{
10 | document.addEventListener('uniAppViewReady',uniAppViewReadyCallback)
11 | }
12 | })();
13 |
--------------------------------------------------------------------------------