├── src
├── .gitignore
├── libs
│ └── vant
│ │ ├── common
│ │ ├── style
│ │ │ ├── var.wxss
│ │ │ ├── mixins
│ │ │ │ ├── clearfix.wxss
│ │ │ │ ├── ellipsis.wxss
│ │ │ │ └── hairline.wxss
│ │ │ ├── clearfix.wxss
│ │ │ ├── ellipsis.wxss
│ │ │ └── hairline.wxss
│ │ ├── color.js
│ │ ├── color.d.ts
│ │ ├── component.d.ts
│ │ ├── utils.d.ts
│ │ ├── utils.js
│ │ ├── index.wxss
│ │ └── component.js
│ │ ├── col
│ │ ├── index.d.ts
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.js
│ │ └── index.wxss
│ │ ├── row
│ │ ├── index.d.ts
│ │ ├── index.json
│ │ ├── index.wxss
│ │ ├── index.wxml
│ │ └── index.js
│ │ ├── tab
│ │ ├── index.d.ts
│ │ ├── index.json
│ │ ├── index.wxss
│ │ ├── index.wxml
│ │ └── index.js
│ │ ├── tag
│ │ ├── index.d.ts
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxss
│ │ └── index.js
│ │ ├── area
│ │ ├── index.d.ts
│ │ ├── index.wxss
│ │ ├── index.json
│ │ └── index.wxml
│ │ ├── badge
│ │ ├── index.d.ts
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxss
│ │ └── index.js
│ │ ├── button
│ │ ├── index.d.ts
│ │ ├── index.json
│ │ ├── index.js
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── card
│ │ ├── index.d.ts
│ │ ├── index.json
│ │ ├── index.js
│ │ ├── index.wxss
│ │ └── index.wxml
│ │ ├── cell
│ │ ├── index.d.ts
│ │ ├── index.json
│ │ ├── index.js
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── checkbox
│ │ ├── index.d.ts
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── collapse
│ │ ├── index.d.ts
│ │ ├── index.wxss
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.js
│ │ ├── dialog
│ │ ├── index.d.ts
│ │ ├── index.json
│ │ ├── index.wxss
│ │ ├── dialog.d.ts
│ │ ├── dialog.js
│ │ └── index.wxml
│ │ ├── field
│ │ ├── index.d.ts
│ │ ├── index.json
│ │ └── index.wxss
│ │ ├── icon
│ │ ├── index.d.ts
│ │ ├── index.json
│ │ ├── index.js
│ │ └── index.wxml
│ │ ├── info
│ │ ├── index.d.ts
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.js
│ │ └── index.wxss
│ │ ├── loading
│ │ ├── index.d.ts
│ │ ├── index.json
│ │ ├── index.js
│ │ └── index.wxml
│ │ ├── nav-bar
│ │ ├── index.d.ts
│ │ ├── index.json
│ │ ├── index.js
│ │ ├── index.wxss
│ │ └── index.wxml
│ │ ├── notify
│ │ ├── index.d.ts
│ │ ├── index.json
│ │ ├── index.wxss
│ │ ├── notify.d.ts
│ │ ├── index.wxml
│ │ ├── notify.js
│ │ └── index.js
│ │ ├── overlay
│ │ ├── index.d.ts
│ │ ├── index.wxss
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.js
│ │ ├── panel
│ │ ├── index.d.ts
│ │ ├── index.json
│ │ ├── index.wxss
│ │ ├── index.js
│ │ └── index.wxml
│ │ ├── picker
│ │ ├── index.d.ts
│ │ ├── index.json
│ │ ├── index.wxss
│ │ └── index.wxml
│ │ ├── popup
│ │ ├── index.d.ts
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.js
│ │ └── index.wxss
│ │ ├── progress
│ │ ├── index.d.ts
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxss
│ │ └── index.js
│ │ ├── radio
│ │ ├── index.d.ts
│ │ ├── index.json
│ │ ├── index.wxss
│ │ ├── index.wxml
│ │ └── index.js
│ │ ├── rate
│ │ ├── index.d.ts
│ │ ├── index.json
│ │ ├── index.wxss
│ │ └── index.wxml
│ │ ├── search
│ │ ├── index.d.ts
│ │ ├── index.json
│ │ ├── index.wxss
│ │ ├── index.js
│ │ └── index.wxml
│ │ ├── slider
│ │ ├── index.d.ts
│ │ ├── index.json
│ │ ├── index.wxss
│ │ └── index.wxml
│ │ ├── stepper
│ │ ├── index.d.ts
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── steps
│ │ ├── index.d.ts
│ │ ├── index.json
│ │ ├── index.js
│ │ └── index.wxml
│ │ ├── switch
│ │ ├── index.d.ts
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.wxss
│ │ └── index.js
│ │ ├── tabbar
│ │ ├── index.d.ts
│ │ ├── index.json
│ │ ├── index.wxss
│ │ ├── index.wxml
│ │ └── index.js
│ │ ├── tabs
│ │ ├── index.d.ts
│ │ ├── index.json
│ │ ├── index.wxss
│ │ └── index.wxml
│ │ ├── toast
│ │ ├── index.d.ts
│ │ ├── index.json
│ │ ├── index.js
│ │ ├── toast.d.ts
│ │ ├── index.wxss
│ │ ├── index.wxml
│ │ └── toast.js
│ │ ├── action-sheet
│ │ ├── index.d.ts
│ │ ├── index.json
│ │ ├── index.wxss
│ │ ├── index.js
│ │ └── index.wxml
│ │ ├── badge-group
│ │ ├── index.d.ts
│ │ ├── index.json
│ │ ├── index.wxss
│ │ ├── index.wxml
│ │ └── index.js
│ │ ├── cell-group
│ │ ├── index.d.ts
│ │ ├── index.json
│ │ ├── index.wxss
│ │ ├── index.js
│ │ └── index.wxml
│ │ ├── checkbox-group
│ │ ├── index.wxml
│ │ ├── index.d.ts
│ │ ├── index.wxss
│ │ ├── index.json
│ │ └── index.js
│ │ ├── collapse-item
│ │ ├── index.d.ts
│ │ ├── index.json
│ │ ├── index.wxss
│ │ └── index.wxml
│ │ ├── goods-action
│ │ ├── index.d.ts
│ │ ├── index.json
│ │ ├── index.js
│ │ ├── index.wxml
│ │ └── index.wxss
│ │ ├── notice-bar
│ │ ├── index.d.ts
│ │ ├── index.json
│ │ ├── index.wxss
│ │ └── index.wxml
│ │ ├── picker-column
│ │ ├── index.d.ts
│ │ ├── index.json
│ │ ├── index.wxss
│ │ └── index.wxml
│ │ ├── radio-group
│ │ ├── index.d.ts
│ │ ├── index.wxml
│ │ ├── index.wxss
│ │ ├── index.json
│ │ └── index.js
│ │ ├── submit-bar
│ │ ├── index.d.ts
│ │ ├── index.json
│ │ ├── index.wxss
│ │ ├── index.wxml
│ │ └── index.js
│ │ ├── swipe-cell
│ │ ├── index.d.ts
│ │ ├── index.json
│ │ ├── index.wxss
│ │ └── index.wxml
│ │ ├── switch-cell
│ │ ├── index.d.ts
│ │ ├── index.wxss
│ │ ├── index.json
│ │ ├── index.wxml
│ │ └── index.js
│ │ ├── tabbar-item
│ │ ├── index.d.ts
│ │ ├── index.json
│ │ ├── index.wxss
│ │ ├── index.js
│ │ └── index.wxml
│ │ ├── transition
│ │ ├── index.d.ts
│ │ ├── index.json
│ │ ├── index.wxml
│ │ ├── index.js
│ │ └── index.wxss
│ │ ├── tree-select
│ │ ├── index.d.ts
│ │ ├── index.json
│ │ ├── index.wxss
│ │ └── index.wxml
│ │ ├── datetime-picker
│ │ ├── index.d.ts
│ │ ├── index.wxss
│ │ ├── index.json
│ │ └── index.wxml
│ │ ├── goods-action-icon
│ │ ├── index.d.ts
│ │ ├── index.json
│ │ ├── index.wxss
│ │ ├── index.js
│ │ └── index.wxml
│ │ ├── goods-action-button
│ │ ├── index.d.ts
│ │ ├── index.wxss
│ │ ├── index.json
│ │ ├── index.js
│ │ └── index.wxml
│ │ ├── mixins
│ │ ├── link.d.ts
│ │ ├── basic.d.ts
│ │ ├── button.d.ts
│ │ ├── iphonex.d.ts
│ │ ├── touch.d.ts
│ │ ├── open-type.d.ts
│ │ ├── observer
│ │ │ ├── behavior.d.ts
│ │ │ ├── props.d.ts
│ │ │ ├── index.d.ts
│ │ │ ├── props.js
│ │ │ ├── index.js
│ │ │ └── behavior.js
│ │ ├── transition.d.ts
│ │ ├── link.js
│ │ ├── button.js
│ │ ├── basic.js
│ │ ├── open-type.js
│ │ ├── touch.js
│ │ └── iphonex.js
│ │ └── wxs
│ │ ├── array.wxs
│ │ ├── object.wxs
│ │ ├── utils.wxs
│ │ ├── bem.wxs
│ │ └── memoize.wxs
├── pages
│ ├── map
│ │ ├── map.wxss
│ │ ├── map.json
│ │ ├── map.wxml
│ │ └── map.js
│ ├── index
│ │ ├── index.wxss
│ │ ├── index.json
│ │ └── index.wxml
│ ├── plan
│ │ ├── plan.json
│ │ ├── plan.wxml
│ │ ├── plan.wxss
│ │ └── plan.js
│ ├── info
│ │ ├── info.json
│ │ ├── info.wxss
│ │ └── info.wxml
│ ├── metro
│ │ ├── metro.json
│ │ ├── metro.wxss
│ │ ├── metro.wxml
│ │ └── metro.js
│ └── station
│ │ ├── station.json
│ │ ├── station.wxss
│ │ └── station.wxml
├── templates
│ └── info
│ │ ├── info_footer.wxss
│ │ ├── info_header.wxml
│ │ ├── info_split.wxml
│ │ ├── info_time.wxss
│ │ ├── info_header.wxss
│ │ ├── info_split.wxss
│ │ ├── info_time.wxml
│ │ ├── info_footer.wxml
│ │ ├── info_way.wxss
│ │ └── info_way.wxml
├── images
│ ├── metro.png
│ ├── share.png
│ ├── station.png
│ ├── yunguitu.png
│ ├── fullscreen.png
│ ├── metromanmp.png
│ └── logo
│ │ ├── logo_am.png
│ │ ├── logo_bj.png
│ │ ├── logo_cc.png
│ │ ├── logo_cd.png
│ │ ├── logo_cq.png
│ │ ├── logo_cs.png
│ │ ├── logo_cz.png
│ │ ├── logo_dg.png
│ │ ├── logo_dl.png
│ │ ├── logo_fz.png
│ │ ├── logo_gx.png
│ │ ├── logo_gy.png
│ │ ├── logo_gz.png
│ │ ├── logo_hb.png
│ │ ├── logo_hf.png
│ │ ├── logo_hh.png
│ │ ├── logo_hk.png
│ │ ├── logo_hz.png
│ │ ├── logo_jh.png
│ │ ├── logo_jn.png
│ │ ├── logo_km.png
│ │ ├── logo_li.png
│ │ ├── logo_ly.png
│ │ ├── logo_lz.png
│ │ ├── logo_nb.png
│ │ ├── logo_nc.png
│ │ ├── logo_nj.png
│ │ ├── logo_nn.png
│ │ ├── logo_nt.png
│ │ ├── logo_qd.png
│ │ ├── logo_sh.png
│ │ ├── logo_sj.png
│ │ ├── logo_su.png
│ │ ├── logo_sx.png
│ │ ├── logo_sy.png
│ │ ├── logo_sz.png
│ │ ├── logo_tb.png
│ │ ├── logo_tc.png
│ │ ├── logo_tj.png
│ │ ├── logo_ty.png
│ │ ├── logo_tz.png
│ │ ├── logo_wh.png
│ │ ├── logo_wl.png
│ │ ├── logo_wu.png
│ │ ├── logo_wx.png
│ │ ├── logo_wz.png
│ │ ├── logo_xa.png
│ │ ├── logo_xm.png
│ │ ├── logo_xz.png
│ │ └── logo_zz.png
├── sitemap.json
├── app.json
├── data
│ ├── dg.js
│ ├── tz.js
│ ├── am.js
│ └── tc.js
└── app.js
├── doc
└── data.xlsx
├── image
├── ad.png
├── logo.png
├── dev01.png
├── dev02.png
├── import.png
├── index.png
├── metro.png
├── share.png
├── preview.png
├── logo_search.png
└── metromanmp.png
└── LICENSE
/src/.gitignore:
--------------------------------------------------------------------------------
1 | project.config.json
--------------------------------------------------------------------------------
/src/libs/vant/common/style/var.wxss:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/libs/vant/col/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/row/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/tab/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/tag/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/area/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/badge/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/button/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/card/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/cell/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/checkbox/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/collapse/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/common/style/mixins/clearfix.wxss:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/libs/vant/common/style/mixins/ellipsis.wxss:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/libs/vant/common/style/mixins/hairline.wxss:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/libs/vant/dialog/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/field/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/icon/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/info/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/loading/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/nav-bar/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/notify/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/overlay/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/panel/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/picker/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/popup/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/progress/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/radio/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/rate/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/search/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/slider/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/stepper/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/steps/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/switch/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/tabbar/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/tabs/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/toast/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/action-sheet/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/badge-group/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/cell-group/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/checkbox-group/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/libs/vant/collapse-item/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/goods-action/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/notice-bar/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/picker-column/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/radio-group/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/radio-group/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/src/libs/vant/submit-bar/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/swipe-cell/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/switch-cell/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/tabbar-item/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/transition/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/tree-select/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/checkbox-group/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/datetime-picker/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/goods-action-icon/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/area/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';
--------------------------------------------------------------------------------
/src/libs/vant/goods-action-button/index.d.ts:
--------------------------------------------------------------------------------
1 | export {};
2 |
--------------------------------------------------------------------------------
/src/libs/vant/loading/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
--------------------------------------------------------------------------------
/src/libs/vant/stepper/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
--------------------------------------------------------------------------------
/src/libs/vant/tab/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
--------------------------------------------------------------------------------
/src/libs/vant/tag/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
--------------------------------------------------------------------------------
/src/libs/vant/cell-group/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
--------------------------------------------------------------------------------
/src/libs/vant/col/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/src/libs/vant/collapse/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';
--------------------------------------------------------------------------------
/src/libs/vant/info/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/src/libs/vant/mixins/link.d.ts:
--------------------------------------------------------------------------------
1 | export declare const link: void;
2 |
--------------------------------------------------------------------------------
/src/libs/vant/radio-group/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';
--------------------------------------------------------------------------------
/src/libs/vant/row/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/src/libs/vant/slider/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/src/libs/vant/tabbar/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/src/libs/vant/transition/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
--------------------------------------------------------------------------------
/src/libs/vant/badge-group/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/src/libs/vant/checkbox-group/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';
--------------------------------------------------------------------------------
/src/libs/vant/collapse/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/src/libs/vant/datetime-picker/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';
--------------------------------------------------------------------------------
/src/libs/vant/goods-action/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/src/libs/vant/mixins/basic.d.ts:
--------------------------------------------------------------------------------
1 | export declare const basic: void;
2 |
--------------------------------------------------------------------------------
/src/libs/vant/mixins/button.d.ts:
--------------------------------------------------------------------------------
1 | export declare const button: void;
2 |
--------------------------------------------------------------------------------
/src/libs/vant/mixins/iphonex.d.ts:
--------------------------------------------------------------------------------
1 | export declare const iphonex: void;
2 |
--------------------------------------------------------------------------------
/src/libs/vant/mixins/touch.d.ts:
--------------------------------------------------------------------------------
1 | export declare const touch: void;
2 |
--------------------------------------------------------------------------------
/src/libs/vant/picker-column/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
--------------------------------------------------------------------------------
/src/libs/vant/progress/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/src/libs/vant/swipe-cell/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true
3 | }
4 |
--------------------------------------------------------------------------------
/src/libs/vant/mixins/open-type.d.ts:
--------------------------------------------------------------------------------
1 | export declare const openType: void;
2 |
--------------------------------------------------------------------------------
/src/pages/map/map.wxss:
--------------------------------------------------------------------------------
1 | .map-map {
2 | width: 100%;
3 | height: 100vh;
4 | }
--------------------------------------------------------------------------------
/src/libs/vant/mixins/observer/behavior.d.ts:
--------------------------------------------------------------------------------
1 | export declare const behavior: void;
2 |
--------------------------------------------------------------------------------
/src/templates/info/info_footer.wxss:
--------------------------------------------------------------------------------
1 | /* other */
2 | button::after {
3 | border: none;
4 | }
--------------------------------------------------------------------------------
/doc/data.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/doc/data.xlsx
--------------------------------------------------------------------------------
/image/ad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/image/ad.png
--------------------------------------------------------------------------------
/image/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/image/logo.png
--------------------------------------------------------------------------------
/src/libs/vant/badge-group/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-badge-group{width:85px}
--------------------------------------------------------------------------------
/src/libs/vant/common/style/clearfix.wxss:
--------------------------------------------------------------------------------
1 | .van-clearfix:after{content:"";display:table;clear:both}
--------------------------------------------------------------------------------
/src/pages/index/index.wxss:
--------------------------------------------------------------------------------
1 | .van-search__content {
2 | background-color: white !important;
3 | }
--------------------------------------------------------------------------------
/src/pages/plan/plan.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {},
3 | "navigationBarTitleText": "规划图"
4 | }
--------------------------------------------------------------------------------
/image/dev01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/image/dev01.png
--------------------------------------------------------------------------------
/image/dev02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/image/dev02.png
--------------------------------------------------------------------------------
/image/import.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/image/import.png
--------------------------------------------------------------------------------
/image/index.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/image/index.png
--------------------------------------------------------------------------------
/image/metro.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/image/metro.png
--------------------------------------------------------------------------------
/image/share.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/image/share.png
--------------------------------------------------------------------------------
/src/libs/vant/goods-action-button/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';:host{-webkit-flex:1;flex:1}
--------------------------------------------------------------------------------
/src/libs/vant/mixins/observer/props.d.ts:
--------------------------------------------------------------------------------
1 | export declare function observeProps(props: any): void;
2 |
--------------------------------------------------------------------------------
/src/pages/index/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {},
3 | "navigationBarTitleText": "地铁图"
4 | }
--------------------------------------------------------------------------------
/src/pages/info/info.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {},
3 | "navigationBarTitleText": "车站信息"
4 | }
--------------------------------------------------------------------------------
/src/pages/metro/metro.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {},
3 | "navigationBarTitleText": "线路图"
4 | }
--------------------------------------------------------------------------------
/image/preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/image/preview.png
--------------------------------------------------------------------------------
/image/logo_search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/image/logo_search.png
--------------------------------------------------------------------------------
/image/metromanmp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/image/metromanmp.png
--------------------------------------------------------------------------------
/src/images/metro.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/metro.png
--------------------------------------------------------------------------------
/src/images/share.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/share.png
--------------------------------------------------------------------------------
/src/libs/vant/mixins/transition.d.ts:
--------------------------------------------------------------------------------
1 | export declare const transition: (showDefaultValue: boolean) => void;
2 |
--------------------------------------------------------------------------------
/src/libs/vant/row/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-row:after{content:"";display:table;clear:both}
--------------------------------------------------------------------------------
/src/images/station.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/station.png
--------------------------------------------------------------------------------
/src/images/yunguitu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/yunguitu.png
--------------------------------------------------------------------------------
/src/libs/vant/mixins/observer/index.d.ts:
--------------------------------------------------------------------------------
1 | export declare function observe(vantOptions: any, options: any): void;
2 |
--------------------------------------------------------------------------------
/src/libs/vant/row/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/src/images/fullscreen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/fullscreen.png
--------------------------------------------------------------------------------
/src/images/metromanmp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/metromanmp.png
--------------------------------------------------------------------------------
/src/libs/vant/overlay/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-overlay{position:fixed;top:0;right:0;bottom:0;left:0}
--------------------------------------------------------------------------------
/src/images/logo/logo_am.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_am.png
--------------------------------------------------------------------------------
/src/images/logo/logo_bj.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_bj.png
--------------------------------------------------------------------------------
/src/images/logo/logo_cc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_cc.png
--------------------------------------------------------------------------------
/src/images/logo/logo_cd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_cd.png
--------------------------------------------------------------------------------
/src/images/logo/logo_cq.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_cq.png
--------------------------------------------------------------------------------
/src/images/logo/logo_cs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_cs.png
--------------------------------------------------------------------------------
/src/images/logo/logo_cz.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_cz.png
--------------------------------------------------------------------------------
/src/images/logo/logo_dg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_dg.png
--------------------------------------------------------------------------------
/src/images/logo/logo_dl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_dl.png
--------------------------------------------------------------------------------
/src/images/logo/logo_fz.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_fz.png
--------------------------------------------------------------------------------
/src/images/logo/logo_gx.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_gx.png
--------------------------------------------------------------------------------
/src/images/logo/logo_gy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_gy.png
--------------------------------------------------------------------------------
/src/images/logo/logo_gz.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_gz.png
--------------------------------------------------------------------------------
/src/images/logo/logo_hb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_hb.png
--------------------------------------------------------------------------------
/src/images/logo/logo_hf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_hf.png
--------------------------------------------------------------------------------
/src/images/logo/logo_hh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_hh.png
--------------------------------------------------------------------------------
/src/images/logo/logo_hk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_hk.png
--------------------------------------------------------------------------------
/src/images/logo/logo_hz.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_hz.png
--------------------------------------------------------------------------------
/src/images/logo/logo_jh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_jh.png
--------------------------------------------------------------------------------
/src/images/logo/logo_jn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_jn.png
--------------------------------------------------------------------------------
/src/images/logo/logo_km.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_km.png
--------------------------------------------------------------------------------
/src/images/logo/logo_li.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_li.png
--------------------------------------------------------------------------------
/src/images/logo/logo_ly.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_ly.png
--------------------------------------------------------------------------------
/src/images/logo/logo_lz.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_lz.png
--------------------------------------------------------------------------------
/src/images/logo/logo_nb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_nb.png
--------------------------------------------------------------------------------
/src/images/logo/logo_nc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_nc.png
--------------------------------------------------------------------------------
/src/images/logo/logo_nj.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_nj.png
--------------------------------------------------------------------------------
/src/images/logo/logo_nn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_nn.png
--------------------------------------------------------------------------------
/src/images/logo/logo_nt.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_nt.png
--------------------------------------------------------------------------------
/src/images/logo/logo_qd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_qd.png
--------------------------------------------------------------------------------
/src/images/logo/logo_sh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_sh.png
--------------------------------------------------------------------------------
/src/images/logo/logo_sj.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_sj.png
--------------------------------------------------------------------------------
/src/images/logo/logo_su.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_su.png
--------------------------------------------------------------------------------
/src/images/logo/logo_sx.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_sx.png
--------------------------------------------------------------------------------
/src/images/logo/logo_sy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_sy.png
--------------------------------------------------------------------------------
/src/images/logo/logo_sz.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_sz.png
--------------------------------------------------------------------------------
/src/images/logo/logo_tb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_tb.png
--------------------------------------------------------------------------------
/src/images/logo/logo_tc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_tc.png
--------------------------------------------------------------------------------
/src/images/logo/logo_tj.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_tj.png
--------------------------------------------------------------------------------
/src/images/logo/logo_ty.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_ty.png
--------------------------------------------------------------------------------
/src/images/logo/logo_tz.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_tz.png
--------------------------------------------------------------------------------
/src/images/logo/logo_wh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_wh.png
--------------------------------------------------------------------------------
/src/images/logo/logo_wl.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_wl.png
--------------------------------------------------------------------------------
/src/images/logo/logo_wu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_wu.png
--------------------------------------------------------------------------------
/src/images/logo/logo_wx.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_wx.png
--------------------------------------------------------------------------------
/src/images/logo/logo_wz.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_wz.png
--------------------------------------------------------------------------------
/src/images/logo/logo_xa.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_xa.png
--------------------------------------------------------------------------------
/src/images/logo/logo_xm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_xm.png
--------------------------------------------------------------------------------
/src/images/logo/logo_xz.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_xz.png
--------------------------------------------------------------------------------
/src/images/logo/logo_zz.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/metromancn/MetroMapOpenMiniProgram/HEAD/src/images/logo/logo_zz.png
--------------------------------------------------------------------------------
/src/pages/map/map.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {},
3 | "navigationBarTitleText": "地图",
4 | "disableScroll": true
5 | }
--------------------------------------------------------------------------------
/src/libs/vant/cell/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index"
5 | }
6 | }
--------------------------------------------------------------------------------
/src/libs/vant/common/color.js:
--------------------------------------------------------------------------------
1 | export const RED = '#f44';
2 | export const BLUE = '#1989fa';
3 | export const GREEN = '#07c160';
4 |
--------------------------------------------------------------------------------
/src/pages/station/station.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {},
3 | "navigationBarTitleText": "车站",
4 | "disableScroll": true
5 | }
--------------------------------------------------------------------------------
/src/libs/vant/badge-group/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/src/libs/vant/badge/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-info": "../info/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/libs/vant/card/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-tag": "../tag/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/libs/vant/icon/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-info": "../info/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/libs/vant/notice-bar/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index"
5 | }
6 | }
--------------------------------------------------------------------------------
/src/libs/vant/panel/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-cell": "../cell/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/libs/vant/radio/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/libs/vant/rate/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/libs/vant/steps/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/libs/vant/tabs/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-info": "../info/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/libs/vant/area/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-picker": "../picker/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/libs/vant/button/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-loading": "../loading/index"
5 | }
6 | }
--------------------------------------------------------------------------------
/src/libs/vant/checkbox/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/libs/vant/nav-bar/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/libs/vant/checkbox-group/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/libs/vant/collapse-item/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-cell": "../cell/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/libs/vant/popup/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-overlay": "../overlay/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/libs/vant/radio-group/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/libs/vant/submit-bar/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-button": "../button/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/libs/vant/switch/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-loading": "../loading/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/libs/vant/collapse/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/src/libs/vant/datetime-picker/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-picker": "../picker/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/libs/vant/notify/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-transition": "../transition/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/libs/vant/overlay/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-transition": "../transition/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/libs/vant/cell-group/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-cell-group__title{font-size:14px;padding:15px 15px 5px;color:#999;line-height:16px}
--------------------------------------------------------------------------------
/src/libs/vant/common/color.d.ts:
--------------------------------------------------------------------------------
1 | export declare const RED = "#f44";
2 | export declare const BLUE = "#1989fa";
3 | export declare const GREEN = "#07c160";
4 |
--------------------------------------------------------------------------------
/src/libs/vant/goods-action-button/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-button": "../button/index"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/src/pages/map/map.wxml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/libs/vant/panel/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-panel{background:#fff}.van-panel__header-value{color:#f44}.van-panel__footer{padding:10px 15px}
--------------------------------------------------------------------------------
/src/libs/vant/wxs/array.wxs:
--------------------------------------------------------------------------------
1 | function isArray(array) {
2 | return array && array.constructor === 'Array';
3 | }
4 |
5 | module.exports.isArray = isArray;
6 |
--------------------------------------------------------------------------------
/src/libs/vant/info/index.wxml:
--------------------------------------------------------------------------------
1 | {{ info }}
6 |
--------------------------------------------------------------------------------
/src/libs/vant/switch-cell/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-switch-cell{padding-top:9px;padding-bottom:9px}.van-switch-cell__switch{vertical-align:middle}
--------------------------------------------------------------------------------
/src/libs/vant/field/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-cell": "../cell/index",
5 | "van-icon": "../icon/index"
6 | }
7 | }
--------------------------------------------------------------------------------
/src/libs/vant/rate/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-rate{-webkit-user-select:none;user-select:none}.van-rate__item{width:1em;padding:0 2px;box-sizing:initial}
--------------------------------------------------------------------------------
/src/libs/vant/search/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index",
5 | "van-field": "../field/index"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/src/libs/vant/dialog/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-popup": "../popup/index",
5 | "van-button": "../button/index"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/src/libs/vant/tabbar-item/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index",
5 | "van-info": "../info/index"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/src/libs/vant/tree-select/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index",
5 | "van-cell": "../cell/index"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/src/libs/vant/switch-cell/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-cell": "../cell/index",
5 | "van-switch": "../switch/index"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/src/libs/vant/goods-action-icon/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index",
5 | "van-button": "../button/index"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/src/libs/vant/picker/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "picker-column": "../picker-column/index",
5 | "loading": "../loading/index"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/src/libs/vant/goods-action/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | import { iphonex } from '../mixins/iphonex';
3 | VantComponent({
4 | mixins: [iphonex]
5 | });
6 |
--------------------------------------------------------------------------------
/src/libs/vant/info/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | props: {
4 | info: null,
5 | customStyle: String
6 | }
7 | });
8 |
--------------------------------------------------------------------------------
/src/libs/vant/tab/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-tab__pane{box-sizing:border-box;overflow-y:auto}.van-tab__pane--active{height:auto}.van-tab__pane--inactive{height:0;overflow:visible}
--------------------------------------------------------------------------------
/src/sitemap.json:
--------------------------------------------------------------------------------
1 | {
2 | "desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html",
3 | "rules": [{
4 | "action": "allow",
5 | "page": "*"
6 | }]
7 | }
--------------------------------------------------------------------------------
/src/pages/station/station.wxss:
--------------------------------------------------------------------------------
1 | .van-tree-select__nitem--active:after {
2 | background-color: var(--mmColorButton) !important;
3 | }
4 |
5 | .van-search__content {
6 | background-color: white !important;
7 | }
--------------------------------------------------------------------------------
/src/libs/vant/action-sheet/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index",
5 | "van-popup": "../popup/index",
6 | "van-loading": "../loading/index"
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/src/libs/vant/goods-action/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/libs/vant/goods-action/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-goods-action{position:fixed;right:0;bottom:0;left:0;display:-webkit-flex;display:flex;background-color:#fff}.van-goods-action--safe{padding-bottom:34px}
--------------------------------------------------------------------------------
/src/libs/vant/notify/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-notify{position:fixed;top:0;z-index:110;width:100%;padding:6px 15px;font-size:14px;line-height:20px;text-align:center;word-break:break-all;box-sizing:border-box}
--------------------------------------------------------------------------------
/src/libs/vant/notify/notify.d.ts:
--------------------------------------------------------------------------------
1 | declare type NotifyOptions = {
2 | selector?: string;
3 | duration?: number;
4 | context?: any;
5 | };
6 | export default function Notify(options?: NotifyOptions): void;
7 | export {};
8 |
--------------------------------------------------------------------------------
/src/templates/info/info_header.wxml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
--------------------------------------------------------------------------------
/src/libs/vant/tabbar/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-tabbar{display:-webkit-flex;display:flex;width:100%;height:50px;background-color:#fff}.van-tabbar--fixed{position:fixed;bottom:0;left:0}.van-tabbar--safe{padding-bottom:34px}
--------------------------------------------------------------------------------
/src/templates/info/info_split.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/src/libs/vant/col/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/libs/vant/notify/index.wxml:
--------------------------------------------------------------------------------
1 |
7 | {{ text }}
8 |
9 |
--------------------------------------------------------------------------------
/src/libs/vant/cell-group/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | props: {
4 | title: String,
5 | border: {
6 | type: Boolean,
7 | value: true
8 | }
9 | }
10 | });
11 |
--------------------------------------------------------------------------------
/src/libs/vant/cell-group/index.wxml:
--------------------------------------------------------------------------------
1 |
5 | {{ title }}
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/libs/vant/tag/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/libs/vant/toast/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 | "van-icon": "../icon/index",
5 | "van-loading": "../loading/index",
6 | "van-overlay": "../overlay/index",
7 | "van-transition": "../transition/index"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/src/libs/vant/common/component.d.ts:
--------------------------------------------------------------------------------
1 | declare function VantComponent(vantOptions?: VantComponentOptions>): void;
2 | export { VantComponent };
3 |
--------------------------------------------------------------------------------
/src/libs/vant/common/utils.d.ts:
--------------------------------------------------------------------------------
1 | declare function isDef(value: any): boolean;
2 | declare function isObj(x: any): boolean;
3 | declare function isNumber(value: any): boolean;
4 | declare function range(num: number, min: number, max: number): number;
5 | export { isObj, isDef, isNumber, range };
6 |
--------------------------------------------------------------------------------
/src/libs/vant/picker-column/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-picker-column{overflow:hidden;font-size:16px;text-align:center}.van-picker-column__item{padding:0 5px;color:#999}.van-picker-column__item--selected{font-weight:500;color:#333}.van-picker-column__item--disabled{opacity:.3}
--------------------------------------------------------------------------------
/src/libs/vant/tabbar/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/libs/vant/panel/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | classes: ['header-class', 'footer-class'],
4 | props: {
5 | desc: String,
6 | title: String,
7 | status: String,
8 | useFooterSlot: Boolean
9 | }
10 | });
11 |
--------------------------------------------------------------------------------
/src/libs/vant/overlay/index.wxml:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/src/libs/vant/common/style/ellipsis.wxss:
--------------------------------------------------------------------------------
1 | .van-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.van-multi-ellipsis--l2{-webkit-line-clamp:2}.van-multi-ellipsis--l2,.van-multi-ellipsis--l3{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical}.van-multi-ellipsis--l3{-webkit-line-clamp:3}
--------------------------------------------------------------------------------
/src/libs/vant/wxs/object.wxs:
--------------------------------------------------------------------------------
1 | /* eslint-disable */
2 | var REGEXP = getRegExp('{|}|"', 'g');
3 |
4 | function keys(obj) {
5 | return JSON.stringify(obj)
6 | .replace(REGEXP, '')
7 | .split(',')
8 | .map(function(item) {
9 | return item.split(':')[0];
10 | });
11 | }
12 |
13 | module.exports.keys = keys;
14 |
--------------------------------------------------------------------------------
/src/templates/info/info_time.wxss:
--------------------------------------------------------------------------------
1 | .layout-time {
2 | position: relative;
3 | width: 100%;
4 | height: 20px;
5 | }
6 |
7 | .time-box {
8 | position: absolute;
9 | left: 92px;
10 | right: 0px;
11 | top: 0px;
12 | bottom: 0px;
13 | }
14 |
15 | .time-text {
16 | line-height: 20px;
17 | color: var(--mmColorTextSecond);
18 | }
19 |
20 |
--------------------------------------------------------------------------------
/src/libs/vant/tab/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/libs/vant/transition/index.wxml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/src/libs/vant/wxs/utils.wxs:
--------------------------------------------------------------------------------
1 | var bem = require('./bem.wxs').bem;
2 | var memoize = require('./memoize.wxs').memoize;
3 |
4 | function isSrc(url) {
5 | return url.indexOf('http') === 0 || url.indexOf('data:image') === 0 || url.indexOf('//') === 0;
6 | }
7 |
8 | module.exports = {
9 | bem: memoize(bem),
10 | isSrc: isSrc,
11 | memoize: memoize
12 | };
13 |
--------------------------------------------------------------------------------
/src/libs/vant/swipe-cell/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-swipe-cell{position:relative;overflow:hidden}.van-swipe-cell__left,.van-swipe-cell__right{position:absolute;top:0;height:100%}.van-swipe-cell__left{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.van-swipe-cell__right{right:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}
--------------------------------------------------------------------------------
/src/libs/vant/goods-action-icon/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-goods-action-icon{width:50px!important;border:none!important}.van-goods-action-icon__content{display:-webkit-flex;display:flex;height:100%;font-size:10px;line-height:1;color:#7d7e80;-webkit-flex-direction:column;flex-direction:column;-webkit-justify-content:center;justify-content:center}.van-goods-action-icon__icon{margin-bottom:4px}
--------------------------------------------------------------------------------
/src/libs/vant/transition/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | import { transition } from '../mixins/transition';
3 | VantComponent({
4 | classes: [
5 | 'enter-class',
6 | 'enter-active-class',
7 | 'enter-to-class',
8 | 'leave-class',
9 | 'leave-active-class',
10 | 'leave-to-class'
11 | ],
12 | mixins: [transition(true)]
13 | });
14 |
--------------------------------------------------------------------------------
/src/libs/vant/loading/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | props: {
4 | size: {
5 | type: String,
6 | value: '30px'
7 | },
8 | type: {
9 | type: String,
10 | value: 'circular'
11 | },
12 | color: {
13 | type: String,
14 | value: '#c9c9c9'
15 | }
16 | }
17 | });
18 |
--------------------------------------------------------------------------------
/src/libs/vant/progress/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
11 | {{ text }}
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/src/libs/vant/loading/index.wxml:
--------------------------------------------------------------------------------
1 |
5 |
9 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/src/libs/vant/common/utils.js:
--------------------------------------------------------------------------------
1 | function isDef(value) {
2 | return value !== undefined && value !== null;
3 | }
4 | function isObj(x) {
5 | const type = typeof x;
6 | return x !== null && (type === 'object' || type === 'function');
7 | }
8 | function isNumber(value) {
9 | return /^\d+$/.test(value);
10 | }
11 | function range(num, min, max) {
12 | return Math.min(Math.max(num, min), max);
13 | }
14 | export { isObj, isDef, isNumber, range };
15 |
--------------------------------------------------------------------------------
/src/libs/vant/mixins/link.js:
--------------------------------------------------------------------------------
1 | export const link = Behavior({
2 | properties: {
3 | url: String,
4 | linkType: {
5 | type: String,
6 | value: 'navigateTo'
7 | }
8 | },
9 | methods: {
10 | jumpLink(urlKey = 'url') {
11 | const url = this.data[urlKey];
12 | if (url) {
13 | wx[this.data.linkType]({ url });
14 | }
15 | }
16 | }
17 | });
18 |
--------------------------------------------------------------------------------
/src/libs/vant/info/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-info{position:absolute;top:-8px;right:0;min-width:16px;padding:0 3px;font-family:PingFang SC,Helvetica Neue,Arial,sans-serif;font-size:12px;font-weight:500;line-height:14px;color:#fff;text-align:center;white-space:nowrap;background-color:#f44;border:1px solid #fff;border-radius:16px;-webkit-transform:translateX(50%);transform:translateX(50%);box-sizing:border-box;-webkit-transform-origin:100%;transform-origin:100%}
--------------------------------------------------------------------------------
/src/libs/vant/datetime-picker/index.wxml:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/src/libs/vant/tag/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-tag{color:#fff;font-size:10px;padding:.2em .5em;line-height:normal;border-radius:.2em;display:inline-block}.van-tag:after{border-color:currentColor;border-radius:.4em}.van-tag--mark{padding-right:.6em;border-radius:0 .8em .8em 0}.van-tag--mark:after{border-radius:0 1.6em 1.6em 0}.van-tag--round{border-radius:.8em}.van-tag--round:after{border-radius:1.6em}.van-tag--medium{font-size:12px}.van-tag--large{font-size:14px}
--------------------------------------------------------------------------------
/src/libs/vant/steps/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | import { GREEN } from '../common/color';
3 | VantComponent({
4 | props: {
5 | icon: String,
6 | steps: Array,
7 | active: Number,
8 | direction: {
9 | type: String,
10 | value: 'horizontal'
11 | },
12 | activeColor: {
13 | type: String,
14 | value: GREEN
15 | }
16 | }
17 | });
18 |
--------------------------------------------------------------------------------
/src/libs/vant/rate/index.wxml:
--------------------------------------------------------------------------------
1 |
5 |
16 |
17 |
--------------------------------------------------------------------------------
/src/libs/vant/badge/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 |
10 |
15 | {{ title }}
16 |
17 |
18 |
--------------------------------------------------------------------------------
/src/pages/map/map.js:
--------------------------------------------------------------------------------
1 | const app = getApp();
2 |
3 | Page({
4 | data: {
5 | station: '人民广场',
6 | latitude: '31.233771',
7 | longitude: '121.474482'
8 | },
9 |
10 | onLoad: function (options) {
11 | this.setData({
12 | station: options.station,
13 | latitude: options.latitude,
14 | longitude: options.longitude
15 | });
16 | },
17 |
18 | onReady: function () {
19 | wx.setNavigationBarTitle({ title: this.data.station });
20 | }
21 | })
--------------------------------------------------------------------------------
/src/templates/info/info_header.wxss:
--------------------------------------------------------------------------------
1 | .layout-header {
2 | position: relative;
3 | width: 100%;
4 | height: 40px;
5 | }
6 |
7 | .header-timetable {
8 | position: absolute;
9 | left: 0px;
10 | top: 10px;
11 | height: 20px;
12 | line-height: 20px;
13 | color: var(--mmColorTextSecond);
14 | }
15 |
16 | .header-line {
17 | position: absolute;
18 | left: 0px;
19 | right: 0px;
20 | bottom: 0px;
21 | height: 1px;
22 | background: var(--mmColorLine);
23 | }
24 |
25 |
--------------------------------------------------------------------------------
/src/libs/vant/icon/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | props: {
4 | info: null,
5 | name: String,
6 | size: String,
7 | color: String,
8 | customStyle: String,
9 | classPrefix: {
10 | type: String,
11 | value: 'van-icon'
12 | }
13 | },
14 | methods: {
15 | onClick() {
16 | this.$emit('click');
17 | }
18 | }
19 | });
20 |
--------------------------------------------------------------------------------
/src/templates/info/info_split.wxss:
--------------------------------------------------------------------------------
1 | .layout-split {
2 | position: relative;
3 | margin-top: 10px;
4 | width: 100%;
5 | height: 1px;
6 | }
7 |
8 | .split-line {
9 | position: absolute;
10 | left: 0px;
11 | right: 0px;
12 | top: 0px;
13 | bottom: 0px;
14 | background: var(--mmColorLine);
15 | }
16 |
17 | .split-way {
18 | position: absolute;
19 | left: 92px;
20 | right: 0px;
21 | top: 0px;
22 | bottom: 0px;
23 | background: var(--mmColorLine);
24 | }
25 |
26 |
--------------------------------------------------------------------------------
/src/pages/station/station.wxml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/src/libs/vant/switch/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/src/libs/vant/mixins/button.js:
--------------------------------------------------------------------------------
1 | export const button = Behavior({
2 | externalClasses: ['hover-class'],
3 | properties: {
4 | id: String,
5 | lang: {
6 | type: String,
7 | value: 'en'
8 | },
9 | businessId: Number,
10 | sessionFrom: String,
11 | sendMessageTitle: String,
12 | sendMessagePath: String,
13 | sendMessageImg: String,
14 | showMessageCard: Boolean,
15 | appParameter: String,
16 | ariaLabel: String
17 | }
18 | });
19 |
--------------------------------------------------------------------------------
/src/templates/info/info_time.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {{Time.Title}}
6 | 首 {{Time.First}}
7 | |
8 | 末 {{Time.Last}}
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/src/libs/vant/switch-cell/index.wxml:
--------------------------------------------------------------------------------
1 |
7 |
19 |
20 |
--------------------------------------------------------------------------------
/src/libs/vant/icon/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
13 |
17 |
18 |
--------------------------------------------------------------------------------
/src/libs/vant/progress/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-progress{height:4px;position:relative;border-radius:4px;background:#e5e5e5}.van-progress__portion{left:0;height:100%;position:absolute;border-radius:inherit}.van-progress__portion--with-pivot{border-top-right-radius:0;border-bottom-right-radius:0}.van-progress__pivot{top:50%;right:0;min-width:2em;padding:0 5px;font-size:10px;position:absolute;line-height:1.6;text-align:center;border-radius:1em;word-break:keep-all;box-sizing:border-box;background-color:#e5e5e5;-webkit-transform:translate(100%,-50%);transform:translate(100%,-50%)}
--------------------------------------------------------------------------------
/src/libs/vant/overlay/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | props: {
4 | show: Boolean,
5 | mask: Boolean,
6 | customStyle: String,
7 | duration: {
8 | type: [Number, Object],
9 | value: 300
10 | },
11 | zIndex: {
12 | type: Number,
13 | value: 1
14 | }
15 | },
16 | methods: {
17 | onClick() {
18 | this.$emit('click');
19 | },
20 | // for prevent touchmove
21 | noop() { }
22 | }
23 | });
24 |
--------------------------------------------------------------------------------
/src/libs/vant/slider/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-slider{position:relative;border-radius:999px;background-color:#e5e5e5}.van-slider__bar{position:relative;border-radius:inherit;background-color:#1989fa}.van-slider__button{width:20px;height:20px;border-radius:50%;background-color:#fff;box-shadow:0 1px 2px rgba(0,0,0,.5)}.van-slider__button-wrapper{position:absolute;top:50%;right:0;-webkit-transform:translate3d(50%,-50%,0);transform:translate3d(50%,-50%,0)}.van-slider__button-wrapper:after{content:"";position:absolute;width:200%;height:200%;top:-50%;left:-50%}.van-slider--disabled{opacity:.3}
--------------------------------------------------------------------------------
/src/libs/vant/area/index.wxml:
--------------------------------------------------------------------------------
1 |
19 |
--------------------------------------------------------------------------------
/src/libs/vant/badge/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-badge{display:block;padding:20px 12px 20px 9px;overflow:hidden;font-size:14px;line-height:1.4;color:#7d7e80;word-break:break-all;background-color:#f8f8f8;border-left:3px solid transparent;box-sizing:border-box;-webkit-user-select:none;user-select:none}.van-badge--hover{background-color:#f2f3f5}.van-badge:after{border-bottom-width:1px}.van-badge--active{font-weight:700;color:#333;border-color:#f44}.van-badge--active:after{border-right-width:1px}.van-badge--active,.van-badge--active.van-badge--hover{background-color:#fff}.van-badge__text{position:relative}
--------------------------------------------------------------------------------
/src/libs/vant/panel/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
19 |
20 |
--------------------------------------------------------------------------------
/src/libs/vant/badge/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | relation: {
4 | type: 'ancestor',
5 | name: 'badge-group'
6 | },
7 | props: {
8 | info: null,
9 | title: String
10 | },
11 | methods: {
12 | onClick() {
13 | const group = this.getRelationNodes('../badge-group/index')[0];
14 | if (group) {
15 | group.setActive(this);
16 | }
17 | },
18 | setActive(active) {
19 | this.set({ active });
20 | }
21 | }
22 | });
23 |
--------------------------------------------------------------------------------
/src/templates/info/info_footer.wxml:
--------------------------------------------------------------------------------
1 |
2 |
14 |
--------------------------------------------------------------------------------
/src/libs/vant/collapse-item/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-collapse-item__title .van-cell__right-icon{-webkit-transform:rotate(90deg);transform:rotate(90deg);transition:.3s}.van-collapse-item__title--expanded .van-cell__right-icon{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.van-collapse-item__title--disabled .van-cell,.van-collapse-item__title--disabled .van-cell__right-icon{color:#c9c9c9!important}.van-collapse-item__title--disabled .van-cell--hover{background-color:#fff!important}.van-collapse-item__wrapper{overflow:hidden}.van-collapse-item__content{padding:15px;font-size:13px;line-height:1.5;color:#999;background-color:#fff}
--------------------------------------------------------------------------------
/src/libs/vant/tabbar-item/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';:host{-webkit-flex:1;flex:1}.van-tabbar-item{color:#7d7e80;height:100%;display:-webkit-flex;display:flex;line-height:1;font-size:12px;-webkit-align-items:center;align-items:center;-webkit-flex-direction:column;flex-direction:column;-webkit-justify-content:center;justify-content:center}.van-tabbar-item__icon{font-size:18px;margin-bottom:5px;position:relative}.van-tabbar-item__icon--dot:after{top:0;right:-8px;width:8px;height:8px;content:" ";position:absolute;border-radius:100%;background-color:#f44}.van-tabbar-item__icon image{width:30px;height:18px;display:block}.van-tabbar-item--active{color:#1989fa}
--------------------------------------------------------------------------------
/src/libs/vant/col/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | relation: {
4 | name: 'row',
5 | type: 'ancestor'
6 | },
7 | props: {
8 | span: Number,
9 | offset: Number
10 | },
11 | data: {
12 | style: ''
13 | },
14 | methods: {
15 | setGutter(gutter) {
16 | const padding = `${gutter / 2}px`;
17 | const style = gutter ? `padding-left: ${padding}; padding-right: ${padding};` : '';
18 | if (style !== this.data.style) {
19 | this.set({ style });
20 | }
21 | }
22 | }
23 | });
24 |
--------------------------------------------------------------------------------
/src/libs/vant/goods-action-button/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | import { link } from '../mixins/link';
3 | import { button } from '../mixins/button';
4 | import { openType } from '../mixins/open-type';
5 | VantComponent({
6 | mixins: [link, button, openType],
7 | props: {
8 | text: String,
9 | loading: Boolean,
10 | disabled: Boolean,
11 | type: {
12 | type: String,
13 | value: 'danger'
14 | }
15 | },
16 | methods: {
17 | onClick(event) {
18 | this.$emit('click', event.detail);
19 | this.jumpLink();
20 | }
21 | }
22 | });
23 |
--------------------------------------------------------------------------------
/src/libs/vant/goods-action-icon/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | import { link } from '../mixins/link';
3 | import { button } from '../mixins/button';
4 | import { openType } from '../mixins/open-type';
5 | VantComponent({
6 | classes: ['icon-class', 'text-class'],
7 | mixins: [link, button, openType],
8 | props: {
9 | text: String,
10 | info: String,
11 | icon: String,
12 | disabled: Boolean,
13 | loading: Boolean
14 | },
15 | methods: {
16 | onClick(event) {
17 | this.$emit('click', event.detail);
18 | this.jumpLink();
19 | }
20 | }
21 | });
22 |
--------------------------------------------------------------------------------
/src/libs/vant/notice-bar/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-notice-bar{display:-webkit-flex;display:flex;height:40px;padding:0 15px;font-size:14px;line-height:24px;-webkit-align-items:center;align-items:center}.van-notice-bar--within-icon{position:relative;padding-right:40px}.van-notice-bar__left-icon{height:18px;min-width:20px;box-sizing:border-box}.van-notice-bar__left-icon>image{width:16px;height:16px}.van-notice-bar__right-icon{position:absolute;top:10px;right:15px;font-size:16px}.van-notice-bar__content-wrap{position:relative;height:24px;overflow:hidden;-webkit-flex:1;flex:1}.van-notice-bar__content{position:absolute;white-space:nowrap}.van-notice-bar__content.van-ellipsis{max-width:100%}
--------------------------------------------------------------------------------
/src/libs/vant/switch/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-switch{display:inline-block;position:relative;width:2em;border:1px solid rgba(0,0,0,.1);border-radius:1em;box-sizing:initial;transition:background-color .3s}.van-switch,.van-switch__node{height:1em;background-color:#fff}.van-switch__node{top:0;left:0;position:absolute;border-radius:100%;width:1em;z-index:1;transition:.3s;box-shadow:0 3px 1px 0 rgba(0,0,0,.05),0 2px 2px 0 rgba(0,0,0,.1),0 3px 3px 0 rgba(0,0,0,.05)}.van-switch__loading{top:25%;left:25%;position:absolute!important}.van-switch--on{background-color:#1989fa}.van-switch--on .van-switch__node{-webkit-transform:translateX(1em);transform:translateX(1em)}.van-switch--disabled{opacity:.4}
--------------------------------------------------------------------------------
/src/libs/vant/submit-bar/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-submit-bar{z-index:100;position:fixed;bottom:0;left:0;width:100%;-webkit-user-select:none;user-select:none}.van-submit-bar__tip{padding:10px;color:#f56723;font-size:12px;line-height:18px;background-color:#fff7cc}.van-submit-bar__bar{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;height:50px;background-color:#fff;font-size:14px}.van-submit-bar__bar--safe{padding-bottom:34px}.van-submit-bar__text{-webkit-flex:1;flex:1;color:#333;font-weight:500;text-align:right}.van-submit-bar__price{color:#f44;font-size:18px;padding-right:12px}.van-submit-bar__currency{font-size:14px}.van-submit-bar__button button{width:110px}
--------------------------------------------------------------------------------
/src/libs/vant/radio/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-radio{overflow:hidden;line-height:1;-webkit-user-select:none;user-select:none}.van-radio__input,.van-radio__label{display:inline-block;vertical-align:middle}.van-radio__input{position:relative;font-size:20px}.van-radio__control{z-index:1;position:absolute;top:0;left:0;width:100%;height:100%;margin:0;opacity:0}.van-radio__label{margin-left:10px;color:#333;font-size:16px;line-height:20px}.van-radio__label--left{margin:0 10px 0 0;float:left}.van-radio__label:empty{margin:0}.van-radio__icon{pointer-events:none;display:block;line-height:0}.van-radio__icon--disabled{color:#e5e5e5}.van-radio__icon--checked{color:#1989fa}.van-radio__icon--check{color:#c9c9c9}
--------------------------------------------------------------------------------
/src/libs/vant/swipe-cell/index.wxml:
--------------------------------------------------------------------------------
1 |
10 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/src/libs/vant/nav-bar/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | classes: ['title-class'],
4 | props: {
5 | title: String,
6 | fixed: Boolean,
7 | leftText: String,
8 | rightText: String,
9 | leftArrow: Boolean,
10 | border: {
11 | type: Boolean,
12 | value: true
13 | },
14 | zIndex: {
15 | type: Number,
16 | value: 1
17 | }
18 | },
19 | methods: {
20 | onClickLeft() {
21 | this.$emit('click-left');
22 | },
23 | onClickRight() {
24 | this.$emit('click-right');
25 | }
26 | }
27 | });
28 |
--------------------------------------------------------------------------------
/src/libs/vant/mixins/observer/props.js:
--------------------------------------------------------------------------------
1 | export function observeProps(props) {
2 | if (!props) {
3 | return;
4 | }
5 | Object.keys(props).forEach(key => {
6 | let prop = props[key];
7 | if (prop === null || !('type' in prop)) {
8 | prop = { type: prop };
9 | }
10 | let { observer } = prop;
11 | prop.observer = function () {
12 | if (observer) {
13 | if (typeof observer === 'string') {
14 | observer = this[observer];
15 | }
16 | observer.apply(this, arguments);
17 | }
18 | this.set();
19 | };
20 | props[key] = prop;
21 | });
22 | }
23 |
--------------------------------------------------------------------------------
/src/libs/vant/nav-bar/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-nav-bar{position:relative;height:46px;line-height:46px;text-align:center;background-color:#fff;-webkit-user-select:none;user-select:none}.van-nav-bar__text{display:inline-block;padding:0 15px;margin:0 -15px;color:#1989fa;vertical-align:middle}.van-nav-bar__text--hover{background-color:#f2f3f5}.van-nav-bar__arrow{color:#1989fa;vertical-align:middle}.van-nav-bar__arrow+.van-nav-bar__text{padding-left:25px;margin-left:-20px}.van-nav-bar--fixed{position:fixed;top:0;left:0;width:100%}.van-nav-bar__title{max-width:60%;margin:0 auto;font-size:16px;font-weight:500}.van-nav-bar__left,.van-nav-bar__right{position:absolute;bottom:0;font-size:14px}.van-nav-bar__left{left:15px}.van-nav-bar__right{right:15px}
--------------------------------------------------------------------------------
/src/libs/vant/popup/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
12 |
20 |
--------------------------------------------------------------------------------
/src/pages/plan/plan.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/src/pages/plan/plan.wxss:
--------------------------------------------------------------------------------
1 | .metro-image {
2 | width: 100%;
3 | }
4 |
5 | .map-full {
6 | position: absolute;
7 | right: 16px;
8 | top: 16px;
9 | width: 40px;
10 | height: 40px;
11 | border-radius: 20px;
12 | box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.16);
13 | -webkit-box-shadow:0px 2px 8px 0px rgba(0, 0, 0, 0.16);
14 | }
15 |
16 | /* footer */
17 | .footer-layout {
18 | position:relative;
19 | margin-top: 16px;
20 | width: 100%;
21 | height: 96px;
22 | }
23 |
24 | .footer-button {
25 | display: flex;
26 | width: 80px;
27 | height: 100%;
28 | margin: 0px;
29 | padding: 0px;
30 | flex-direction: column;
31 | align-items: center;
32 | background: var(--mmColorPageBack);
33 | }
34 |
35 | /* common */
36 | button::after {
37 | border: none;
38 | }
--------------------------------------------------------------------------------
/src/pages/metro/metro.wxss:
--------------------------------------------------------------------------------
1 | .metro-image {
2 | width: 100%;
3 | }
4 |
5 | .map-full {
6 | position: absolute;
7 | right: 16px;
8 | top: 16px;
9 | width: 40px;
10 | height: 40px;
11 | border-radius: 20px;
12 | box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.16);
13 | -webkit-box-shadow:0px 2px 8px 0px rgba(0, 0, 0, 0.16);
14 | }
15 |
16 | /* footer */
17 | .footer-layout {
18 | position:relative;
19 | margin-top: 16px;
20 | width: 100%;
21 | height: 96px;
22 | }
23 |
24 | .footer-button {
25 | display: flex;
26 | width: 80px;
27 | height: 100%;
28 | margin: 0px;
29 | padding: 0px;
30 | flex-direction: column;
31 | align-items: center;
32 | background: var(--mmColorPageBack);
33 | }
34 |
35 | /* common */
36 | button::after {
37 | border: none;
38 | }
--------------------------------------------------------------------------------
/src/libs/vant/mixins/basic.js:
--------------------------------------------------------------------------------
1 | export const basic = Behavior({
2 | methods: {
3 | $emit() {
4 | this.triggerEvent.apply(this, arguments);
5 | },
6 | getRect(selector, all) {
7 | return new Promise(resolve => {
8 | wx.createSelectorQuery()
9 | .in(this)[all ? 'selectAll' : 'select'](selector)
10 | .boundingClientRect(rect => {
11 | if (all && Array.isArray(rect) && rect.length) {
12 | resolve(rect);
13 | }
14 | if (!all && rect) {
15 | resolve(rect);
16 | }
17 | })
18 | .exec();
19 | });
20 | }
21 | }
22 | });
23 |
--------------------------------------------------------------------------------
/src/libs/vant/checkbox/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/src/libs/vant/mixins/open-type.js:
--------------------------------------------------------------------------------
1 | export const openType = Behavior({
2 | properties: {
3 | openType: String
4 | },
5 | methods: {
6 | bindGetUserInfo(event) {
7 | this.$emit('getuserinfo', event.detail);
8 | },
9 | bindContact(event) {
10 | this.$emit('contact', event.detail);
11 | },
12 | bindGetPhoneNumber(event) {
13 | this.$emit('getphonenumber', event.detail);
14 | },
15 | bindError(event) {
16 | this.$emit('error', event.detail);
17 | },
18 | bindLaunchApp(event) {
19 | this.$emit('launchapp', event.detail);
20 | },
21 | bindOpenSetting(event) {
22 | this.$emit('opensetting', event.detail);
23 | },
24 | }
25 | });
26 |
--------------------------------------------------------------------------------
/src/libs/vant/slider/index.wxml:
--------------------------------------------------------------------------------
1 |
6 |
10 |
17 |
21 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/src/libs/vant/tabbar-item/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | props: {
4 | info: null,
5 | icon: String,
6 | dot: Boolean
7 | },
8 | relation: {
9 | name: 'tabbar',
10 | type: 'ancestor'
11 | },
12 | data: {
13 | active: false
14 | },
15 | methods: {
16 | onClick() {
17 | const parent = this.getRelationNodes('../tabbar/index')[0];
18 | if (parent) {
19 | parent.onChange(this);
20 | }
21 | this.$emit('click');
22 | },
23 | setActive({ active, color }) {
24 | if (this.data.active !== active) {
25 | this.set({ active, color });
26 | }
27 | }
28 | }
29 | });
30 |
--------------------------------------------------------------------------------
/src/libs/vant/checkbox/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-checkbox{overflow:hidden;-webkit-user-select:none;user-select:none}.van-checkbox__icon-wrap,.van-checkbox__label{display:inline-block;line-height:20px;vertical-align:middle}.van-checkbox__icon{display:block;font-size:14px;width:20px;height:20px;color:transparent;text-align:center;box-sizing:border-box;border:1px solid #e5e5e5;transition:.2s}.van-checkbox__icon--round{border-radius:100%}.van-checkbox__icon--checked{color:#fff;border-color:#1989fa;background-color:#1989fa}.van-checkbox__icon--disabled{border-color:#c9c9c9;background-color:#eee}.van-checkbox__icon--disabled.van-checkbox__icon--checked{color:#c9c9c9}.van-checkbox__label{color:#333;margin-left:10px}.van-checkbox__label--left{float:left;margin:0 10px 0 0}.van-checkbox__label--disabled{color:#c9c9c9}.van-checkbox__label:empty{margin:0}
--------------------------------------------------------------------------------
/src/libs/vant/notify/notify.js:
--------------------------------------------------------------------------------
1 | import { isObj } from '../common/utils';
2 | const defaultOptions = {
3 | selector: '#van-notify',
4 | duration: 3000
5 | };
6 | function parseOptions(text) {
7 | return isObj(text) ? text : { text };
8 | }
9 | function getContext() {
10 | const pages = getCurrentPages();
11 | return pages[pages.length - 1];
12 | }
13 | export default function Notify(options = {}) {
14 | options = Object.assign({}, defaultOptions, parseOptions(options));
15 | const context = options.context || getContext();
16 | const notify = context.selectComponent(options.selector);
17 | delete options.selector;
18 | if (notify) {
19 | notify.set(options);
20 | notify.show();
21 | }
22 | else {
23 | console.warn('未找到 van-notify 节点,请确认 selector 及 context 是否正确');
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/src/libs/vant/tabbar-item/index.wxml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
12 |
13 |
17 |
18 |
19 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/src/app.json:
--------------------------------------------------------------------------------
1 | {
2 | "pages": [
3 | "pages/index/index",
4 | "pages/metro/metro",
5 | "pages/station/station",
6 | "pages/info/info",
7 | "pages/map/map",
8 | "pages/plan/plan"
9 | ],
10 | "window": {
11 | "backgroundTextStyle": "light",
12 | "navigationBarBackgroundColor": "#FAFAFA",
13 | "navigationBarTitleText": "地铁图",
14 | "navigationBarTextStyle": "black"
15 | },
16 | "usingComponents": {
17 | "van-search": "libs/vant/search/index",
18 | "van-tree-select": "libs/vant/tree-select/index",
19 | "van-toast": "libs/vant/toast/index"
20 | },
21 | "navigateToMiniProgramAppIdList": [
22 | "wx3c618f2bd6a9d2f7",
23 | "wx3297af3953a7312a"
24 | ],
25 | "permission": {
26 | "scope.userLocation": {
27 | "desc": "你的位置信息将用于推荐附近车站"
28 | }
29 | },
30 | "sitemapLocation": "sitemap.json"
31 | }
--------------------------------------------------------------------------------
/src/libs/vant/mixins/touch.js:
--------------------------------------------------------------------------------
1 | export const touch = Behavior({
2 | methods: {
3 | touchStart(event) {
4 | this.direction = '';
5 | this.deltaX = 0;
6 | this.deltaY = 0;
7 | this.offsetX = 0;
8 | this.offsetY = 0;
9 | this.startX = event.touches[0].clientX;
10 | this.startY = event.touches[0].clientY;
11 | },
12 | touchMove(event) {
13 | const touch = event.touches[0];
14 | this.deltaX = touch.clientX - this.startX;
15 | this.deltaY = touch.clientY - this.startY;
16 | this.offsetX = Math.abs(this.deltaX);
17 | this.offsetY = Math.abs(this.deltaY);
18 | this.direction = this.offsetX > this.offsetY ? 'horizontal' : this.offsetX < this.offsetY ? 'vertical' : '';
19 | }
20 | }
21 | });
22 |
--------------------------------------------------------------------------------
/src/libs/vant/toast/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | props: {
4 | show: Boolean,
5 | mask: Boolean,
6 | message: String,
7 | forbidClick: Boolean,
8 | zIndex: {
9 | type: Number,
10 | value: 1000
11 | },
12 | type: {
13 | type: String,
14 | value: 'text'
15 | },
16 | loadingType: {
17 | type: String,
18 | value: 'circular'
19 | },
20 | position: {
21 | type: String,
22 | value: 'middle'
23 | }
24 | },
25 | methods: {
26 | clear() {
27 | this.set({
28 | show: false
29 | });
30 | },
31 | // for prevent touchmove
32 | noop() { }
33 | }
34 | });
35 |
--------------------------------------------------------------------------------
/src/libs/vant/goods-action-button/index.wxml:
--------------------------------------------------------------------------------
1 |
26 | {{ text }}
27 |
28 |
--------------------------------------------------------------------------------
/src/libs/vant/search/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-search{padding:10px 16px;-webkit-align-items:center;align-items:center;box-sizing:border-box}.van-search,.van-search__content{display:-webkit-flex;display:flex}.van-search__content{padding-left:10px;background-color:#f7f8fa;border-radius:2px;-webkit-flex:1;flex:1}.van-search__content--round{border-radius:17px}.van-search__label{padding:0 5px;font-size:14px;line-height:34px;color:#333}.van-search__field{-webkit-flex:1;flex:1}.van-search__field__left-icon{color:#999}.van-search--withaction{padding-right:0}.van-search input::-webkit-search-cancel-button,.van-search input::-webkit-search-decoration,.van-search input::-webkit-search-results-button,.van-search input::-webkit-search-results-decoration{display:none}.van-search__action{padding:0 10px;font-size:14px;line-height:34px;color:#333}.van-search__action--hover{background-color:#f2f3f5}
--------------------------------------------------------------------------------
/src/templates/info/info_way.wxss:
--------------------------------------------------------------------------------
1 | .layout-way {
2 | position: relative;
3 | width: 100%;
4 | height: 56px;
5 | }
6 |
7 | .way-line {
8 | position: absolute;
9 | left: 0px;
10 | top: 16px;
11 | height: 32px;
12 | border-radius: 4px;
13 | }
14 |
15 | .way-line-text {
16 | margin-left: 12px;
17 | margin-right: 12px;
18 | line-height: 20px;
19 | color: white;
20 | }
21 |
22 | .way-way {
23 | position: absolute;
24 | left: 92px;
25 | top: 12px;
26 | height: 20px;
27 | }
28 |
29 | .way-way-value {
30 | line-height: 20px;
31 | color: black;
32 | }
33 |
34 | .way-way-text {
35 | line-height: 20px;
36 | color: var(--mmColorTextSecond);
37 | }
38 |
39 | .way-time {
40 | position: absolute;
41 | left: 92px;
42 | top: 36px;
43 | height: 20px;
44 | }
45 |
46 | .way-text {
47 | line-height: 20px;
48 | color: var(--mmColorTextSecond);
49 | }
50 |
51 |
--------------------------------------------------------------------------------
/src/libs/vant/action-sheet/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-action-sheet{max-height:90%!important;color:#333}.van-action-sheet__cancel,.van-action-sheet__item{height:50px;font-size:16px;line-height:50px;text-align:center;background-color:#fff}.van-action-sheet__cancel--hover,.van-action-sheet__item--hover{background-color:#f2f3f5}.van-action-sheet__cancel{height:60px}.van-action-sheet__cancel:before{display:block;height:10px;background-color:#f8f8f8;content:" "}.van-action-sheet__item--disabled{color:#c9c9c9}.van-action-sheet__item--disabled.van-action-sheet__item--hover{background-color:#fff}.van-action-sheet__subname{margin-left:5px;font-size:12px;color:#7d7e80}.van-action-sheet__header{font-size:16px;font-weight:500;line-height:44px;text-align:center}.van-action-sheet__close{position:absolute!important;top:0;right:0;padding:0 15px;font-size:18px!important;line-height:inherit!important;color:#999}
--------------------------------------------------------------------------------
/src/libs/vant/common/style/hairline.wxss:
--------------------------------------------------------------------------------
1 | .van-hairline,.van-hairline--bottom,.van-hairline--left,.van-hairline--right,.van-hairline--surround,.van-hairline--top,.van-hairline--top-bottom{position:relative}.van-hairline--bottom:after,.van-hairline--left:after,.van-hairline--right:after,.van-hairline--surround:after,.van-hairline--top-bottom:after,.van-hairline--top:after,.van-hairline:after{content:" ";position:absolute;pointer-events:none;box-sizing:border-box;-webkit-transform-origin:center;transform-origin:center;top:-50%;left:-50%;right:-50%;bottom:-50%;-webkit-transform:scale(.5);transform:scale(.5);border:0 solid #eee}.van-hairline--top:after{border-top-width:1px}.van-hairline--left:after{border-left-width:1px}.van-hairline--right:after{border-right-width:1px}.van-hairline--bottom:after{border-bottom-width:1px}.van-hairline--top-bottom:after{border-width:1px 0}.van-hairline--surround:after{border-width:1px}
--------------------------------------------------------------------------------
/src/libs/vant/radio/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
12 |
13 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/src/libs/vant/tab/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | relation: {
4 | name: 'tabs',
5 | type: 'ancestor'
6 | },
7 | props: {
8 | dot: Boolean,
9 | info: null,
10 | title: String,
11 | disabled: Boolean,
12 | titleStyle: String
13 | },
14 | data: {
15 | width: null,
16 | inited: false,
17 | active: false,
18 | animated: false
19 | },
20 | watch: {
21 | title: 'update',
22 | disabled: 'update',
23 | dot: 'update',
24 | info: 'update',
25 | titleStyle: 'update'
26 | },
27 | methods: {
28 | update() {
29 | const parent = this.getRelationNodes('../tabs/index')[0];
30 | if (parent) {
31 | parent.updateTabs();
32 | }
33 | }
34 | }
35 | });
36 |
--------------------------------------------------------------------------------
/src/libs/vant/stepper/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
20 |
26 |
27 |
--------------------------------------------------------------------------------
/src/libs/vant/toast/toast.d.ts:
--------------------------------------------------------------------------------
1 | declare type ToastMessage = string | number;
2 | export declare type ToastOptions = {
3 | show?: boolean;
4 | type?: string;
5 | mask?: boolean;
6 | zIndex?: number;
7 | context?: any;
8 | position?: string;
9 | duration?: number;
10 | selector?: string;
11 | forbidClick?: boolean;
12 | loadingType?: string;
13 | message?: ToastMessage;
14 | };
15 | export interface Toast {
16 | (message: ToastOptions | ToastMessage, options?: ToastOptions): Weapp.Component;
17 | loading?(options?: ToastOptions | ToastMessage): Weapp.Component;
18 | success?(options?: ToastOptions | ToastMessage): Weapp.Component;
19 | fail?(options?: ToastOptions | ToastMessage): Weapp.Component;
20 | clear?(): void;
21 | setDefaultOptions?(options: ToastOptions): void;
22 | resetDefaultOptions?(): void;
23 | }
24 | declare const Toast: Toast;
25 | export default Toast;
26 |
--------------------------------------------------------------------------------
/src/libs/vant/tree-select/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-tree-select{position:relative;font-size:14px;-webkit-user-select:none;user-select:none}.van-tree-select__nav{position:absolute;top:0;bottom:0;left:0;width:35%;min-width:120px;background-color:#fafafa}.van-tree-select__nitem{position:relative;padding:0 9px 0 15px;line-height:44px}.van-tree-select__nitem--active:after{position:absolute;top:0;bottom:0;left:0;width:3.6px;background-color:#f44;content:""}.van-tree-select__nitem--active{font-weight:700;background-color:#fff}.van-tree-select__nitem--disabled{color:#999}.van-tree-select__content{width:65%;padding-left:15px;margin-left:35%;background-color:#fff;box-sizing:border-box}.van-tree-select__item{position:relative;font-weight:700;line-height:44px}.van-tree-select__item--active{color:#f44}.van-tree-select__item--disabled{color:#999}.van-tree-select__selected{position:absolute;top:0;right:15px;bottom:0;height:24px;margin:auto 0;line-height:24px}
--------------------------------------------------------------------------------
/src/libs/vant/toast/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-toast{display:-webkit-flex;display:flex;color:#fff;font-size:14px;line-height:20px;border-radius:4px;word-break:break-all;-webkit-align-items:center;align-items:center;-webkit-flex-direction:column;flex-direction:column;-webkit-justify-content:center;justify-content:center;box-sizing:initial;background-color:rgba(51,51,51,.88);white-space:pre-wrap}.van-toast__container{position:fixed;top:50%;left:50%;max-width:70%;width:-webkit-fit-content;width:fit-content;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.van-toast--text{padding:8px 12px;min-width:96px}.van-toast--icon{width:90px;padding:15px;min-height:90px}.van-toast--icon .van-toast__icon{font-size:48px}.van-toast--icon .van-toast__text{padding-top:5px}.van-toast__loading{margin:10px 0}.van-toast--top{-webkit-transform:translateY(-30vh);transform:translateY(-30vh)}.van-toast--bottom{-webkit-transform:translateY(30vh);transform:translateY(30vh)}
--------------------------------------------------------------------------------
/src/libs/vant/wxs/bem.wxs:
--------------------------------------------------------------------------------
1 | var array = require('./array.wxs');
2 | var object = require('./object.wxs');
3 | var PREFIX = 'van-';
4 |
5 | function join(name, mods) {
6 | name = PREFIX + name;
7 | mods = mods.map(function(mod) {
8 | return name + '--' + mod;
9 | });
10 | mods.unshift(name);
11 | return mods.join(' ');
12 | }
13 |
14 | function traversing(mods, conf) {
15 | if (!conf) {
16 | return;
17 | }
18 |
19 | if (typeof conf === 'string' || typeof conf === 'number') {
20 | mods.push(conf);
21 | } else if (array.isArray(conf)) {
22 | conf.forEach(function(item) {
23 | traversing(mods, item);
24 | });
25 | } else if (typeof conf === 'object') {
26 | object.keys(conf).forEach(function(key) {
27 | conf[key] && mods.push(key);
28 | });
29 | }
30 | }
31 |
32 | function bem(name, conf) {
33 | var mods = [];
34 | traversing(mods, conf);
35 | return join(name, mods);
36 | }
37 |
38 | module.exports.bem = bem;
39 |
--------------------------------------------------------------------------------
/src/libs/vant/cell/index.js:
--------------------------------------------------------------------------------
1 | import { link } from '../mixins/link';
2 | import { VantComponent } from '../common/component';
3 | VantComponent({
4 | classes: [
5 | 'title-class',
6 | 'label-class',
7 | 'value-class',
8 | 'right-icon-class',
9 | 'hover-class'
10 | ],
11 | mixins: [link],
12 | props: {
13 | title: null,
14 | value: null,
15 | icon: String,
16 | size: String,
17 | label: String,
18 | center: Boolean,
19 | isLink: Boolean,
20 | required: Boolean,
21 | clickable: Boolean,
22 | titleWidth: String,
23 | customStyle: String,
24 | arrowDirection: String,
25 | border: {
26 | type: Boolean,
27 | value: true
28 | }
29 | },
30 | methods: {
31 | onClick(event) {
32 | this.$emit('click', event.detail);
33 | this.jumpLink();
34 | }
35 | }
36 | });
37 |
--------------------------------------------------------------------------------
/src/pages/info/info.wxss:
--------------------------------------------------------------------------------
1 | @import '../../templates/info/info_header.wxss';
2 | @import '../../templates/info/info_way.wxss';
3 | @import '../../templates/info/info_time.wxss';
4 | @import '../../templates/info/info_split.wxss';
5 | @import '../../templates/info/info_footer.wxss';
6 |
7 | ::-webkit-scrollbar{
8 | width: 0;
9 | height: 0;
10 | color: transparent;
11 | }
12 |
13 | .layout-map {
14 | position: relative;
15 | margin-top: 16px;
16 | margin-bottom: 16px;
17 | width: 100%;
18 | height: 180px;
19 | }
20 |
21 | .map-map {
22 | position: absolute;
23 | left: 0px;
24 | right: 0px;
25 | width: 100%;
26 | height: 180px;
27 | border: solid 1px var(--mmColorLine);
28 | border-radius: 2px;
29 | }
30 |
31 | .map-full {
32 | position: absolute;
33 | right: 10px;
34 | top: 130px;
35 | width: 40px;
36 | height: 40px;
37 | border-radius: 20px;
38 | box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.16);
39 | -webkit-box-shadow:0px 2px 8px 0px rgba(0, 0, 0, 0.16);
40 | }
--------------------------------------------------------------------------------
/src/libs/vant/notice-bar/index.wxml:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
10 |
11 |
12 | {{ text }}
13 |
14 |
15 |
16 |
22 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/src/libs/vant/tag/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | import { RED, BLUE, GREEN } from '../common/color';
3 | const DEFAULT_COLOR = '#999';
4 | const COLOR_MAP = {
5 | danger: RED,
6 | primary: BLUE,
7 | success: GREEN
8 | };
9 | VantComponent({
10 | props: {
11 | size: String,
12 | type: String,
13 | mark: Boolean,
14 | color: String,
15 | plain: Boolean,
16 | round: Boolean,
17 | textColor: String
18 | },
19 | computed: {
20 | style() {
21 | const color = this.data.color || COLOR_MAP[this.data.type] || DEFAULT_COLOR;
22 | const key = this.data.plain ? 'color' : 'background-color';
23 | const style = { [key]: color };
24 | if (this.data.textColor) {
25 | style.color = this.data.textColor;
26 | }
27 | return Object.keys(style).map(key => `${key}: ${style[key]}`).join(';');
28 | }
29 | }
30 | });
31 |
--------------------------------------------------------------------------------
/src/templates/info/info_way.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {{Way.Line}}
6 |
7 |
8 |
9 |
10 | {{Way.Way}}
11 | 方向
12 |
13 |
14 |
15 |
16 | {{Way.Title}}
17 | 首 {{Way.First}}
18 | |
19 | 末 {{Way.Last}}
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/src/libs/vant/card/index.js:
--------------------------------------------------------------------------------
1 | import { link } from '../mixins/link';
2 | import { VantComponent } from '../common/component';
3 | VantComponent({
4 | classes: [
5 | 'num-class',
6 | 'desc-class',
7 | 'thumb-class',
8 | 'title-class',
9 | 'price-class',
10 | 'origin-price-class',
11 | ],
12 | mixins: [link],
13 | props: {
14 | tag: String,
15 | num: String,
16 | desc: String,
17 | thumb: String,
18 | title: String,
19 | price: String,
20 | centered: Boolean,
21 | lazyLoad: Boolean,
22 | thumbLink: String,
23 | originPrice: String,
24 | thumbMode: {
25 | type: String,
26 | value: 'aspectFit'
27 | },
28 | currency: {
29 | type: String,
30 | value: '¥'
31 | }
32 | },
33 | methods: {
34 | onClickThumb() {
35 | this.jumpLink('thumbLink');
36 | }
37 | }
38 | });
39 |
--------------------------------------------------------------------------------
/src/libs/vant/toast/index.wxml:
--------------------------------------------------------------------------------
1 |
7 |
12 |
16 |
17 | {{ message }}
18 |
19 |
20 |
21 |
27 |
28 | {{ message }}
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/src/libs/vant/dialog/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-dialog{width:85%;overflow:hidden;font-size:16px;background-color:#fff;border-radius:4px}.van-dialog__header{padding-top:25px;font-weight:500;text-align:center}.van-dialog__header--isolated{padding:25px 0}.van-dialog__message{max-height:60vh;padding:25px;overflow-y:auto;font-size:14px;line-height:1.5;text-align:center;-webkit-overflow-scrolling:touch}.van-dialog__message--has-title{padding-top:12px;color:#7d7e80}.van-dialog__message--left{text-align:left}.van-dialog__message--right{text-align:right}.van-dialog__footer{display:-webkit-flex;display:flex}.van-dialog__button{-webkit-flex:1;flex:1}.van-dialog__cancel,.van-dialog__confirm{border:0!important}.van-dialog__confirm{color:#1989fa!important}.van-dialog-bounce-enter{opacity:0;-webkit-transform:translate3d(-50%,-50%,0) scale(.7);transform:translate3d(-50%,-50%,0) scale(.7)}.van-dialog-bounce-leave-active{opacity:0;-webkit-transform:translate3d(-50%,-50%,0) scale(.9);transform:translate3d(-50%,-50%,0) scale(.9)}
--------------------------------------------------------------------------------
/src/libs/vant/mixins/observer/index.js:
--------------------------------------------------------------------------------
1 | import { behavior } from './behavior';
2 | import { observeProps } from './props';
3 | export function observe(vantOptions, options) {
4 | const { watch, computed } = vantOptions;
5 | options.behaviors.push(behavior);
6 | if (watch) {
7 | const props = options.properties || {};
8 | Object.keys(watch).forEach(key => {
9 | if (key in props) {
10 | let prop = props[key];
11 | if (prop === null || !('type' in prop)) {
12 | prop = { type: prop };
13 | }
14 | prop.observer = watch[key];
15 | props[key] = prop;
16 | }
17 | });
18 | options.properties = props;
19 | }
20 | if (computed) {
21 | options.methods = options.methods || {};
22 | options.methods.$options = () => vantOptions;
23 | if (options.properties) {
24 | observeProps(options.properties);
25 | }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/src/libs/vant/button/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | import { button } from '../mixins/button';
3 | import { openType } from '../mixins/open-type';
4 | VantComponent({
5 | mixins: [button, openType],
6 | classes: ['hover-class', 'loading-class'],
7 | props: {
8 | plain: Boolean,
9 | block: Boolean,
10 | round: Boolean,
11 | square: Boolean,
12 | loading: Boolean,
13 | disabled: Boolean,
14 | loadingText: String,
15 | type: {
16 | type: String,
17 | value: 'default'
18 | },
19 | size: {
20 | type: String,
21 | value: 'normal'
22 | },
23 | loadingSize: {
24 | type: String,
25 | value: '20px'
26 | }
27 | },
28 | methods: {
29 | onClick() {
30 | if (!this.data.disabled && !this.data.loading) {
31 | this.$emit('click');
32 | }
33 | }
34 | }
35 | });
36 |
--------------------------------------------------------------------------------
/src/libs/vant/switch-cell/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | field: true,
4 | props: {
5 | value: null,
6 | title: String,
7 | border: Boolean,
8 | checked: Boolean,
9 | loading: Boolean,
10 | disabled: Boolean,
11 | activeColor: String,
12 | inactiveColor: String,
13 | size: {
14 | type: String,
15 | value: '24px'
16 | },
17 | activeValue: {
18 | type: null,
19 | value: true
20 | },
21 | inactiveValue: {
22 | type: null,
23 | value: false
24 | }
25 | },
26 | watch: {
27 | checked(value) {
28 | this.set({ value });
29 | }
30 | },
31 | created() {
32 | this.set({ value: this.data.checked });
33 | },
34 | methods: {
35 | onChange(event) {
36 | this.$emit('change', event.detail);
37 | }
38 | }
39 | });
40 |
--------------------------------------------------------------------------------
/src/libs/vant/mixins/iphonex.js:
--------------------------------------------------------------------------------
1 | let isIPhoneX = null;
2 | function getIsIPhoneX() {
3 | return new Promise((resolve, reject) => {
4 | if (isIPhoneX !== null) {
5 | resolve(isIPhoneX);
6 | }
7 | else {
8 | wx.getSystemInfo({
9 | success: ({ model, screenHeight }) => {
10 | const iphoneX = /iphone x/i.test(model);
11 | const iphoneNew = /iPhone11/i.test(model) && screenHeight === 812;
12 | isIPhoneX = iphoneX || iphoneNew;
13 | resolve(isIPhoneX);
14 | },
15 | fail: reject
16 | });
17 | }
18 | });
19 | }
20 | export const iphonex = Behavior({
21 | properties: {
22 | safeAreaInsetBottom: {
23 | type: Boolean,
24 | value: true
25 | }
26 | },
27 | created() {
28 | getIsIPhoneX().then(isIPhoneX => {
29 | this.set({ isIPhoneX });
30 | });
31 | }
32 | });
33 |
--------------------------------------------------------------------------------
/src/libs/vant/radio/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | field: true,
4 | relation: {
5 | name: 'radio-group',
6 | type: 'ancestor'
7 | },
8 | classes: ['icon-class', 'label-class'],
9 | props: {
10 | name: null,
11 | value: null,
12 | disabled: Boolean,
13 | labelDisabled: Boolean,
14 | labelPosition: String,
15 | checkedColor: String
16 | },
17 | methods: {
18 | emitChange(value) {
19 | const instance = this.getRelationNodes('../radio-group/index')[0] || this;
20 | instance.$emit('input', value);
21 | instance.$emit('change', value);
22 | },
23 | onChange(event) {
24 | this.emitChange(event.detail.value);
25 | },
26 | onClickLabel() {
27 | if (!this.data.disabled && !this.data.labelDisabled) {
28 | this.emitChange(this.data.name);
29 | }
30 | }
31 | }
32 | });
33 |
--------------------------------------------------------------------------------
/src/pages/info/info.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/src/libs/vant/radio-group/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | field: true,
4 | relation: {
5 | name: 'radio',
6 | type: 'descendant',
7 | linked(target) {
8 | const { value, disabled } = this.data;
9 | target.set({
10 | value: value,
11 | disabled: disabled || target.data.disabled
12 | });
13 | }
14 | },
15 | props: {
16 | value: null,
17 | disabled: Boolean
18 | },
19 | watch: {
20 | value(value) {
21 | const children = this.getRelationNodes('../radio/index');
22 | children.forEach(child => {
23 | child.set({ value });
24 | });
25 | },
26 | disabled(disabled) {
27 | const children = this.getRelationNodes('../radio/index');
28 | children.forEach(child => {
29 | child.set({ disabled: disabled || child.data.disabled });
30 | });
31 | }
32 | }
33 | });
34 |
--------------------------------------------------------------------------------
/src/pages/plan/plan.js:
--------------------------------------------------------------------------------
1 | const app = getApp();
2 |
3 | Page({
4 | data: {
5 | city: 'sh',
6 | planUrl: app.getMetroPlanUrl('sh'),
7 | moreUrl: app.getMetroMoreUrl('sh')
8 | },
9 |
10 | onLoad: function (options) {
11 | this.setData({
12 | city: options.city,
13 | planUrl: app.getMetroPlanUrl(options.city),
14 | moreUrl: app.getMetroMoreUrl(options.city)
15 | });
16 | },
17 |
18 | onReady: function () {
19 | wx.setNavigationBarTitle({ title: app.getCityByKey(this.data.city).name });
20 | },
21 |
22 | onShareAppMessage: function () {
23 | return {
24 | title: app.getCityByKey(this.data.city).name,
25 | path: '/pages/index/index?purpose=plan&city=' + this.data.city
26 | }
27 | },
28 |
29 | tapFull: function (e) {
30 | wx.previewImage({
31 | current: this.data.planUrl,
32 | urls: [this.data.planUrl]
33 | });
34 | },
35 |
36 | tapMore: function (e) {
37 | wx.previewImage({
38 | current: this.data.moreUrl,
39 | urls: [this.data.moreUrl]
40 | });
41 | }
42 | })
--------------------------------------------------------------------------------
/src/libs/vant/row/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | relation: {
4 | name: 'col',
5 | type: 'descendant',
6 | linked(target) {
7 | if (this.data.gutter) {
8 | target.setGutter(this.data.gutter);
9 | }
10 | }
11 | },
12 | props: {
13 | gutter: Number
14 | },
15 | watch: {
16 | gutter: 'setGutter'
17 | },
18 | mounted() {
19 | if (this.data.gutter) {
20 | this.setGutter();
21 | }
22 | },
23 | methods: {
24 | setGutter() {
25 | const { gutter } = this.data;
26 | const margin = `-${Number(gutter) / 2}px`;
27 | const style = gutter
28 | ? `margin-right: ${margin}; margin-left: ${margin};`
29 | : '';
30 | this.set({ style });
31 | this.getRelationNodes('../col/index').forEach(col => {
32 | col.setGutter(this.data.gutter);
33 | });
34 | }
35 | }
36 | });
37 |
--------------------------------------------------------------------------------
/src/libs/vant/card/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-card{position:relative;padding:5px 15px;font-size:12px;color:#333;background-color:#fafafa;box-sizing:border-box}.van-card__header{display:-webkit-flex;display:flex}.van-card__header--center{-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center}.van-card__thumb{position:relative;width:90px;height:90px;margin-right:10px;-webkit-flex:none;flex:none}.van-card__thumb:empty{display:none}.van-card__img{width:100%;height:100%}.van-card__content{position:relative;min-width:0;-webkit-flex:1;flex:1}.van-card__desc,.van-card__title{word-break:break-all}.van-card__title{font-weight:700;line-height:16px}.van-card__desc{color:#7d7e80}.van-card__bottom,.van-card__desc{line-height:20px}.van-card__price{display:inline-block;font-weight:700;color:#f44}.van-card__origin-price{display:inline-block;margin-left:5px;font-size:10px;color:#7d7e80;text-decoration:line-through}.van-card__num{float:right}.van-card__tag{position:absolute;top:2px;left:0}.van-card__footer{width:100%;text-align:right;-webkit-flex:none;flex:none}
--------------------------------------------------------------------------------
/src/libs/vant/notify/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | import { RED } from '../common/color';
3 | VantComponent({
4 | props: {
5 | text: String,
6 | color: {
7 | type: String,
8 | value: '#fff'
9 | },
10 | backgroundColor: {
11 | type: String,
12 | value: RED
13 | },
14 | duration: {
15 | type: Number,
16 | value: 3000
17 | }
18 | },
19 | methods: {
20 | show() {
21 | const { duration } = this.data;
22 | clearTimeout(this.timer);
23 | this.set({
24 | show: true
25 | });
26 | if (duration > 0 && duration !== Infinity) {
27 | this.timer = setTimeout(() => {
28 | this.hide();
29 | }, duration);
30 | }
31 | },
32 | hide() {
33 | clearTimeout(this.timer);
34 | this.set({
35 | show: false
36 | });
37 | }
38 | }
39 | });
40 |
--------------------------------------------------------------------------------
/src/libs/vant/submit-bar/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | {{ tipStr }}
8 |
9 |
10 |
11 |
12 |
13 |
14 | {{ label || '合计:' }}
15 |
16 | {{ currency }} {{ priceStr }}
17 |
18 |
19 |
20 |
30 | {{ loading ? '' : buttonText }}
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/src/libs/vant/picker/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-picker{position:relative;overflow:hidden;-webkit-text-size-adjust:100%;background-color:#fff;-webkit-user-select:none;user-select:none}.van-picker__toolbar{display:-webkit-flex;display:flex;height:44px;line-height:44px;-webkit-justify-content:space-between;justify-content:space-between}.van-picker__cancel,.van-picker__confirm{padding:0 15px;font-size:14px;color:#1989fa}.van-picker__cancel--hover,.van-picker__confirm--hover{background-color:#f2f3f5}.van-picker__title{max-width:50%;font-size:16px;font-weight:500;text-align:center}.van-picker__columns{position:relative;display:-webkit-flex;display:flex}.van-picker__column{-webkit-flex:1 1;flex:1 1;width:0}.van-picker__loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;display:-webkit-flex;display:flex;background-color:hsla(0,0%,100%,.9);-webkit-align-items:center;align-items:center;-webkit-justify-content:center;justify-content:center}.van-picker__frame,.van-picker__loading .van-loading{position:absolute;top:50%;left:0;z-index:1;width:100%;pointer-events:none;-webkit-transform:translateY(-50%);transform:translateY(-50%)}
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2019 metromancn
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/src/libs/vant/field/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-field__body{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center}.van-field__body--textarea{min-height:24px}.van-field__input{display:block;width:100%;height:24px;min-height:24px;padding:0;margin:0;line-height:inherit;color:#333;text-align:left;background-color:initial;border:0;box-sizing:border-box;resize:none}.van-field__input--disabled{color:#999;background-color:initial;opacity:1}.van-field__input--center{text-align:center}.van-field__input--right{text-align:right}.van-field__input--error{color:#f44}.van-field__placeholder{color:#999}.van-field__clear-root{display:-webkit-flex;display:flex;height:24px;-webkit-align-items:center;align-items:center}.van-field__button,.van-field__clear,.van-field__icon-container{-webkit-flex-shrink:0;flex-shrink:0}.van-field__clear,.van-field__icon-container{padding:0 10px;margin-right:-10px;line-height:inherit;vertical-align:middle}.van-field__clear{color:#c9c9c9}.van-field__icon-container{color:#999}.van-field__icon{display:block!important}.van-field__button{padding-left:10px}.van-field__error-message{font-size:12px;color:#f44;text-align:left}
--------------------------------------------------------------------------------
/src/libs/vant/picker-column/index.wxml:
--------------------------------------------------------------------------------
1 |
9 |
10 | {{ getOptionText(option, valueKey) }}
19 |
20 |
21 |
22 |
23 | function isObj(x) {
24 | var type = typeof x;
25 | return x !== null && (type === 'object' || type === 'function');
26 | }
27 |
28 | module.exports = function (option, valueKey) {
29 | return isObj(option) && option[valueKey] ? option[valueKey] : option;
30 | }
31 |
32 |
--------------------------------------------------------------------------------
/src/libs/vant/action-sheet/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | import { iphonex } from '../mixins/iphonex';
3 | VantComponent({
4 | mixins: [iphonex],
5 | props: {
6 | show: Boolean,
7 | title: String,
8 | cancelText: String,
9 | zIndex: {
10 | type: Number,
11 | value: 100
12 | },
13 | actions: {
14 | type: Array,
15 | value: []
16 | },
17 | overlay: {
18 | type: Boolean,
19 | value: true
20 | },
21 | closeOnClickOverlay: {
22 | type: Boolean,
23 | value: true
24 | }
25 | },
26 | methods: {
27 | onSelect(event) {
28 | const { index } = event.currentTarget.dataset;
29 | const item = this.data.actions[index];
30 | if (item && !item.disabled && !item.loading) {
31 | this.$emit('select', item);
32 | }
33 | },
34 | onCancel() {
35 | this.$emit('cancel');
36 | },
37 | onClose() {
38 | this.$emit('close');
39 | }
40 | }
41 | });
42 |
--------------------------------------------------------------------------------
/src/libs/vant/checkbox-group/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | field: true,
4 | relation: {
5 | name: 'checkbox',
6 | type: 'descendant',
7 | linked(target) {
8 | const { value, disabled } = this.data;
9 | target.set({
10 | value: value.indexOf(target.data.name) !== -1,
11 | disabled: disabled || target.data.disabled
12 | });
13 | }
14 | },
15 | props: {
16 | max: Number,
17 | value: Array,
18 | disabled: Boolean
19 | },
20 | watch: {
21 | value(value) {
22 | const children = this.getRelationNodes('../checkbox/index');
23 | children.forEach(child => {
24 | child.set({ value: value.indexOf(child.data.name) !== -1 });
25 | });
26 | },
27 | disabled(disabled) {
28 | const children = this.getRelationNodes('../checkbox/index');
29 | children.forEach(child => {
30 | child.set({ disabled: disabled || child.data.disabled });
31 | });
32 | }
33 | }
34 | });
35 |
--------------------------------------------------------------------------------
/src/libs/vant/goods-action-icon/index.wxml:
--------------------------------------------------------------------------------
1 |
25 |
26 |
33 | {{ text }}
34 |
35 |
36 |
--------------------------------------------------------------------------------
/src/libs/vant/submit-bar/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | import { iphonex } from '../mixins/iphonex';
3 | VantComponent({
4 | mixins: [iphonex],
5 | classes: [
6 | 'bar-class',
7 | 'price-class',
8 | 'button-class'
9 | ],
10 | props: {
11 | tip: null,
12 | type: Number,
13 | price: null,
14 | label: String,
15 | loading: Boolean,
16 | disabled: Boolean,
17 | buttonText: String,
18 | currency: {
19 | type: String,
20 | value: '¥'
21 | },
22 | buttonType: {
23 | type: String,
24 | value: 'danger'
25 | }
26 | },
27 | computed: {
28 | hasPrice() {
29 | return typeof this.data.price === 'number';
30 | },
31 | priceStr() {
32 | return (this.data.price / 100).toFixed(2);
33 | },
34 | tipStr() {
35 | const { tip } = this.data;
36 | return typeof tip === 'string' ? tip : '';
37 | }
38 | },
39 | methods: {
40 | onSubmit(event) {
41 | this.$emit('submit', event.detail);
42 | }
43 | }
44 | });
45 |
--------------------------------------------------------------------------------
/src/libs/vant/common/index.wxss:
--------------------------------------------------------------------------------
1 | .van-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.van-multi-ellipsis--l2{-webkit-line-clamp:2}.van-multi-ellipsis--l2,.van-multi-ellipsis--l3{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical}.van-multi-ellipsis--l3{-webkit-line-clamp:3}.van-clearfix:after{content:"";display:table;clear:both}.van-hairline,.van-hairline--bottom,.van-hairline--left,.van-hairline--right,.van-hairline--surround,.van-hairline--top,.van-hairline--top-bottom{position:relative}.van-hairline--bottom:after,.van-hairline--left:after,.van-hairline--right:after,.van-hairline--surround:after,.van-hairline--top-bottom:after,.van-hairline--top:after,.van-hairline:after{content:" ";position:absolute;pointer-events:none;box-sizing:border-box;-webkit-transform-origin:center;transform-origin:center;top:-50%;left:-50%;right:-50%;bottom:-50%;-webkit-transform:scale(.5);transform:scale(.5);border:0 solid #eee}.van-hairline--top:after{border-top-width:1px}.van-hairline--left:after{border-left-width:1px}.van-hairline--right:after{border-right-width:1px}.van-hairline--bottom:after{border-bottom-width:1px}.van-hairline--top-bottom:after{border-width:1px 0}.van-hairline--surround:after{border-width:1px}
--------------------------------------------------------------------------------
/src/libs/vant/wxs/memoize.wxs:
--------------------------------------------------------------------------------
1 | /**
2 | * Simple memoize
3 | * wxs doesn't support fn.apply, so this memoize only support up to 2 args
4 | */
5 |
6 | function isPrimitive(value) {
7 | var type = typeof value;
8 | return (
9 | type === 'boolean' ||
10 | type === 'number' ||
11 | type === 'string' ||
12 | type === 'undefined' ||
13 | value === null
14 | );
15 | }
16 |
17 | // mock simple fn.call in wxs
18 | function call(fn, args) {
19 | if (args.length === 2) {
20 | return fn(args[0], args[1]);
21 | }
22 |
23 | if (args.length === 1) {
24 | return fn(args[0]);
25 | }
26 |
27 | return fn();
28 | }
29 |
30 | function serializer(args) {
31 | if (args.length === 1 && isPrimitive(args[0])) {
32 | return args[0];
33 | }
34 | var obj = {};
35 | for (var i = 0; i < args.length; i++) {
36 | obj['key' + i] = args[i];
37 | }
38 | return JSON.stringify(obj);
39 | }
40 |
41 | function memoize(fn) {
42 | var cache = {};
43 |
44 | return function() {
45 | var key = serializer(arguments);
46 | if (cache[key] === undefined) {
47 | cache[key] = call(fn, arguments);
48 | }
49 |
50 | return cache[key];
51 | };
52 | }
53 |
54 | module.exports.memoize = memoize;
55 |
--------------------------------------------------------------------------------
/src/pages/metro/metro.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/src/libs/vant/nav-bar/index.wxml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
13 | {{ leftText }}
19 |
20 |
21 |
22 |
23 | {{ title }}
24 |
25 |
26 |
27 | {{ rightText }}
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/src/libs/vant/collapse-item/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
18 |
22 |
26 |
27 |
31 |
32 |
38 |
41 |
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/src/libs/vant/switch/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | field: true,
4 | classes: ['node-class'],
5 | props: {
6 | checked: null,
7 | loading: Boolean,
8 | disabled: Boolean,
9 | activeColor: String,
10 | inactiveColor: String,
11 | size: {
12 | type: String,
13 | value: '30px'
14 | },
15 | activeValue: {
16 | type: null,
17 | value: true
18 | },
19 | inactiveValue: {
20 | type: null,
21 | value: false
22 | }
23 | },
24 | watch: {
25 | checked(value) {
26 | this.set({ value });
27 | }
28 | },
29 | created() {
30 | this.set({ value: this.data.checked });
31 | },
32 | methods: {
33 | onClick() {
34 | const { activeValue, inactiveValue } = this.data;
35 | if (!this.data.disabled && !this.data.loading) {
36 | const checked = this.data.checked === activeValue;
37 | const value = checked ? inactiveValue : activeValue;
38 | this.$emit('input', value);
39 | this.$emit('change', value);
40 | }
41 | }
42 | }
43 | });
44 |
--------------------------------------------------------------------------------
/src/libs/vant/steps/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
10 |
11 | {{ item.text }}
12 | {{ item.desc }}
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 | function get(index, active) {
25 | if (index < active) {
26 | return 'finish';
27 | } else if (index === active) {
28 | return 'process';
29 | }
30 |
31 | return '';
32 | }
33 |
34 | module.exports = get;
35 |
36 |
--------------------------------------------------------------------------------
/src/libs/vant/button/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
40 |
--------------------------------------------------------------------------------
/src/pages/index/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
15 |
16 | 取消
17 |
18 |
19 |
20 |
21 |
22 | {{item.name}}
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/src/libs/vant/cell/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
10 |
16 |
17 |
18 |
22 |
23 | {{ title }}
24 | {{ label }}
25 |
26 |
27 |
28 |
29 |
30 | {{ value }}
31 |
32 |
33 |
34 |
40 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/src/libs/vant/dialog/dialog.d.ts:
--------------------------------------------------------------------------------
1 | declare type DialogAction = 'confirm' | 'cancel';
2 | declare type DialogOptions = {
3 | lang?: string;
4 | show?: boolean;
5 | title?: string;
6 | zIndex?: number;
7 | context?: any;
8 | message?: string;
9 | overlay?: boolean;
10 | selector?: string;
11 | ariaLabel?: string;
12 | transition?: string;
13 | asyncClose?: boolean;
14 | businessId?: number;
15 | sessionFrom?: string;
16 | appParameter?: string;
17 | messageAlign?: string;
18 | sendMessageImg?: string;
19 | showMessageCard?: boolean;
20 | sendMessagePath?: string;
21 | sendMessageTitle?: string;
22 | confirmButtonText?: string;
23 | cancelButtonText?: string;
24 | showConfirmButton?: boolean;
25 | showCancelButton?: boolean;
26 | closeOnClickOverlay?: boolean;
27 | confirmButtonOpenType?: string;
28 | };
29 | interface Dialog {
30 | (options: DialogOptions): Promise;
31 | alert?: (options: DialogOptions) => Promise;
32 | confirm?: (options: DialogOptions) => Promise;
33 | close?: () => void;
34 | stopLoading?: () => void;
35 | install?: () => void;
36 | setDefaultOptions?: (options: DialogOptions) => void;
37 | resetDefaultOptions?: () => void;
38 | defaultOptions?: DialogOptions;
39 | currentOptions?: DialogOptions;
40 | }
41 | declare const Dialog: Dialog;
42 | export default Dialog;
43 |
--------------------------------------------------------------------------------
/src/libs/vant/search/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | field: true,
4 | classes: ['field-class', 'input-class', 'cancel-class'],
5 | props: {
6 | focus: Boolean,
7 | error: Boolean,
8 | disabled: Boolean,
9 | readonly: Boolean,
10 | inputAlign: String,
11 | showAction: Boolean,
12 | useActionSlot: Boolean,
13 | placeholder: String,
14 | placeholderStyle: String,
15 | background: {
16 | type: String,
17 | value: '#ffffff'
18 | },
19 | maxlength: {
20 | type: Number,
21 | value: -1
22 | },
23 | shape: {
24 | type: String,
25 | value: 'square'
26 | },
27 | label: String
28 | },
29 | methods: {
30 | onChange(event) {
31 | this.set({ value: event.detail });
32 | this.$emit('change', event.detail);
33 | },
34 | onCancel() {
35 | this.set({ value: '' });
36 | this.$emit('cancel');
37 | this.$emit('change', '');
38 | },
39 | onSearch() {
40 | this.$emit('search', this.data.value);
41 | },
42 | onFocus() {
43 | this.$emit('focus');
44 | },
45 | onBlur() {
46 | this.$emit('blur');
47 | },
48 | onClear() {
49 | this.$emit('clear');
50 | },
51 | }
52 | });
53 |
--------------------------------------------------------------------------------
/src/libs/vant/collapse/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | VantComponent({
3 | relation: {
4 | name: 'collapse-item',
5 | type: 'descendant',
6 | linked(child) {
7 | this.set({
8 | items: [...this.data.items, child]
9 | }, () => {
10 | child.updateExpanded();
11 | });
12 | }
13 | },
14 | props: {
15 | value: null,
16 | accordion: Boolean,
17 | border: {
18 | type: Boolean,
19 | value: true
20 | }
21 | },
22 | data: {
23 | items: []
24 | },
25 | watch: {
26 | value() {
27 | this.data.items.forEach(child => {
28 | child.updateExpanded();
29 | });
30 | },
31 | accordion() {
32 | this.data.items.forEach(child => {
33 | child.updateExpanded();
34 | });
35 | }
36 | },
37 | methods: {
38 | switch(name, expanded) {
39 | const { accordion, value } = this.data;
40 | if (!accordion) {
41 | name = expanded
42 | ? value.concat(name)
43 | : value.filter(activeName => activeName !== name);
44 | }
45 | else {
46 | name = expanded ? name : '';
47 | }
48 | this.$emit('change', name);
49 | this.$emit('input', name);
50 | }
51 | }
52 | });
53 |
--------------------------------------------------------------------------------
/src/libs/vant/mixins/observer/behavior.js:
--------------------------------------------------------------------------------
1 | function setAsync(context, data) {
2 | return new Promise(resolve => {
3 | context.setData(data, resolve);
4 | });
5 | }
6 | ;
7 | export const behavior = Behavior({
8 | created() {
9 | if (!this.$options) {
10 | return;
11 | }
12 | const cache = {};
13 | const { computed } = this.$options();
14 | const keys = Object.keys(computed);
15 | this.calcComputed = () => {
16 | const needUpdate = {};
17 | keys.forEach(key => {
18 | const value = computed[key].call(this);
19 | if (cache[key] !== value) {
20 | cache[key] = needUpdate[key] = value;
21 | }
22 | });
23 | return needUpdate;
24 | };
25 | },
26 | attached() {
27 | this.set();
28 | },
29 | methods: {
30 | // set data and set computed data
31 | set(data, callback) {
32 | const stack = [];
33 | if (data) {
34 | stack.push(setAsync(this, data));
35 | }
36 | if (this.calcComputed) {
37 | stack.push(setAsync(this, this.calcComputed()));
38 | }
39 | return Promise.all(stack).then(res => {
40 | if (callback && typeof callback === 'function') {
41 | callback.call(this);
42 | }
43 | return res;
44 | });
45 | }
46 | }
47 | });
48 |
--------------------------------------------------------------------------------
/src/libs/vant/badge-group/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | import { isNumber } from '../common/utils';
3 | VantComponent({
4 | relation: {
5 | name: 'badge',
6 | type: 'descendant',
7 | linked(target) {
8 | this.badges.push(target);
9 | this.setActive();
10 | },
11 | unlinked(target) {
12 | this.badges = this.badges.filter(item => item !== target);
13 | this.setActive();
14 | }
15 | },
16 | props: {
17 | active: {
18 | type: Number,
19 | value: 0
20 | }
21 | },
22 | watch: {
23 | active: 'setActive'
24 | },
25 | beforeCreate() {
26 | this.badges = [];
27 | this.currentActive = -1;
28 | },
29 | methods: {
30 | setActive(badge) {
31 | let { active } = this.data;
32 | const { badges } = this;
33 | if (badge && !isNumber(badge)) {
34 | active = badges.indexOf(badge);
35 | }
36 | if (active === this.currentActive) {
37 | return;
38 | }
39 | if (this.currentActive !== -1 && badges[this.currentActive]) {
40 | this.$emit('change', active);
41 | badges[this.currentActive].setActive(false);
42 | }
43 | if (badges[active]) {
44 | badges[active].setActive(true);
45 | this.currentActive = active;
46 | }
47 | }
48 | }
49 | });
50 |
--------------------------------------------------------------------------------
/src/libs/vant/cell/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-cell{position:relative;display:-webkit-flex;display:flex;width:100%;padding:10px 15px;font-size:14px;line-height:24px;color:#333;background-color:#fff;box-sizing:border-box}.van-cell:after{content:" ";position:absolute;pointer-events:none;box-sizing:border-box;-webkit-transform-origin:center;transform-origin:center;top:auto;left:15px;right:0;bottom:0;-webkit-transform:scaleY(.5);transform:scaleY(.5);border-bottom:1px solid #eee}.van-cell--borderless:after{display:none}.van-cell-group{background-color:#fff}.van-cell__label{margin-top:3px;font-size:12px;line-height:18px;color:#999}.van-cell__value{overflow:hidden;color:#999;text-align:right;vertical-align:middle}.van-cell__title,.van-cell__value{-webkit-flex:1;flex:1}.van-cell__title:empty,.van-cell__value:empty{display:none}.van-cell__left-icon-wrap,.van-cell__right-icon-wrap{display:-webkit-flex;display:flex;height:24px;font-size:16px;-webkit-align-items:center;align-items:center}.van-cell__left-icon-wrap{margin-right:5px}.van-cell__right-icon-wrap{margin-left:5px;color:#999}.van-cell__left-icon{line-height:24px;vertical-align:middle}.van-cell__right-icon{line-height:24px}.van-cell--clickable.van-cell--hover{background-color:#f2f3f5}.van-cell--required{overflow:visible}.van-cell--required:before{position:absolute;left:7px;font-size:14px;color:#f44;content:"*"}.van-cell--center{-webkit-align-items:center;align-items:center}.van-cell--large{padding-top:12px;padding-bottom:12px}.van-cell--large .van-cell__title{font-size:16px}.van-cell--large .van-cell__label{font-size:14px}
--------------------------------------------------------------------------------
/src/libs/vant/tree-select/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
16 | {{ item.text }}
17 |
18 |
19 |
24 |
31 | {{ item.text }}
32 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/src/libs/vant/card/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
40 |
41 |
44 |
45 |
--------------------------------------------------------------------------------
/src/libs/vant/search/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 | {{ label }}
9 |
10 |
11 |
35 |
36 |
37 |
43 |
44 | 取消
45 |
46 |
47 |
--------------------------------------------------------------------------------
/src/libs/vant/stepper/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-stepper{font-size:0}.van-stepper__minus,.van-stepper__plus{position:relative;display:inline-block;width:28px;height:28px;padding:5px;margin:1px;vertical-align:middle;background-color:#f2f3f5;border:0;box-sizing:border-box}.van-stepper__minus:before,.van-stepper__plus:before{width:9px;height:1px}.van-stepper__minus:after,.van-stepper__plus:after{width:1px;height:9px}.van-stepper__minus:after,.van-stepper__minus:before,.van-stepper__plus:after,.van-stepper__plus:before{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;background-color:#333;content:""}.van-stepper__minus--hover,.van-stepper__plus--hover{background-color:#e8e8e8}.van-stepper__minus--disabled,.van-stepper__plus--disabled{background-color:#f7f8fa}.van-stepper__minus--disabled:after,.van-stepper__minus--disabled:before,.van-stepper__plus--disabled:after,.van-stepper__plus--disabled:before{background-color:#c9c9c9}.van-stepper__minus--disabled.van-stepper__minus--hover,.van-stepper__minus--disabled.van-stepper__plus--hover,.van-stepper__plus--disabled.van-stepper__minus--hover,.van-stepper__plus--disabled.van-stepper__plus--hover{background-color:#f7f8fa}.van-stepper__minus{border-radius:4px 0 0 4px}.van-stepper__minus:after{display:none}.van-stepper__plus{border-radius:0 4px 4px 0}.van-stepper__input{display:inline-block;width:30px;height:26px;padding:1px;margin:1px;font-size:14px;color:#333;text-align:center;vertical-align:middle;background-color:#f2f3f5;border:0;border-width:1px 0;border-radius:0;box-sizing:initial;-webkit-appearance:none}.van-stepper__input--disabled{color:#c9c9c9;background-color:#f2f3f5}
--------------------------------------------------------------------------------
/src/libs/vant/common/component.js:
--------------------------------------------------------------------------------
1 | import { basic } from '../mixins/basic';
2 | import { observe } from '../mixins/observer/index';
3 | function mapKeys(source, target, map) {
4 | Object.keys(map).forEach(key => {
5 | if (source[key]) {
6 | target[map[key]] = source[key];
7 | }
8 | });
9 | }
10 | function VantComponent(vantOptions = {}) {
11 | const options = {};
12 | mapKeys(vantOptions, options, {
13 | data: 'data',
14 | props: 'properties',
15 | mixins: 'behaviors',
16 | methods: 'methods',
17 | beforeCreate: 'created',
18 | created: 'attached',
19 | mounted: 'ready',
20 | relations: 'relations',
21 | destroyed: 'detached',
22 | classes: 'externalClasses'
23 | });
24 | const { relation } = vantOptions;
25 | if (relation) {
26 | options.relations = Object.assign(options.relations || {}, {
27 | [`../${relation.name}/index`]: relation
28 | });
29 | }
30 | // add default externalClasses
31 | options.externalClasses = options.externalClasses || [];
32 | options.externalClasses.push('custom-class');
33 | // add default behaviors
34 | options.behaviors = options.behaviors || [];
35 | options.behaviors.push(basic);
36 | // map field to form-field behavior
37 | if (vantOptions.field) {
38 | options.behaviors.push('wx://form-field');
39 | }
40 | // add default options
41 | options.options = {
42 | multipleSlots: true,
43 | addGlobalClass: true
44 | };
45 | observe(vantOptions, options);
46 | Component(options);
47 | }
48 | export { VantComponent };
49 |
--------------------------------------------------------------------------------
/src/data/dg.js:
--------------------------------------------------------------------------------
1 | export default {
2 | lineList: [
3 | { name: '2号线', color: '#FF0000', stations: [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 ] }
4 | ],
5 | stationList: [
6 | { id: 0, name: '虎门火车站', pinyin: 'humenhuochezhan', py: 'hmhcz', lat: '22.859258', lng: '113.671541' },
7 | { id: 1, name: '展览中心', pinyin: 'zhanlanzhongxin', py: 'zlzx', lat: '22.902276', lng: '113.661842' },
8 | { id: 2, name: '珊美', pinyin: 'shanmei', py: 'sm', lat: '22.926151', lng: '113.664245' },
9 | { id: 3, name: '寮厦', pinyin: 'liaoxia', py: 'lx', lat: '22.941012', lng: '113.673601' },
10 | { id: 4, name: '陈屋', pinyin: 'chenwu', py: 'cw', lat: '22.958637', lng: '113.691282' },
11 | { id: 5, name: '蛤地', pinyin: 'gedi', py: 'gd', lat: '22.97792', lng: '113.72879' },
12 | { id: 6, name: '西平', pinyin: 'xiping', py: 'xp', lat: '22.994118', lng: '113.746986' },
13 | { id: 7, name: '鸿福路', pinyin: 'hongfulu', py: 'hfl', lat: '23.011499', lng: '113.760032' },
14 | { id: 8, name: '旗峰公园', pinyin: 'qifenggongyuan', py: 'qfgy', lat: '23.020031', lng: '113.767585' },
15 | { id: 9, name: '东城', pinyin: 'dongcheng', py: 'dc', lat: '23.03267', lng: '113.776426' },
16 | { id: 10, name: '天宝', pinyin: 'tianbao', py: 'tb', lat: '23.047203', lng: '113.778572' },
17 | { id: 11, name: '下桥', pinyin: 'xiaqiao', py: 'xq', lat: '23.062761', lng: '113.788185' },
18 | { id: 12, name: '榴花公园', pinyin: 'liuhuagongyuan', py: 'lhgy', lat: '23.080133', lng: '113.814191' },
19 | { id: 13, name: '茶山', pinyin: 'chashan', py: 'cs', lat: '23.079818', lng: '113.845348' },
20 | { id: 14, name: '东莞火车站', pinyin: 'dongguanhuochezhan', py: 'dghcz', lat: '23.089687', lng: '113.860969' }
21 | ]
22 | };
--------------------------------------------------------------------------------
/src/libs/vant/popup/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | import { transition } from '../mixins/transition';
3 | import { iphonex } from '../mixins/iphonex';
4 | VantComponent({
5 | classes: [
6 | 'enter-class',
7 | 'enter-active-class',
8 | 'enter-to-class',
9 | 'leave-class',
10 | 'leave-active-class',
11 | 'leave-to-class'
12 | ],
13 | mixins: [transition(false), iphonex],
14 | props: {
15 | transition: {
16 | type: String,
17 | observer: 'observeClass'
18 | },
19 | customStyle: String,
20 | overlayStyle: String,
21 | zIndex: {
22 | type: Number,
23 | value: 100
24 | },
25 | overlay: {
26 | type: Boolean,
27 | value: true
28 | },
29 | closeOnClickOverlay: {
30 | type: Boolean,
31 | value: true
32 | },
33 | position: {
34 | type: String,
35 | value: 'center',
36 | observer: 'observeClass'
37 | }
38 | },
39 | created() {
40 | this.observeClass();
41 | },
42 | methods: {
43 | onClickOverlay() {
44 | this.$emit('click-overlay');
45 | if (this.data.closeOnClickOverlay) {
46 | this.$emit('close');
47 | }
48 | },
49 | observeClass() {
50 | const { transition, position } = this.data;
51 | this.updateClasses(transition || position);
52 | if (transition === 'none') {
53 | this.set({ duration: 0 });
54 | }
55 | }
56 | }
57 | });
58 |
--------------------------------------------------------------------------------
/src/libs/vant/action-sheet/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
13 |
21 |
22 |
23 |
38 |
39 |
40 |
47 | {{ cancelText }}
48 |
49 |
50 |
--------------------------------------------------------------------------------
/src/libs/vant/tabs/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-tabs{position:relative;-webkit-tap-highlight-color:transparent}.van-tabs__wrap{position:absolute;top:0;right:0;left:0;display:-webkit-flex;display:flex;background-color:#fff}.van-tabs__wrap--page-top{position:fixed}.van-tabs__wrap--content-bottom{top:auto;bottom:0}.van-tabs__wrap--scrollable .van-tab{-webkit-flex:0 0 22%;flex:0 0 22%}.van-tabs__scroll--card{border:1px solid #f44;border-radius:2px}.van-tabs__nav{position:relative;display:-webkit-flex;display:flex;-webkit-user-select:none;user-select:none}.van-tabs__nav--line{height:100%}.van-tabs__nav--card{height:30px}.van-tabs__nav--card .van-tab{line-height:30px;color:#f44;border-right:1px solid #f44}.van-tabs__nav--card .van-tab:last-child{border-right:none}.van-tabs__nav--card .van-tab.van-tab--active{color:#fff;background-color:#f44}.van-tabs__line{position:absolute;bottom:0;left:0;z-index:1;height:3px;background-color:#f44;border-radius:3px}.van-tabs--line{padding-top:44px}.van-tabs--line .van-tabs__wrap{height:44px}.van-tabs--card{padding-top:30px;margin:0 15px}.van-tabs--card .van-tabs__wrap{height:30px}.van-tabs__content{overflow:hidden}.van-tab,.van-tabs__track{position:relative}.van-tab{min-width:0;padding:0 5px;font-size:14px;line-height:44px;color:#7d7e80;text-align:center;cursor:pointer;box-sizing:border-box;-webkit-flex:1;flex:1}.van-tab--active{font-weight:500;color:#333}.van-tab--disabled{color:#c9c9c9}.van-tab__title--dot:after{display:inline-block;width:8px;height:8px;vertical-align:middle;background-color:#f44;border-radius:100%;content:""}.van-tab__title__info{position:relative!important;top:-1px!important;display:inline-block;-webkit-transform:translateX(0)!important;transform:translateX(0)!important}
--------------------------------------------------------------------------------
/src/data/tz.js:
--------------------------------------------------------------------------------
1 | export default {
2 | lineList: [
3 | { name: 'S1线', color: '#2686EF', stations: [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 ] }
4 | ],
5 | stationList: [
6 | { id: 0, name: '台州火车站', pinyin: 'taizhouhuochezhan', py: 'tzhcz', lat: '28.652446', lng: '121.37253' },
7 | { id: 1, name: '学院路', pinyin: 'xueyuanlu', py: 'xyl', lat: '28.638021', lng: '121.402947' },
8 | { id: 2, name: '国博中心', pinyin: 'guobozhongxin', py: 'gbzx', lat: '28.623669', lng: '121.402088' },
9 | { id: 3, name: '汇丰路', pinyin: 'huifenglu', py: 'hfl', lat: '28.610646', lng: '121.388857' },
10 | { id: 4, name: '锦泰', pinyin: 'jintai', py: 'jt', lat: '28.598088', lng: '121.369816' },
11 | { id: 5, name: '恩泽医院', pinyin: 'enzeyiyuan', py: 'ezyy', lat: '28.587165', lng: '121.337259' },
12 | { id: 6, name: '台州汽车南站', pinyin: 'taizhouqichenanzhan', py: 'tzqcnz', lat: '28.567798', lng: '121.328617' },
13 | { id: 7, name: '泽国', pinyin: 'zeguo', py: 'zg', lat: '28.496327', lng: '121.337688' },
14 | { id: 8, name: '温岭火车站', pinyin: 'wenlinghuochezhan', py: 'wlhcz', lat: '28.478958', lng: '121.326745' },
15 | { id: 9, name: '汇川王', pinyin: 'huichuanwang', py: 'hcw', lat: '28.433474', lng: '121.333204' },
16 | { id: 10, name: '温岭第一人民医院', pinyin: 'wenlingdiyirenminyiyuan', py: 'wldyrmyy', lat: '28.405034', lng: '121.342967' },
17 | { id: 11, name: '九龙大道', pinyin: 'jiulongdadao', py: 'jldd', lat: '28.393237', lng: '121.359876' },
18 | { id: 12, name: '万昌路', pinyin: 'wanchanglu', py: 'wcl', lat: '28.377436', lng: '121.376613' },
19 | { id: 13, name: '南屏', pinyin: 'nanping', py: 'np', lat: '28.364163', lng: '121.386204' },
20 | { id: 14, name: '城南', pinyin: 'chengnan', py: 'cn', lat: '28.311962', lng: '121.415859' }
21 | ]
22 | };
--------------------------------------------------------------------------------
/src/libs/vant/col/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-col{float:left;box-sizing:border-box}.van-col--1{width:4.16666667%}.van-col--offset-1{margin-left:4.16666667%}.van-col--2{width:8.33333333%}.van-col--offset-2{margin-left:8.33333333%}.van-col--3{width:12.5%}.van-col--offset-3{margin-left:12.5%}.van-col--4{width:16.66666667%}.van-col--offset-4{margin-left:16.66666667%}.van-col--5{width:20.83333333%}.van-col--offset-5{margin-left:20.83333333%}.van-col--6{width:25%}.van-col--offset-6{margin-left:25%}.van-col--7{width:29.16666667%}.van-col--offset-7{margin-left:29.16666667%}.van-col--8{width:33.33333333%}.van-col--offset-8{margin-left:33.33333333%}.van-col--9{width:37.5%}.van-col--offset-9{margin-left:37.5%}.van-col--10{width:41.66666667%}.van-col--offset-10{margin-left:41.66666667%}.van-col--11{width:45.83333333%}.van-col--offset-11{margin-left:45.83333333%}.van-col--12{width:50%}.van-col--offset-12{margin-left:50%}.van-col--13{width:54.16666667%}.van-col--offset-13{margin-left:54.16666667%}.van-col--14{width:58.33333333%}.van-col--offset-14{margin-left:58.33333333%}.van-col--15{width:62.5%}.van-col--offset-15{margin-left:62.5%}.van-col--16{width:66.66666667%}.van-col--offset-16{margin-left:66.66666667%}.van-col--17{width:70.83333333%}.van-col--offset-17{margin-left:70.83333333%}.van-col--18{width:75%}.van-col--offset-18{margin-left:75%}.van-col--19{width:79.16666667%}.van-col--offset-19{margin-left:79.16666667%}.van-col--20{width:83.33333333%}.van-col--offset-20{margin-left:83.33333333%}.van-col--21{width:87.5%}.van-col--offset-21{margin-left:87.5%}.van-col--22{width:91.66666667%}.van-col--offset-22{margin-left:91.66666667%}.van-col--23{width:95.83333333%}.van-col--offset-23{margin-left:95.83333333%}.van-col--24{width:100%}.van-col--offset-24{margin-left:100%}
--------------------------------------------------------------------------------
/src/data/am.js:
--------------------------------------------------------------------------------
1 | export default {
2 | lineList: [
3 | { name: '氹仔线', color: '#86CC0C', stations: [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ] },
4 | { name: '石排湾线', color: '#AE5FB7', stations: [ 7, 13 ] },
5 | { name: '横琴线', color: '#F95858', stations: [ 6, 14 ] }
6 | ],
7 | stationList: [
8 | { id: 0, name: '妈阁', pinyin: 'mage', py: 'mg', lat: '22.183391', lng: '113.529255' },
9 | { id: 1, name: '海洋', pinyin: 'haiyang', py: 'hy', lat: '22.157897', lng: '113.541255' },
10 | { id: 2, name: '马会', pinyin: 'mahui', py: 'mh', lat: '22.157132', lng: '113.54721' },
11 | { id: 3, name: '运动场', pinyin: 'yundongchang', py: 'ydc', lat: '22.154374', lng: '113.55185' },
12 | { id: 4, name: '排角', pinyin: 'paijiao', py: 'pj', lat: '22.150941', lng: '113.554425' },
13 | { id: 5, name: '路氹西', pinyin: 'ludangxi', py: 'ldx', lat: '22.145113', lng: '113.55781' },
14 | { id: 6, name: '莲花', pinyin: 'lianhua', py: 'lh', lat: '22.139533', lng: '113.559778' },
15 | { id: 7, name: '协和医院', pinyin: 'xieheyiyuan', py: 'xhyy', lat: '22.139111', lng: '113.564499' },
16 | { id: 8, name: '东亚运', pinyin: 'dongyayun', py: 'dyy', lat: '22.142405', lng: '113.568608' },
17 | { id: 9, name: '路氹东', pinyin: 'ludangdong', py: 'ldd', lat: '22.148323', lng: '113.569096' },
18 | { id: 10, name: '科大', pinyin: 'keda', py: 'kd', lat: '22.153063', lng: '113.570609' },
19 | { id: 11, name: '机场', pinyin: 'jichang', py: 'jc', lat: '22.159462', lng: '113.574616' },
20 | { id: 12, name: '氹仔码头', pinyin: 'dangzaimatou', py: 'dzmt', lat: '22.163044', lng: '113.573806' },
21 | { id: 13, name: '石排湾', pinyin: 'shipaiwan', py: 'spw', lat: '22.131385', lng: '113.561807' },
22 | { id: 14, name: '横琴', pinyin: 'hengqin', py: 'hq', lat: '22.140621', lng: '113.546198' }
23 | ]
24 | };
--------------------------------------------------------------------------------
/src/libs/vant/button/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-button{position:relative;display:inline-block;height:44px;padding:0;font-size:16px;line-height:42px;text-align:center;-webkit-text-size-adjust:100%;vertical-align:middle;border-radius:2px;box-sizing:border-box;-webkit-appearance:none}.van-button:after{position:absolute;top:50%;left:50%;width:100%;height:100%;background-color:#000;border:inherit;border-color:#000;border-radius:inherit;content:" ";opacity:0;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.van-button--active:after{opacity:.15}.van-button--unclickable:after{display:none}.van-button--default{color:#333;background-color:#fff;border:1px solid #eee}.van-button--primary{color:#fff;background-color:#07c160;border:1px solid #07c160}.van-button--info{color:#fff;background-color:#1989fa;border:1px solid #1989fa}.van-button--danger{color:#fff;background-color:#f44;border:1px solid #f44}.van-button--warning{color:#fff;background-color:#ff976a;border:1px solid #ff976a}.van-button--plain{background-color:#fff}.van-button--plain.van-button--primary{color:#07c160}.van-button--plain.van-button--info{color:#1989fa}.van-button--plain.van-button--danger{color:#f44}.van-button--plain.van-button--warning{color:#ff976a}.van-button--large{width:100%;height:50px;line-height:48px}.van-button--normal{padding:0 15px;font-size:14px}.van-button--small{height:30px;min-width:60px;padding:0 8px;font-size:12px;line-height:28px}.van-button--mini{display:inline-block;width:50px;height:22px;font-size:10px;line-height:20px}.van-button--mini+.van-button--mini{margin-left:5px}.van-button--block{display:block;width:100%}.van-button--round{border-radius:10em}.van-button--square{border-radius:0}.van-button--disabled{opacity:.5}.van-button__loading-text{margin-left:5px;display:inline-block;vertical-align:middle}
--------------------------------------------------------------------------------
/src/libs/vant/transition/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-transition{transition-timing-function:ease}.van-fade-enter-active,.van-fade-leave-active{transition-property:opacity}.van-fade-enter,.van-fade-leave-to{opacity:0}.van-fade-down-enter-active,.van-fade-down-leave-active,.van-fade-left-enter-active,.van-fade-left-leave-active,.van-fade-right-enter-active,.van-fade-right-leave-active,.van-fade-up-enter-active,.van-fade-up-leave-active{transition-property:opacity,-webkit-transform;transition-property:opacity,transform;transition-property:opacity,transform,-webkit-transform}.van-fade-up-enter,.van-fade-up-leave-to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.van-fade-down-enter,.van-fade-down-leave-to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}.van-fade-left-enter,.van-fade-left-leave-to{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.van-fade-right-enter,.van-fade-right-leave-to{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.van-slide-down-enter-active,.van-slide-down-leave-active,.van-slide-left-enter-active,.van-slide-left-leave-active,.van-slide-right-enter-active,.van-slide-right-leave-active,.van-slide-up-enter-active,.van-slide-up-leave-active{transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform}.van-slide-up-enter,.van-slide-up-leave-to{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.van-slide-down-enter,.van-slide-down-leave-to{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}.van-slide-left-enter,.van-slide-left-leave-to{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.van-slide-right-enter,.van-slide-right-leave-to{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}
--------------------------------------------------------------------------------
/src/libs/vant/dialog/dialog.js:
--------------------------------------------------------------------------------
1 | let queue = [];
2 | function getContext() {
3 | const pages = getCurrentPages();
4 | return pages[pages.length - 1];
5 | }
6 | const Dialog = options => {
7 | options = Object.assign({}, Dialog.currentOptions, options);
8 | return new Promise((resolve, reject) => {
9 | const context = options.context || getContext();
10 | const dialog = context.selectComponent(options.selector);
11 | delete options.selector;
12 | if (dialog) {
13 | dialog.set(Object.assign({ onCancel: reject, onConfirm: resolve }, options));
14 | queue.push(dialog);
15 | }
16 | else {
17 | console.warn('未找到 van-dialog 节点,请确认 selector 及 context 是否正确');
18 | }
19 | });
20 | };
21 | Dialog.defaultOptions = {
22 | show: true,
23 | title: '',
24 | message: '',
25 | zIndex: 100,
26 | overlay: true,
27 | asyncClose: false,
28 | messageAlign: '',
29 | transition: 'scale',
30 | selector: '#van-dialog',
31 | confirmButtonText: '确认',
32 | cancelButtonText: '取消',
33 | showConfirmButton: true,
34 | showCancelButton: false,
35 | closeOnClickOverlay: false,
36 | confirmButtonOpenType: ''
37 | };
38 | Dialog.alert = Dialog;
39 | Dialog.confirm = options => Dialog(Object.assign({ showCancelButton: true }, options));
40 | Dialog.close = () => {
41 | queue.forEach(dialog => {
42 | dialog.close();
43 | });
44 | queue = [];
45 | };
46 | Dialog.stopLoading = () => {
47 | queue.forEach(dialog => {
48 | dialog.stopLoading();
49 | });
50 | };
51 | Dialog.setDefaultOptions = options => {
52 | Object.assign(Dialog.currentOptions, options);
53 | };
54 | Dialog.resetDefaultOptions = () => {
55 | Dialog.currentOptions = Object.assign({}, Dialog.defaultOptions);
56 | };
57 | Dialog.resetDefaultOptions();
58 | export default Dialog;
59 |
--------------------------------------------------------------------------------
/src/libs/vant/tabbar/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | import { iphonex } from '../mixins/iphonex';
3 | VantComponent({
4 | mixins: [iphonex],
5 | relation: {
6 | name: 'tabbar-item',
7 | type: 'descendant',
8 | linked(target) {
9 | this.data.items.push(target);
10 | setTimeout(() => {
11 | this.setActiveItem();
12 | });
13 | },
14 | unlinked(target) {
15 | this.data.items = this.data.items.filter(item => item !== target);
16 | setTimeout(() => {
17 | this.setActiveItem();
18 | });
19 | }
20 | },
21 | props: {
22 | active: Number,
23 | activeColor: String,
24 | fixed: {
25 | type: Boolean,
26 | value: true
27 | },
28 | zIndex: {
29 | type: Number,
30 | value: 1
31 | }
32 | },
33 | data: {
34 | items: []
35 | },
36 | watch: {
37 | active(active) {
38 | this.currentActive = active;
39 | this.setActiveItem();
40 | }
41 | },
42 | created() {
43 | this.currentActive = this.data.active;
44 | },
45 | methods: {
46 | setActiveItem() {
47 | this.data.items.forEach((item, index) => {
48 | item.setActive({
49 | active: index === this.currentActive,
50 | color: this.data.activeColor
51 | });
52 | });
53 | },
54 | onChange(child) {
55 | const active = this.data.items.indexOf(child);
56 | if (active !== this.currentActive && active !== -1) {
57 | this.$emit('change', active);
58 | this.currentActive = active;
59 | this.setActiveItem();
60 | }
61 | }
62 | }
63 | });
64 |
--------------------------------------------------------------------------------
/src/libs/vant/picker/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
13 | {{ cancelButtonText || '取消' }}
14 |
15 | {{ title }}
16 |
23 | {{ confirmButtonText || '确认' }}
24 |
25 |
26 |
27 |
28 |
29 |
34 |
48 |
52 |
53 |
54 |
55 |
56 | function isSimple(columns) {
57 | return columns.length && !columns[0].values;
58 | }
59 | module.exports = isSimple;
60 |
61 |
--------------------------------------------------------------------------------
/src/libs/vant/toast/toast.js:
--------------------------------------------------------------------------------
1 | import { isObj } from '../common/utils';
2 | const defaultOptions = {
3 | type: 'text',
4 | mask: false,
5 | message: '',
6 | show: true,
7 | zIndex: 1000,
8 | duration: 3000,
9 | position: 'middle',
10 | forbidClick: false,
11 | loadingType: 'circular',
12 | selector: '#van-toast'
13 | };
14 | let queue = [];
15 | let currentOptions = Object.assign({}, defaultOptions);
16 | function parseOptions(message) {
17 | return isObj(message) ? message : { message };
18 | }
19 | function getContext() {
20 | const pages = getCurrentPages();
21 | return pages[pages.length - 1];
22 | }
23 | const Toast = (options = {}) => {
24 | options = Object.assign({}, currentOptions, parseOptions(options));
25 | const context = options.context || getContext();
26 | const toast = context.selectComponent(options.selector);
27 | if (!toast) {
28 | console.warn('未找到 van-toast 节点,请确认 selector 及 context 是否正确');
29 | return;
30 | }
31 | delete options.context;
32 | delete options.selector;
33 | queue.push(toast);
34 | toast.set(options);
35 | clearTimeout(toast.timer);
36 | if (options.duration > 0) {
37 | toast.timer = setTimeout(() => {
38 | toast.clear();
39 | queue = queue.filter(item => item !== toast);
40 | }, options.duration);
41 | }
42 | return toast;
43 | };
44 | const createMethod = type => options => Toast(Object.assign({ type }, parseOptions(options)));
45 | ['loading', 'success', 'fail'].forEach(method => {
46 | Toast[method] = createMethod(method);
47 | });
48 | Toast.clear = () => {
49 | queue.forEach(toast => {
50 | toast.clear();
51 | });
52 | queue = [];
53 | };
54 | Toast.setDefaultOptions = options => {
55 | Object.assign(currentOptions, options);
56 | };
57 | Toast.resetDefaultOptions = () => {
58 | currentOptions = Object.assign({}, defaultOptions);
59 | };
60 | export default Toast;
61 |
--------------------------------------------------------------------------------
/src/data/tc.js:
--------------------------------------------------------------------------------
1 | export default {
2 | lineList: [
3 | { name: '绿线', color: '#8EC31C', stations: [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 ] }
4 | ],
5 | stationList: [
6 | { id: 0, name: '北屯总站', pinyin: 'beitunzongzhan', py: 'btzz', lat: '24.188925', lng: '120.708777' },
7 | { id: 1, name: '旧社', pinyin: 'jiushe', py: 'js', lat: '24.182384', lng: '120.707307' },
8 | { id: 2, name: '松竹', pinyin: 'songzhu', py: 'sz', lat: '24.180867', lng: '120.701498' },
9 | { id: 3, name: '四维国小', pinyin: 'siweiguoxiao', py: 'swgx', lat: '24.171241', lng: '120.693172' },
10 | { id: 4, name: '文心崇德', pinyin: 'wenxinchongde', py: 'wxcd', lat: '24.172181', lng: '120.684852' },
11 | { id: 5, name: '文心中清', pinyin: 'wenxinzhongqing', py: 'wxzq', lat: '24.173683', lng: '120.670577' },
12 | { id: 6, name: '文华高中', pinyin: 'wenhuagaozhong', py: 'whgz', lat: '24.171354', lng: '120.660219' },
13 | { id: 7, name: '文心樱花', pinyin: 'wenxinyinghua', py: 'wxyh', lat: '24.167435', lng: '120.653513' },
14 | { id: 8, name: '市政府', pinyin: 'shizhengfu', py: 'szf', lat: '24.161643', lng: '120.648961' },
15 | { id: 9, name: '水安宮', pinyin: 'shuiangong', py: 'sag', lat: '24.153343', lng: '120.646786' },
16 | { id: 10, name: '文心森林公园', pinyin: 'wenxinsenlingongyuan', py: 'wxslgy', lat: '24.145344', lng: '120.646706' },
17 | { id: 11, name: '南屯', pinyin: 'nantun', py: 'nt', lat: '24.140547', lng: '120.646716' },
18 | { id: 12, name: '丰乐公园', pinyin: 'fenglegongyuan', py: 'flgy', lat: '24.132212', lng: '120.646612' },
19 | { id: 13, name: '大庆', pinyin: 'daqing', py: 'dq', lat: '24.119035', lng: '120.6475' },
20 | { id: 14, name: '九张犁', pinyin: 'jiuzhangli', py: 'jzl', lat: '24.114403', lng: '120.64' },
21 | { id: 15, name: '九德', pinyin: 'jiude', py: 'jd', lat: '24.110985', lng: '120.634367' },
22 | { id: 16, name: '乌日', pinyin: 'wuri', py: 'wr', lat: '24.1089', lng: '120.624744' },
23 | { id: 17, name: '高铁台中站', pinyin: 'gaotietaizhongzhan', py: 'gttzz', lat: '24.110065', lng: '120.614187' }
24 | ]
25 | };
--------------------------------------------------------------------------------
/src/libs/vant/progress/index.js:
--------------------------------------------------------------------------------
1 | import { VantComponent } from '../common/component';
2 | import { BLUE } from '../common/color';
3 | VantComponent({
4 | props: {
5 | inactive: Boolean,
6 | percentage: Number,
7 | pivotText: String,
8 | pivotColor: String,
9 | showPivot: {
10 | type: Boolean,
11 | value: true
12 | },
13 | color: {
14 | type: String,
15 | value: BLUE
16 | },
17 | textColor: {
18 | type: String,
19 | value: '#fff'
20 | }
21 | },
22 | data: {
23 | pivotWidth: 0,
24 | progressWidth: 0
25 | },
26 | watch: {
27 | pivotText: 'getWidth',
28 | showPivot: 'getWidth'
29 | },
30 | computed: {
31 | portionStyle() {
32 | const width = (this.data.progressWidth - this.data.pivotWidth) * this.data.percentage / 100 + 'px';
33 | const background = this.getCurrentColor();
34 | return `width: ${width}; background: ${background}; `;
35 | },
36 | pivotStyle() {
37 | const color = this.data.textColor;
38 | const background = this.data.pivotColor || this.getCurrentColor();
39 | return `color: ${color}; background: ${background}`;
40 | },
41 | text() {
42 | return this.data.pivotText || this.data.percentage + '%';
43 | }
44 | },
45 | mounted() {
46 | this.getWidth();
47 | },
48 | methods: {
49 | getCurrentColor() {
50 | return this.data.inactive ? '#cacaca' : this.data.color;
51 | },
52 | getWidth() {
53 | this.getRect('.van-progress').then(rect => {
54 | this.set({
55 | progressWidth: rect.width
56 | });
57 | });
58 | this.getRect('.van-progress__pivot').then(rect => {
59 | this.set({
60 | pivotWidth: rect.width || 0
61 | });
62 | });
63 | }
64 | }
65 | });
66 |
--------------------------------------------------------------------------------
/src/pages/metro/metro.js:
--------------------------------------------------------------------------------
1 | const app = getApp();
2 |
3 | Page({
4 | data: {
5 | city: 'sh',
6 | metroUrl: app.getMetroMapUrl('sh'),
7 | planUrl: app.getMetroPlanUrl('sh'),
8 | moreUrl: app.getMetroMoreUrl('sh')
9 | },
10 |
11 | onLoad: function (options) {
12 | this.setData({
13 | city: options.city,
14 | metroUrl: app.getMetroMapUrl(options.city),
15 | planUrl: app.getMetroPlanUrl(options.city),
16 | moreUrl: app.getMetroMoreUrl(options.city)
17 | });
18 | },
19 |
20 | onReady: function () {
21 | wx.setNavigationBarTitle({ title: app.getCityByKey(this.data.city).name });
22 | },
23 |
24 | onShareAppMessage: function () {
25 | return {
26 | title: app.getCityByKey(this.data.city).name,
27 | path: '/pages/index/index?purpose=metro&city=' + this.data.city
28 | }
29 | },
30 |
31 | tapFull: function (e) {
32 | wx.previewImage({
33 | current: this.data.metroUrl,
34 | urls: [this.data.metroUrl]
35 | });
36 | },
37 |
38 | tapPlan: function (e) {
39 | wx.previewImage({
40 | current: this.data.planUrl,
41 | urls: [this.data.planUrl]
42 | });
43 | },
44 |
45 | tapMore: function (e) {
46 | wx.previewImage({
47 | current: this.data.moreUrl,
48 | urls: [this.data.moreUrl]
49 | });
50 | },
51 |
52 | tapStation: function (e) {
53 | wx.navigateTo({ url: '../station/station?purpose=1&city=' + this.data.city });
54 | },
55 |
56 | tapMetroManMP: function (e) {
57 | wx.navigateToMiniProgram({
58 | appId: 'wx3c618f2bd6a9d2f7',
59 | path: 'pages/index/index?purpose=index&city=' + this.data.city,
60 | success(res) {
61 | console.log(res);
62 | },
63 | fail(e) {
64 | console.log(e);
65 | }
66 | })
67 | },
68 |
69 | tapYunGuiTu: function (e) {
70 | wx.navigateToMiniProgram({
71 | appId: 'wx3297af3953a7312a',
72 | path: 'pages/index/index',
73 | success(res) {
74 | console.log(res);
75 | },
76 | fail(e) {
77 | console.log(e);
78 | }
79 | })
80 | }
81 | })
--------------------------------------------------------------------------------
/src/libs/vant/dialog/index.wxml:
--------------------------------------------------------------------------------
1 |
10 |
16 |
17 |
18 |
22 | {{ message }}
23 |
24 |
25 |
64 |
65 |
--------------------------------------------------------------------------------
/src/app.js:
--------------------------------------------------------------------------------
1 | import cityJS from './data/city';
2 |
3 | const util = require('./utils/util.js');
4 |
5 | App({
6 | globalData: {
7 | cityList: cityJS.cityList,
8 | hotList: cityJS.hotList,
9 | deviceInfo: { windowWidth: 375, windowHeight: 603 }
10 | },
11 |
12 | onLaunch: function () {
13 | },
14 |
15 | //City
16 | getCityByKey: function (key) {
17 | var result;
18 | for (const obj of this.globalData.cityList) {
19 | if (obj.key === key) {
20 | result = obj;
21 | break;
22 | }
23 | }
24 | return result;
25 | },
26 |
27 | getHotByKey: function(key) {
28 | var result;
29 | for(const obj of this.globalData.hotList) {
30 | if(obj.key === key) {
31 | result = obj;
32 | break;
33 | }
34 | }
35 | return result;
36 | },
37 |
38 | //
39 | getMetroMapUrl: function (key) {
40 | var ver = util.toYMDHM(new Date()).substring(0, 11);
41 | return cityJS.metroMapUrl + 'routemap_' + key + '_cn.png?ver=' + ver;
42 | },
43 |
44 | getMetroPlanUrl: function (key) {
45 | var result = '';
46 | var city = this.getCityByKey(key);
47 | if(city.plan === '1') {
48 | var ver = util.toYMD(new Date());
49 | result = cityJS.metroPlanUrl + 'routemap_' + key + '_cn.png?ver=' + ver;
50 | }
51 | return result;
52 | },
53 |
54 | getMetroMoreUrl: function (key) {
55 | var result = '';
56 | var city = this.getCityByKey(key);
57 | if (city.more === '1') {
58 | var ver = util.toYMD(new Date());
59 | result = cityJS.metroMoreUrl + 'routemap_' + key + '_cn.png?ver=' + ver;
60 | }
61 | return result;
62 | },
63 |
64 | getMaxHeight: function(val) {
65 | return this.globalData.deviceInfo.windowHeight - val;
66 | },
67 |
68 | getMarinByDevice: function () {
69 | var width = this.globalData.deviceInfo.windowWidth;
70 | var result = 28;
71 | if(width <= 320) {
72 | result = 8;
73 | } else if(width <= 360) {
74 | if (width % 2 === 0) {
75 | result = (width - 304) / 2;
76 | } else {
77 | result = (width - 304 - 1) / 2;
78 | }
79 | } else {
80 | result = 28;
81 | }
82 | return result;
83 | }
84 | })
--------------------------------------------------------------------------------
/src/libs/vant/popup/index.wxss:
--------------------------------------------------------------------------------
1 | @import '../common/index.wxss';.van-popup{position:fixed;top:50%;left:50%;max-height:100%;overflow-y:auto;background-color:#fff;box-sizing:border-box;-webkit-animation:ease both;animation:ease both;-webkit-overflow-scrolling:touch;transition-timing-function:ease}.van-popup--center{-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0)}.van-popup--top{top:0;right:auto;bottom:auto;left:50%;width:100%;-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}.van-popup--right{top:50%;right:0;bottom:auto;left:auto;-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}.van-popup--bottom{top:auto;right:auto;bottom:0;left:50%;width:100%;-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}.van-popup--left{top:50%;right:auto;bottom:auto;left:0;-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}.van-popup--safe{padding-bottom:34px}.van-scale-enter-active,.van-scale-leave-active{transition-property:opacity,-webkit-transform;transition-property:opacity,transform;transition-property:opacity,transform,-webkit-transform}.van-scale-enter,.van-scale-leave-to{opacity:0;-webkit-transform:translate3d(-50%,-50%,0) scale(.7);transform:translate3d(-50%,-50%,0) scale(.7)}.van-fade-enter-active,.van-fade-leave-active{transition-property:opacity}.van-fade-enter,.van-fade-leave-to{opacity:0}.van-center-enter-active,.van-center-leave-active{transition-property:opacity}.van-center-enter,.van-center-leave-to{opacity:0}.van-bottom-enter-active,.van-bottom-leave-active,.van-left-enter-active,.van-left-leave-active,.van-right-enter-active,.van-right-leave-active,.van-top-enter-active,.van-top-leave-active{transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform}.van-bottom-enter,.van-bottom-leave-to{-webkit-transform:translate3d(-50%,100%,0);transform:translate3d(-50%,100%,0)}.van-top-enter,.van-top-leave-to{-webkit-transform:translate3d(-50%,-100%,0);transform:translate3d(-50%,-100%,0)}.van-left-enter,.van-left-leave-to{-webkit-transform:translate3d(-100%,-50%,0);transform:translate3d(-100%,-50%,0)}.van-right-enter,.van-right-leave-to{-webkit-transform:translate3d(100%,-50%,0);transform:translate3d(100%,-50%,0)}
--------------------------------------------------------------------------------
/src/libs/vant/tabs/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
14 |
15 |
16 |
24 |
25 | {{ item.title }}
26 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
45 |
46 |
47 |
48 |
49 |
50 |
--------------------------------------------------------------------------------