├── .gitignore
├── README.md
├── app.js
├── app.json
├── app.wxss
├── components
├── SearchInput
│ ├── SearchInput.js
│ ├── SearchInput.json
│ ├── SearchInput.wxml
│ └── SearchInput.wxss
├── Tabs
│ ├── Tabs.js
│ ├── Tabs.json
│ ├── Tabs.wxml
│ └── Tabs.wxss
├── Upimg
│ ├── Upimg.js
│ ├── Upimg.json
│ ├── Upimg.wxml
│ └── Upimg.wxss
├── float-menu
│ ├── index.js
│ ├── index.json
│ ├── index.wxml
│ └── index.wxss
└── region-picker
│ ├── index.js
│ ├── index.json
│ ├── index.wxml
│ └── index.wxss
├── config.js
├── icons
├── cart-o.png
├── cart.png
├── category-o.png
├── category.png
├── home-o.png
├── home.png
├── my-o.png
└── my.png
├── images
├── 1nologin.png
├── icon
│ └── close.svg
├── no-order.png
└── nologin.png
├── lib
└── runtime
│ └── runtime.js
├── miniprogram_npm
└── apifm-wxapi
│ └── index.js
├── node_modules
└── apifm-wxapi
│ ├── .babelrc
│ ├── .eslintrc.js
│ ├── LICENSE
│ ├── README.md
│ ├── gulpfile.js
│ ├── instructions.md
│ ├── miniprogram_dist
│ └── index.js
│ ├── package.json
│ └── src
│ └── index.js
├── package-lock.json
├── package.json
├── pages
├── address-add
│ ├── index.js
│ ├── index.json
│ ├── index.wxml
│ └── index.wxss
├── cart
│ ├── index.js
│ ├── index.json
│ ├── index.wxml
│ └── index.wxss
├── category
│ ├── index.js
│ ├── index.json
│ ├── index.wxml
│ └── index.wxss
├── collect
│ ├── index.js
│ ├── index.json
│ ├── index.wxml
│ └── index.wxss
├── feedback
│ ├── index.js
│ ├── index.json
│ ├── index.wxml
│ └── index.wxss
├── goods_detail
│ ├── index.js
│ ├── index.json
│ ├── index.wxml
│ └── index.wxss
├── goods_list
│ ├── index.js
│ ├── index.json
│ ├── index.wxml
│ └── index.wxss
├── index
│ ├── index.js
│ ├── index.json
│ ├── index.wxml
│ └── index.wxss
├── order
│ ├── index.js
│ ├── index.json
│ ├── index.wxml
│ └── index.wxss
├── pay
│ ├── index.js
│ ├── index.json
│ ├── index.wxml
│ └── index.wxss
├── search
│ ├── index.js
│ ├── index.json
│ ├── index.wxml
│ └── index.wxss
├── select-address
│ ├── index.js
│ ├── index.json
│ ├── index.wxml
│ └── index.wxss
└── user
│ ├── index.js
│ ├── index.json
│ ├── index.wxml
│ └── index.wxss
├── project.config.json
├── request
└── index.js
├── sitemap.json
├── styles
└── iconfont.wxss
├── template
└── login
│ ├── index.js
│ ├── index.wxml
│ └── index.wxss
├── utils
├── asyncWx.js
├── auth.js
├── pay.js
└── util.js
├── weui
├── base
│ ├── fn.wxss
│ ├── mixin
│ │ ├── mobile.wxss
│ │ ├── setArrow.wxss
│ │ ├── setOnepx.wxss
│ │ └── text.wxss
│ ├── reset.wxss
│ └── variable
│ │ ├── color.wxss
│ │ ├── global.wxss
│ │ ├── weui-button.wxss
│ │ ├── weui-cell.wxss
│ │ ├── weui-dialog.wxss
│ │ ├── weui-grid.wxss
│ │ ├── weui-msg.wxss
│ │ ├── weui-progress.wxss
│ │ └── weui-tab.wxss
├── weui.wxss
└── widget
│ ├── weui-agree
│ └── weui-agree.wxss
│ ├── weui-animate
│ └── weui-animate.wxss
│ ├── weui-button
│ ├── weui-btn_cell.wxss
│ ├── weui-btn_default.wxss
│ ├── weui-btn_disabled.wxss
│ ├── weui-btn_global.wxss
│ ├── weui-btn_loading.wxss
│ ├── weui-btn_plain.wxss
│ ├── weui-btn_primary.wxss
│ ├── weui-btn_warn.wxss
│ └── weui-button.wxss
│ ├── weui-cell
│ ├── weui-access.wxss
│ ├── weui-cell.wxss
│ ├── weui-cells__group.wxss
│ ├── weui-check.wxss
│ ├── weui-form.wxss
│ ├── weui-form
│ │ ├── weui-form-preview.wxss
│ │ ├── weui-form_common.wxss
│ │ ├── weui-select.wxss
│ │ └── weui-vcode.wxss
│ ├── weui-gallery.wxss
│ ├── weui-slideview.wxss
│ ├── weui-switch.wxss
│ └── weui-uploader.wxss
│ ├── weui-flex
│ └── weui-flex.wxss
│ ├── weui-footer
│ └── weui-footer.wxss
│ ├── weui-grid
│ └── weui-grid.wxss
│ ├── weui-icon
│ └── weui-icon.wxss
│ ├── weui-loading
│ ├── weui-dot-loading.wxss
│ └── weui-loading.wxss
│ ├── weui-media-box
│ └── weui-media-box.wxss
│ ├── weui-navigation-bar
│ └── weui-navigation-bar.wxss
│ ├── weui-page
│ ├── weui-article.wxss
│ ├── weui-form.wxss
│ └── weui-msg.wxss
│ ├── weui-panel
│ └── weui-panel.wxss
│ ├── weui-progress
│ └── weui-progress.wxss
│ ├── weui-searchbar
│ └── weui-searchbar.wxss
│ ├── weui-tab
│ ├── weui-navbar.wxss
│ ├── weui-tab.wxss
│ └── weui-tabbar.wxss
│ └── weui-tips
│ ├── weui-actionsheet.wxss
│ ├── weui-badge.wxss
│ ├── weui-dialog.wxss
│ ├── weui-half-screen-dialog.wxss
│ ├── weui-loadmore.wxss
│ ├── weui-mask.wxss
│ └── weui-toptips.wxss
└── wxParse
├── emojis
├── 00.gif
├── 01.gif
├── 02.gif
├── 03.gif
├── 04.gif
├── 05.gif
├── 06.gif
├── 07.gif
├── 08.gif
├── 09.gif
├── 10.gif
├── 100.gif
├── 101.gif
├── 102.gif
├── 103.gif
├── 104.gif
├── 105.gif
├── 106.gif
├── 107.gif
├── 108.gif
├── 109.gif
├── 11.gif
├── 110.gif
├── 111.gif
├── 112.gif
├── 113.gif
├── 114.gif
├── 115.gif
├── 116.gif
├── 117.gif
├── 118.gif
├── 119.gif
├── 12.gif
├── 120.gif
├── 121.gif
├── 122.gif
├── 123.gif
├── 124.gif
├── 125.gif
├── 126.gif
├── 127.gif
├── 128.gif
├── 129.gif
├── 13.gif
├── 130.gif
├── 131.gif
├── 132.gif
├── 133.gif
├── 134.gif
├── 14.gif
├── 15.gif
├── 16.gif
├── 17.gif
├── 18.gif
├── 19.gif
├── 20.gif
├── 21.gif
├── 22.gif
├── 23.gif
├── 24.gif
├── 25.gif
├── 26.gif
├── 27.gif
├── 28.gif
├── 29.gif
├── 30.gif
├── 31.gif
├── 32.gif
├── 33.gif
├── 34.gif
├── 35.gif
├── 36.gif
├── 37.gif
├── 38.gif
├── 39.gif
├── 40.gif
├── 41.gif
├── 42.gif
├── 43.gif
├── 44.gif
├── 45.gif
├── 46.gif
├── 47.gif
├── 48.gif
├── 49.gif
├── 50.gif
├── 51.gif
├── 52.gif
├── 53.gif
├── 54.gif
├── 55.gif
├── 56.gif
├── 57.gif
├── 58.gif
├── 59.gif
├── 60.gif
├── 61.gif
├── 62.gif
├── 63.gif
├── 64.gif
├── 65.gif
├── 66.gif
├── 67.gif
├── 68.gif
├── 69.gif
├── 70.gif
├── 71.gif
├── 72.gif
├── 73.gif
├── 74.gif
├── 75.gif
├── 76.gif
├── 77.gif
├── 78.gif
├── 79.gif
├── 80.gif
├── 81.gif
├── 82.gif
├── 83.gif
├── 84.gif
├── 85.gif
├── 86.gif
├── 87.gif
├── 88.gif
├── 89.gif
├── 90.gif
├── 91.gif
├── 92.gif
├── 93.gif
├── 94.gif
├── 95.gif
├── 96.gif
├── 97.gif
├── 98.gif
└── 99.gif
├── html2json.js
├── htmlparser.js
├── showdown.js
├── wxDiscode.js
├── wxParse.js
├── wxParse.wxml
└── wxParse.wxss
/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | # Editor directories and files
3 | .idea
4 | .vscode
5 | *.css
6 | *.less
7 |
--------------------------------------------------------------------------------
/app.js:
--------------------------------------------------------------------------------
1 | //app.js
2 | const WXAPI = require('apifm-wxapi');
3 |
4 | // WXAPI.init('kotoba');
5 |
6 | App({
7 | //onLaunch,onShow: options(path,query,scene,shareTicket,referrerInfo(appId,extraData))
8 | onLaunch: function (options) {
9 | WXAPI.init(this.globalData.subDomain);
10 | },
11 | handleDestruction(res) {
12 | const {
13 | data = []
14 | } = res; // 设默认值为 [] 以免获取数据失败时发生错误
15 | return data;
16 | },
17 | login(e) {
18 | if (!e.detail.userInfo) {
19 | // 你点了取消授权
20 | return;
21 | }
22 | wx.login({
23 | success: function (res) {
24 | const code = res.code; // 微信登录接口返回的 code 参数,下面登录接口需要用到
25 | WXAPI.login_wx(code).then(function (res) {
26 | // 登录接口返回结果
27 | console.log(res)
28 | })
29 | }
30 | })
31 | },
32 | onShow(e) {
33 | this.globalData.launchOption = e
34 | // 保存邀请人
35 | if (e && e.query && e.query.inviter_id) {
36 | wx.setStorageSync('referrer', e.query.inviter_id)
37 | if (e.shareTicket) {
38 | // 通过分享链接进来
39 | wx.getShareInfo({
40 | shareTicket: e.shareTicket,
41 | success: res => {
42 | // console.error(res)
43 | // console.error({
44 | // referrer: e.query.inviter_id,
45 | // encryptedData: res.encryptedData,
46 | // iv: res.iv
47 | // })
48 | WXAPI.shareGroupGetScore(
49 | e.query.inviter_id,
50 | res.encryptedData,
51 | res.iv
52 | )
53 | }
54 | })
55 | }
56 | }
57 | // 自动登录
58 | // AUTH.checkHasLogined().then(isLogined => {
59 | // if (!isLogined) {
60 | // AUTH.login()
61 | // }
62 | // })
63 | },
64 | globalData: {
65 | subDomain: "kotoba"
66 | }
67 | });
--------------------------------------------------------------------------------
/app.json:
--------------------------------------------------------------------------------
1 | {
2 | "pages": [
3 | "pages/index/index",
4 | "pages/category/index",
5 | "pages/goods_list/index",
6 | "pages/goods_detail/index",
7 | "pages/cart/index",
8 | "pages/collect/index",
9 | "pages/order/index",
10 | "pages/search/index",
11 | "pages/user/index",
12 | "pages/feedback/index",
13 | "pages/pay/index",
14 | "pages/address-add/index",
15 | "pages/select-address/index"
16 | ],
17 | "window": {
18 | "backgroundTextStyle": "light",
19 | "navigationBarBackgroundColor": "#1CD8D2",
20 | "navigationBarTitleText": "品优购",
21 | "navigationBarTextStyle": "white"
22 | },
23 | "tabBar": {
24 | "color": "#999",
25 | "selectedColor": "#1CD8D2",
26 | "backgroundColor": "#fafafa",
27 | "list": [{
28 | "pagePath": "pages/index/index",
29 | "text": "首页",
30 | "iconPath": "/icons/home.png",
31 | "selectedIconPath": "/icons/home-o.png"
32 | },
33 | {
34 | "pagePath": "pages/category/index",
35 | "text": "分类",
36 | "iconPath": "icons/category.png",
37 | "selectedIconPath": "icons/category-o.png"
38 | },
39 | {
40 | "pagePath": "pages/cart/index",
41 | "text": "购物车",
42 | "iconPath": "icons/cart.png",
43 | "selectedIconPath": "icons/cart-o.png"
44 | },
45 | {
46 | "pagePath": "pages/user/index",
47 | "text": "我的",
48 | "iconPath": "icons/my.png",
49 | "selectedIconPath": "icons/my-o.png"
50 | }
51 | ]
52 | },
53 | "sitemapLocation": "sitemap.json"
54 | }
--------------------------------------------------------------------------------
/app.wxss:
--------------------------------------------------------------------------------
1 | @import './styles/iconfont.wxss';
2 | @import 'weui/weui.wxss';
3 |
4 |
5 | page,
6 | view,
7 | text,
8 | swiper,
9 | swiper-item,
10 | image,
11 | navigator {
12 | padding: 0;
13 | margin: 0;
14 | box-sizing: border-box;
15 | }
16 |
17 | page {
18 | /* 定义主题颜色 */
19 | --themeColor: #eb4450;
20 | /*
21 | 定义统一字体大小 假设设计稿 大小是 375px
22 | 1px= 2rpx
23 | 14px = 28rpx
24 | */
25 | font-size: 28rpx;
26 | }
27 |
28 | image {
29 | width: 100%;
30 | }
31 |
32 | .safeAreaOldPaddingBttom {
33 | padding-bottom: env(safe-area-inset-bottom);
34 | }
35 |
36 | .safeAreaNewPaddingBttom {
37 | padding-bottom: constant(safe-area-inset-bottom);
38 | }
39 |
40 | .safeAreaOldMarginBttom {
41 | margin-bottom: env(safe-area-inset-bottom);
42 | }
43 |
44 | .safeAreaNewMarginBttom {
45 | margin-bottom: constant(safe-area-inset-bottom);
46 | }
47 |
48 | .no-data {
49 | width: 100%;
50 | display: flex;
51 | justify-content: center;
52 | align-items: center;
53 | }
54 |
55 | .no-data .line {
56 | width: 132rpx;
57 | height: 2rpx;
58 | background: #999;
59 | }
60 |
61 | .no-data .txt {
62 | font-size: 26rpx;
63 | color: rgba(153, 153, 153, 1);
64 | margin: 0 16rpx;
65 | }
--------------------------------------------------------------------------------
/components/SearchInput/SearchInput.js:
--------------------------------------------------------------------------------
1 | // components/SearchInput/SearchInput.js
2 | Component({
3 | /**
4 | * 组件的属性列表
5 | */
6 | properties: {
7 |
8 | },
9 |
10 | /**
11 | * 组件的初始数据
12 | */
13 | data: {
14 |
15 | },
16 |
17 | /**
18 | * 组件的方法列表
19 | */
20 | methods: {
21 |
22 | }
23 | })
24 |
--------------------------------------------------------------------------------
/components/SearchInput/SearchInput.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {}
4 | }
--------------------------------------------------------------------------------
/components/SearchInput/SearchInput.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 搜索
4 |
5 |
--------------------------------------------------------------------------------
/components/SearchInput/SearchInput.wxss:
--------------------------------------------------------------------------------
1 | /* components/SearchInput/SearchInput.wxss */
2 | .search_input {
3 | height: 90rpx;
4 | padding: 10rpx;
5 | background-color: #1CD8D2;
6 | }
7 | .search_input navigator {
8 | height: 100%;
9 | display: flex;
10 | justify-content: center;
11 | align-items: center;
12 | background-color: #fff;
13 | border-radius: 15rpx;
14 | color: #666;
15 | }
16 |
--------------------------------------------------------------------------------
/components/Tabs/Tabs.js:
--------------------------------------------------------------------------------
1 | // components/Tabs/Tabs.js
2 | Component({
3 | /**
4 | * 组件的属性列表
5 | */
6 | properties: {
7 | tabs:{
8 | type:Array,
9 | value: []
10 | },
11 | },
12 |
13 | /**
14 | * 组件的初始数据
15 | */
16 | data: {
17 |
18 | },
19 |
20 | /**
21 | * 组件的方法列表
22 | */
23 | methods: {
24 | handleItemTap(e) {
25 | const {index} = e.currentTarget.dataset
26 | console.log(index, '<-e->');
27 | this.triggerEvent('tabsItemChange', {index})
28 | }
29 | }
30 | })
31 |
--------------------------------------------------------------------------------
/components/Tabs/Tabs.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {}
4 | }
--------------------------------------------------------------------------------
/components/Tabs/Tabs.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
11 | {{item.value}}
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/components/Tabs/Tabs.wxss:
--------------------------------------------------------------------------------
1 | /* components/Tabs/Tabs.wxss */
2 | .tabs{}
3 | .tabs_title{
4 | display: flex;
5 | }
6 | .title_item{
7 | display: flex;
8 | justify-content: center;
9 | align-items: center;
10 | flex: 1;
11 | padding: 15rpx 0;
12 | }
13 | .active{
14 | color:var(--themeColor);
15 | border-bottom: 5rpx solid currentColor;
16 | }
17 | .tabs_content{}
--------------------------------------------------------------------------------
/components/Upimg/Upimg.js:
--------------------------------------------------------------------------------
1 | // components/Upimg/Upimg.js
2 | Component({
3 | /**
4 | * 组件的属性列表
5 | */
6 | properties: {
7 | src:{
8 | type: String,
9 | value: '',
10 | }
11 | },
12 |
13 | /**
14 | * 组件的初始数据
15 | */
16 | data: {
17 |
18 | },
19 |
20 | /**
21 | * 组件的方法列表
22 | */
23 | methods: {
24 |
25 | }
26 | })
27 |
--------------------------------------------------------------------------------
/components/Upimg/Upimg.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {}
4 | }
--------------------------------------------------------------------------------
/components/Upimg/Upimg.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/components/Upimg/Upimg.wxss:
--------------------------------------------------------------------------------
1 | /* components/Upimg/Upimg.wxss */
2 | .up_img_wrap{
3 | width: 90rpx;
4 | height: 90rpx;
5 | position: relative;
6 | }
7 | .up_img_wrap image{
8 | width: 100%;
9 | height: 100%;
10 | border-radius: 15rpx;
11 | }
12 | .up_img_wrap icon{
13 | position: absolute;
14 | top:-22rpx;
15 | right: -22rpx;
16 | }
--------------------------------------------------------------------------------
/components/float-menu/index.js:
--------------------------------------------------------------------------------
1 | const App = getApp();
2 |
3 | Component({
4 | options: {
5 | addGlobalClass: true,
6 | },
7 | /**
8 | * 组件的对外属性,是属性名到属性设置的映射表
9 | */
10 | properties: {
11 | activePos: String,
12 | },
13 |
14 | /**
15 | * 组件的内部数据,和 properties 一同用于组件的模板渲染
16 | */
17 | data: {
18 | isClose: true
19 | },
20 | // 组件数据字段监听器,用于监听 properties 和 data 的变化
21 | observers: {
22 |
23 | },
24 | lifetimes: {
25 | attached: function () {
26 | this.setData({
27 |
28 | })
29 | },
30 | detached: function () {
31 | // 在组件实例被从页面节点树移除时执行
32 | },
33 | },
34 | /**
35 | * 组件的方法列表
36 | */
37 | methods: {
38 | //回退
39 | open(){
40 | this.setData({
41 | isClose: false
42 | })
43 | },
44 | close(){
45 | this.setData({
46 | isClose: true
47 | })
48 | },
49 | navBack: function () {
50 | wx.navigateBack({
51 | delta: 1
52 | })
53 | },
54 | //回主页
55 | toIndex: function () {
56 | wx.navigateTo({
57 | url: '/pages/admin/home/index/index'
58 | })
59 | },
60 | }
61 | })
--------------------------------------------------------------------------------
/components/float-menu/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 |
5 | }
6 | }
--------------------------------------------------------------------------------
/components/float-menu/index.wxml:
--------------------------------------------------------------------------------
1 |
8 |
15 |
--------------------------------------------------------------------------------
/components/float-menu/index.wxss:
--------------------------------------------------------------------------------
1 | .float-menu-cover {
2 | position: fixed;
3 | right: 0;
4 | bottom: 200rpx;
5 | display: flex;
6 | align-items: center;
7 | padding: 16rpx;
8 | background:rgba(0,0,0,0.7);
9 | border-radius: 16rpx 0 0 16rpx;
10 | z-index: 999;
11 | }
12 | .float-menu-cover-open {
13 | right: 440rpx;
14 | }
15 | .float-menu-cover .arrows {
16 | width: 34rpx;
17 | height: 34rpx;
18 | }
19 | .float-menu-cover .r {
20 | color: #fff;
21 | display: flex;
22 | flex-direction: column;
23 | font-size: 10pt;
24 | margin-left: 16rpx;
25 | }
26 | .float-menu-items {
27 | width: 440rpx;
28 | background: #fff;
29 | position: fixed;
30 | right: 0;
31 | bottom: 180rpx;
32 | border-radius: 16rpx 0 0 16rpx;
33 | display: flex;
34 | flex-wrap: wrap;
35 | padding-bottom: 32rpx;
36 | z-index: 999;
37 | }
38 | .float-menu-items .item {
39 | display: flex;
40 | flex-direction: column;
41 | align-items: center;
42 | margin-left: 32rpx;
43 | margin-right: 16rpx;
44 | margin-top: 32rpx;
45 | }
46 | .float-menu-items .item image {
47 | width: 43rpx;
48 | height: 43rpx;
49 | }
50 | .float-menu-items .item text {
51 | margin-top: 8rpx;
52 | color: #333;
53 | font-size: 10pt;
54 | }
--------------------------------------------------------------------------------
/components/region-picker/index.js:
--------------------------------------------------------------------------------
1 | const WXAPI = require('apifm-wxapi')
2 |
3 | Component({
4 | options: {
5 | addGlobalClass: true,
6 | },
7 | /**
8 | * 组件的对外属性,是属性名到属性设置的映射表
9 | */
10 | properties: {
11 | activePos: String,
12 | },
13 |
14 | /**
15 | * 组件的内部数据,和 properties 一同用于组件的模板渲染
16 | */
17 | data: {
18 | tabs: ['省', '市', '区/县', '街道/镇', '社区/村委会'],
19 | tabIndex: 0,
20 | selectRegion: [] // 已选择
21 | },
22 | // 组件数据字段监听器,用于监听 properties 和 data 的变化
23 | observers: {
24 |
25 | },
26 | lifetimes: {
27 | attached: function () {
28 | this.provinces()
29 | },
30 | detached: function () {
31 | // 在组件实例被从页面节点树移除时执行
32 | },
33 | },
34 | /**
35 | * 组件的方法列表
36 | */
37 | methods: {
38 | async provinces (){
39 | const res = await WXAPI.province()
40 | if (res.code == 0) {
41 | this.setData({
42 | redionData: res.data
43 | })
44 | }
45 | },
46 | async _click(e){
47 | const index = e.currentTarget.dataset.index
48 | let redionData = this.data.redionData
49 | const _curEntity = redionData[index]
50 | redionData.forEach(ele => {
51 | ele.active = false
52 | })
53 | _curEntity.active = true
54 | this.data.selectRegion[this.data.tabIndex] = _curEntity
55 | let tabIndex = this.data.tabIndex
56 | const res = await WXAPI.nextRegion(_curEntity.id)
57 | if (res.code == 0) {
58 | tabIndex++
59 | redionData = res.data
60 | }
61 | this.setData({
62 | redionData: redionData,
63 | selectRegion: this.data.selectRegion,
64 | tabIndex
65 | })
66 | if (res.code != 0) {
67 | this.triggerEvent('selectAddress', this.data, {})
68 | this.close()
69 | }
70 | },
71 | async tabClick(e){
72 | const index = e.currentTarget.dataset.index
73 | if (index == this.data.tabIndex) {
74 | return
75 | }
76 | const selectRegion = this.data.selectRegion
77 | selectRegion.splice(index)
78 | let redionData = this.data.redionData
79 | if (index == 0) {
80 | const res = await await WXAPI.province()
81 | if (res.code == 0) {
82 | redionData = res.data
83 | }
84 | } else {
85 | const lastSelectEntity = selectRegion[selectRegion.length - 1]
86 | const res = await WXAPI.nextRegion(lastSelectEntity.id)
87 | if (res.code == 0) {
88 | redionData = res.data
89 | }
90 | }
91 | this.setData({
92 | tabIndex: index,
93 | selectRegion,
94 | redionData
95 | })
96 | },
97 | close(){
98 | this.triggerEvent('closeAddress', {}, {})
99 | }
100 | }
101 | })
--------------------------------------------------------------------------------
/components/region-picker/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "component": true,
3 | "usingComponents": {
4 |
5 | }
6 | }
--------------------------------------------------------------------------------
/components/region-picker/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 请选择
5 |
6 |
7 |
8 | {{ item }}
9 |
10 |
11 |
12 |
13 | {{ item.name }}
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/components/region-picker/index.wxss:
--------------------------------------------------------------------------------
1 | .bg {
2 | position: fixed;
3 | top: 0;
4 | left: 0;
5 | width: 100vw;
6 | height: 100vh;
7 | background: rgba(0, 0, 0, 0.4);
8 | z-index: 9998;
9 | }
10 | .container-box {
11 | position: fixed;
12 | bottom: 0;
13 | left: 0;
14 | width: 100vw;
15 | height: 70vh;
16 | background: #fff;
17 | z-index: 9999;
18 | border-radius: 32rpx 32rpx 0 0;
19 | display: flex;
20 | flex-direction: column;
21 | }
22 | .container-box .h {
23 | position: relative;
24 | margin-top: 32rpx;
25 | text-align: center;
26 | }
27 | .container-box .h text {
28 | font-size: 26rpx;
29 | color: #666;
30 | }
31 | .container-box .h image {
32 | width: 32rpx;
33 | height: 32rpx;
34 | position: absolute;
35 | top: 8rpx;
36 | right: 32rpx;
37 | }
38 | .tabs {
39 | width: 100vw;
40 | display: flex;
41 | height: 88rpx;
42 | margin-top: 32rpx;
43 | }
44 | .tabs .tab {
45 | height: 88rpx;
46 | line-height: 88rpx;
47 | background: #f0f0f0;
48 | color: #999;
49 | text-align: center;
50 | flex-grow: 1;
51 | }
52 | .tabs .tab.active {
53 | background: #fff;
54 | color: #4a4a4a;
55 | border-bottom: 1rpx solid #f0f0f0;
56 | font-weight: 700;
57 | }
58 | .data {
59 | margin: 32rpx;
60 | line-height: 80rpx;
61 | flex: 1;
62 | height: 0;
63 | }
64 | .data scroll-view {
65 | height: 100%;
66 | }
67 | .data .active {
68 | color: #e64340;
69 | font-weight: 700;
70 | }
--------------------------------------------------------------------------------
/config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | subDomain: "kotoba", // 根据教程 https://www.yuque.com/apifm/doc/qr6l4m 查看你自己的 subDomain
3 | appid: "wx510521a2f79c490d", // 您的小程序的appid,购物单功能需要使用
4 | shareProfile: '百款精品商品,总有一款适合您', // 首页转发的时候话术
5 | kanjiaRequirePlayAd: false, // 是否必须要观看视频广告后才可以砍价
6 | goodsDetailSkuShowType: 0, // 0 为点击立即购买按钮后出现规格尺寸、数量的选择; 1为直接在商品详情页面显示规格尺寸、数量的选择,而不弹框
7 | }
--------------------------------------------------------------------------------
/icons/cart-o.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/icons/cart-o.png
--------------------------------------------------------------------------------
/icons/cart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/icons/cart.png
--------------------------------------------------------------------------------
/icons/category-o.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/icons/category-o.png
--------------------------------------------------------------------------------
/icons/category.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/icons/category.png
--------------------------------------------------------------------------------
/icons/home-o.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/icons/home-o.png
--------------------------------------------------------------------------------
/icons/home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/icons/home.png
--------------------------------------------------------------------------------
/icons/my-o.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/icons/my-o.png
--------------------------------------------------------------------------------
/icons/my.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/icons/my.png
--------------------------------------------------------------------------------
/images/1nologin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/images/1nologin.png
--------------------------------------------------------------------------------
/images/icon/close.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/no-order.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/images/no-order.png
--------------------------------------------------------------------------------
/images/nologin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/images/nologin.png
--------------------------------------------------------------------------------
/node_modules/apifm-wxapi/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": [
3 | ["module-resolver", {
4 | "root": ["./src"],
5 | "alias": {}
6 | }]
7 | ],
8 | "presets": [
9 | ["env", {"loose": true, "modules": "commonjs"}]
10 | ]
11 | }
--------------------------------------------------------------------------------
/node_modules/apifm-wxapi/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | 'extends': [
3 | 'airbnb-base',
4 | 'plugin:promise/recommended'
5 | ],
6 | 'parserOptions': {
7 | 'ecmaVersion': 9,
8 | 'ecmaFeatures': {
9 | 'jsx': false
10 | },
11 | 'sourceType': 'module'
12 | },
13 | 'env': {
14 | 'es6': true,
15 | 'node': true,
16 | 'jest': true
17 | },
18 | 'plugins': [
19 | 'import',
20 | 'node',
21 | 'promise'
22 | ],
23 | 'rules': {
24 | 'arrow-parens': 'off',
25 | 'comma-dangle': [
26 | 'error',
27 | 'only-multiline'
28 | ],
29 | 'complexity': ['error', 10],
30 | 'func-names': 'off',
31 | 'global-require': 'off',
32 | 'handle-callback-err': [
33 | 'error',
34 | '^(err|error)$'
35 | ],
36 | 'import/no-unresolved': [
37 | 'error',
38 | {
39 | 'caseSensitive': true,
40 | 'commonjs': true,
41 | 'ignore': ['^[^.]']
42 | }
43 | ],
44 | 'import/prefer-default-export': 'off',
45 | 'linebreak-style': 'off',
46 | 'no-catch-shadow': 'error',
47 | 'no-continue': 'off',
48 | 'no-div-regex': 'warn',
49 | 'no-else-return': 'off',
50 | 'no-param-reassign': 'off',
51 | 'no-plusplus': 'off',
52 | 'no-shadow': 'off',
53 | 'no-multi-assign': 'off',
54 | 'no-underscore-dangle': 'off',
55 | 'node/no-deprecated-api': 'error',
56 | 'node/process-exit-as-throw': 'error',
57 | 'object-curly-spacing': [
58 | 'error',
59 | 'never'
60 | ],
61 | 'operator-linebreak': [
62 | 'error',
63 | 'after',
64 | {
65 | 'overrides': {
66 | ':': 'before',
67 | '?': 'before'
68 | }
69 | }
70 | ],
71 | 'prefer-arrow-callback': 'off',
72 | 'prefer-destructuring': 'off',
73 | 'prefer-template': 'off',
74 | 'quote-props': [
75 | 1,
76 | 'as-needed',
77 | {
78 | 'unnecessary': true
79 | }
80 | ],
81 | 'semi': [
82 | 'error',
83 | 'never'
84 | ],
85 | 'no-await-in-loop': 'off',
86 | 'no-restricted-syntax': 'off',
87 | 'promise/always-return': 'off',
88 | },
89 | 'globals': {
90 | 'window': true,
91 | 'document': true,
92 | 'App': true,
93 | 'Page': true,
94 | 'Component': true,
95 | 'Behavior': true,
96 | 'wx': true,
97 | 'getCurrentPages': true,
98 | }
99 | }
100 |
--------------------------------------------------------------------------------
/node_modules/apifm-wxapi/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2019 gooking
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 |
--------------------------------------------------------------------------------
/node_modules/apifm-wxapi/README.md:
--------------------------------------------------------------------------------
1 | # 功能介绍
2 |
3 | 微信小程序接口工具包,无需服务器,无需开发后台,开箱即用,轻松开发小程序
4 |
5 | 交流 QQ 群: 629639122
6 |
7 | 欢迎大家进群交流,文档持续更新中...
8 |
9 | # 平台支持
10 |
11 | * [微信小程序开发](https://github.com/gooking/apifm-wxapi)
12 | * [web/h5 网站开发](https://github.com/gooking/apifm-webapi)
13 | * [Flutter 开发](https://github.com/gooking/apifm-flutter)
14 |
15 | # 使用方法
16 |
17 | ## 安装
18 |
19 | ```
20 | npm install apifm-wxapi
21 | ```
22 |
23 | *如果你的项目还不支持 npm (检查根目录下有没有 package.json 文件),请先初始化:*
24 |
25 | ```
26 | npm init
27 | ```
28 |
29 | ## 构建 npm 模块
30 |
31 | 小程序安装的 npm 模块,还不能直接使用,你需要在开发工具: “工具” --> “构建 npm” ,提示构建成功后,才能使用!
32 |
33 | ## 小程序调用
34 |
35 | 1. js文件头部引入插件:
36 |
37 | ```
38 | const WXAPI = require('apifm-wxapi')
39 | WXAPI.init('gooking')
40 | ```
41 |
42 | 2. js文件直接调用方法:
43 |
44 | ```
45 | WXAPI.banners().then(res => {
46 | if (res.code == 0) {
47 | this.setData({
48 | banners: res.data
49 | })
50 | }
51 | })
52 | ```
53 |
54 | *上述例子完成了读取后台的 banner 轮播图片的数据,后台发布轮播图,小程序端直接这样简单调用即可~*
55 |
56 | # 返回值说明
57 |
58 | WXAPI 方法返回数据主要包含 3 个内容:
59 |
60 | 1. code 错误码,0 代表操作重构,其他数字均表示错误,具体错误描述请查看 msg;
61 | 2. msg 如果上面的code不为0,那么 msg 将会返回具体的错误说明描述
62 | 3. data 字段保存了 code 为0 时候的数据,一起你需要的数据,都保存在 data 中返回给你
63 |
64 | # 相关资源
65 |
66 | [「5分钟使用教程」](https://www.yuque.com/apifm/doc/mdldsd)
67 | [「Demo程序下载」](https://github.com/gooking/apifm-wxapi-demo)
68 | [「功能说明文档」](instructions.md)
69 | [「api接口文档」](https://api.it120.cc/doc.html)
70 |
71 | # TA们在用
72 |
73 | | 天使童装| 舔果果小铺 | 面馆风格小程序 | AI名片 |
74 | | :------:| :------: | :------: | :------: |
75 | |
|
|
|
|
76 | | [开源地址](https://github.com/EastWorld/wechat-app-mall) | [开源地址](hhttps://github.com/walcer/TianguoguoXiaopu) | [开源地址](https://gitee.com/javazj/noodle_shop_procedures) | [开源地址](https://github.com/gooking/visitingCard) |
77 |
78 |
79 |
80 | | fire-shop-lite| 培训机构 | 面馆风格小程序 | AI名片 |
81 | | :------:| :------: | :------: | :------: |
82 | |
|
|
|
|
83 | | [开源地址](https://github.com/thundersword/fire-shop-lite) | [开源地址](https://github.com/fukcup/lofter) | [开源地址](https://gitee.com/javazj/noodle_shop_procedures) | [开源地址](https://github.com/gooking/visitingCard) |
84 |
85 | # 联系作者
86 |
87 | | ➕微信 | ➕支付宝 | ➕QQ |
88 | | :------: | :------: | :------: |
89 | |
|
|
|
90 |
91 | # 授权协议
92 |
93 | [MIT License](LICENSE)
--------------------------------------------------------------------------------
/node_modules/apifm-wxapi/gulpfile.js:
--------------------------------------------------------------------------------
1 | const gulp = require('gulp')
2 | const clean = require('gulp-clean')
3 |
4 | const config = require('./tools/config')
5 | const BuildTask = require('./tools/build')
6 | const id = require('./package.json').name || 'miniprogram-custom-component'
7 |
8 | // 构建任务实例
9 | // eslint-disable-next-line no-new
10 | new BuildTask(id, config.entry)
11 |
12 | // 清空生成目录和文件
13 | gulp.task('clean', gulp.series(() => gulp.src(config.distPath, {read: false, allowEmpty: true}).pipe(clean()), done => {
14 | if (config.isDev) {
15 | return gulp.src(config.demoDist, {read: false, allowEmpty: true})
16 | .pipe(clean())
17 | }
18 |
19 | return done()
20 | }))
21 | // 监听文件变化并进行开发模式构建
22 | gulp.task('watch', gulp.series(`${id}-watch`))
23 | // 开发模式构建
24 | gulp.task('dev', gulp.series(`${id}-dev`))
25 | // 生产模式构建
26 | gulp.task('default', gulp.series(`${id}-default`))
27 |
--------------------------------------------------------------------------------
/node_modules/apifm-wxapi/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "_from": "apifm-wxapi",
3 | "_id": "apifm-wxapi@3.0.0",
4 | "_inBundle": false,
5 | "_integrity": "sha1-MR9yDSiCqnSNDdkjpImjMr1R5Yo=",
6 | "_location": "/apifm-wxapi",
7 | "_phantomChildren": {},
8 | "_requested": {
9 | "type": "tag",
10 | "registry": true,
11 | "raw": "apifm-wxapi",
12 | "name": "apifm-wxapi",
13 | "escapedName": "apifm-wxapi",
14 | "rawSpec": "",
15 | "saveSpec": null,
16 | "fetchSpec": "latest"
17 | },
18 | "_requiredBy": [
19 | "#USER",
20 | "/"
21 | ],
22 | "_resolved": "https://registry.npm.taobao.org/apifm-wxapi/download/apifm-wxapi-3.0.0.tgz",
23 | "_shasum": "311f720d2882aa748d0dd923a489a332bd51e58a",
24 | "_spec": "apifm-wxapi",
25 | "_where": "E:\\wxdemo\\preDemo\\wx-mall",
26 | "author": {
27 | "name": "gooking"
28 | },
29 | "bugs": {
30 | "url": "https://github.com/gooking/wxapi/issues"
31 | },
32 | "bundleDependencies": false,
33 | "dependencies": {},
34 | "deprecated": false,
35 | "description": "读取商品砍价设置接口升级至V2",
36 | "devDependencies": {
37 | "babel-core": "^6.26.3",
38 | "babel-loader": "^7.1.5",
39 | "babel-plugin-module-resolver": "^3.2.0",
40 | "babel-preset-env": "^1.7.0",
41 | "colors": "^1.3.1",
42 | "eslint": "^5.14.1",
43 | "eslint-config-airbnb-base": "13.1.0",
44 | "eslint-loader": "^2.1.2",
45 | "eslint-plugin-import": "^2.16.0",
46 | "eslint-plugin-node": "^7.0.1",
47 | "eslint-plugin-promise": "^3.8.0",
48 | "gulp": "^4.0.0",
49 | "gulp-clean": "^0.4.0",
50 | "gulp-if": "^2.0.2",
51 | "gulp-install": "^1.1.0",
52 | "gulp-less": "^4.0.1",
53 | "gulp-rename": "^1.4.0",
54 | "gulp-sourcemaps": "^2.6.5",
55 | "jest": "^23.5.0",
56 | "miniprogram-simulate": "^1.0.0",
57 | "through2": "^2.0.3",
58 | "vinyl": "^2.2.0",
59 | "webpack": "^4.29.5",
60 | "webpack-node-externals": "^1.7.2"
61 | },
62 | "homepage": "https://github.com/gooking/wxapi#readme",
63 | "jest": {
64 | "testEnvironment": "jsdom",
65 | "testURL": "https://jest.test",
66 | "collectCoverageFrom": [
67 | "src/**/*.js"
68 | ],
69 | "moduleDirectories": [
70 | "node_modules",
71 | "src"
72 | ]
73 | },
74 | "license": "MIT",
75 | "main": "miniprogram_dist/index.js",
76 | "miniprogram": "miniprogram_dist",
77 | "name": "apifm-wxapi",
78 | "repository": {
79 | "type": "git",
80 | "url": "git+https://github.com/gooking/wxapi.git"
81 | },
82 | "scripts": {
83 | "build": "gulp",
84 | "clean": "gulp clean",
85 | "clean-dev": "gulp clean --develop",
86 | "coverage": "jest ./test/* --coverage --bail",
87 | "dev": "gulp dev --develop",
88 | "dist": "npm run build",
89 | "lint": "eslint \"src/**/*.js\" --fix",
90 | "lint-tools": "eslint \"tools/**/*.js\" --rule \"import/no-extraneous-dependencies: false\" --fix",
91 | "test": "jest --bail",
92 | "test-debug": "node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand --bail",
93 | "watch": "gulp watch --develop --watch"
94 | },
95 | "version": "3.0.0"
96 | }
97 |
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "wx-mall",
3 | "version": "1.0.0",
4 | "lockfileVersion": 1,
5 | "requires": true,
6 | "dependencies": {
7 | "apifm-wxapi": {
8 | "version": "3.0.0",
9 | "resolved": "https://registry.npm.taobao.org/apifm-wxapi/download/apifm-wxapi-3.0.0.tgz",
10 | "integrity": "sha1-MR9yDSiCqnSNDdkjpImjMr1R5Yo="
11 | }
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "wx-mall",
3 | "version": "1.0.0",
4 | "description": "视频学习:[零基础玩转微信小程序](https://www.bilibili.com/video/av73342655?p=131)",
5 | "main": "app.js",
6 | "directories": {
7 | "lib": "lib"
8 | },
9 | "scripts": {
10 | "test": "echo \"Error: no test specified\" && exit 1"
11 | },
12 | "repository": {
13 | "type": "git",
14 | "url": "git+https://github.com/Kotoba209/-.git"
15 | },
16 | "author": "",
17 | "license": "ISC",
18 | "bugs": {
19 | "url": "https://github.com/Kotoba209/-/issues"
20 | },
21 | "homepage": "https://github.com/Kotoba209/-#readme",
22 | "dependencies": {
23 | "apifm-wxapi": "^3.0.0"
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/pages/address-add/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "navigationBarTitleText": "新增地址",
3 | "usingComponents": {
4 | "region-picker": "/components/region-picker/index"
5 | }
6 | }
--------------------------------------------------------------------------------
/pages/address-add/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/pages/address-add/index.wxss:
--------------------------------------------------------------------------------
1 | page {
2 | height: 100%;
3 | }
4 |
5 | .container {
6 | background-color: #f5f5f9;
7 | justify-content: initial;
8 | height: 100%;
9 | }
10 |
11 | .form-box {
12 | width: 100%;
13 | background-color: #fff;
14 | margin-top: 20rpx;
15 | }
16 |
17 | .row-wrap {
18 | width: 720rpx;
19 | height: 88rpx;
20 | line-height: 88rpx;
21 | margin-left: 30rpx;
22 | border-bottom: 1rpx solid #eee;
23 | display: flex;
24 | font-size: 28rpx;
25 | /*justify-content: space-between;*/
26 | }
27 |
28 | .row-wrap .label {
29 | width: 160rpx;
30 | color: #000
31 | }
32 |
33 | .row-wrap .label-right {
34 | flex: 1;
35 | height: 88rpx;
36 | line-height: 88rpx;
37 | }
38 |
39 | .row-wrap .label-right input {
40 | height: 100%;
41 | font-size: 28rpx;
42 | padding-right: 30rpx;
43 | }
44 |
45 | .row-wrap .right-box {
46 | margin-right: 30rpx;
47 | }
48 |
49 | .arrow-right {
50 | width: 15rpx;
51 | height: 24rpx;
52 | }
53 |
54 | .save-btn,
55 | .cancel-btn {
56 | width: 690rpx;
57 | /* height: 80rpx; */
58 | /* line-height: 80rpx; */
59 | text-align: center;
60 | margin-top: 30rpx;
61 | border-radius: 6rpx;
62 | box-sizing: border-box;
63 | }
64 |
65 | .save-btn {
66 | background-color: #e64340;
67 | color: #fff;
68 | }
69 |
70 | button[type="default"] {
71 | background-color: #ffffff;
72 | color: #000;
73 | }
74 |
75 | .addr-details {
76 | height: auto;
77 | padding: 30rpx 0;
78 | margin-left: 30rpx;
79 | border-bottom: 1rpx solid #eee;
80 | display: flex;
81 | font-size: 28rpx;
82 | }
83 |
84 | .addr-details .label {
85 | margin: auto 0 auto 0;
86 | width: 160rpx;
87 | color: #000
88 | }
89 |
90 | .addr-details textarea {
91 | box-sizing: border-box;
92 | width: 480rpx;
93 | overflow: scroll;
94 | }
95 |
96 | picker {
97 | min-width: 20rpx;
98 | height: 100%;
99 | margin-right: 20rpx;
100 | }
101 |
102 | .hui {
103 | color: #777;
104 | }
105 |
106 | .showRegionSelect {
107 | margin-left: 32rpx;
108 | text-overflow: ellipsis;
109 | white-space: nowrap;
110 | overflow: hidden;
111 | }
--------------------------------------------------------------------------------
/pages/cart/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {},
3 | "navigationBarTitleText": "购物车"
4 | }
--------------------------------------------------------------------------------
/pages/cart/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 | {{item.basicInfo.name}}
35 |
36 | ¥{{item.basicInfo.minPrice}}
37 |
38 |
39 | -
40 |
41 | {{item.num}}
42 |
43 | +
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 | 购物车空空如也~
54 | 去逛逛
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
81 |
--------------------------------------------------------------------------------
/pages/category/index.js:
--------------------------------------------------------------------------------
1 | // pages/category/index.js
2 |
3 | import {
4 | request,
5 | http,
6 | } from '../../request/index';
7 | import regeneratorRuntime from '../../lib/runtime/runtime';
8 | const WXAPI = require('apifm-wxapi');
9 | const app = getApp();
10 | Page({
11 |
12 | /**
13 | * 页面的初始数据
14 | */
15 | data: {
16 | cateList: [],
17 | leftMenuList: [],
18 | rightContent: [],
19 | currentIndex: 0,
20 | scrollTop: 0,
21 | },
22 | Cates: [],
23 |
24 | /**
25 | * 生命周期函数--监听页面加载
26 | */
27 | onShow: function () {},
28 | onLoad: function (options) {
29 |
30 | const {
31 | custom
32 | } = getApp().globalData;
33 |
34 | this.handleItemTap(custom);
35 |
36 |
37 | const CatesName = wx.getStorageSync('CatesName');
38 | const CatesList = wx.getStorageSync('CatesList');
39 | if (!CatesName) {
40 | this.getCatesList();
41 | } else {
42 | if (Date.now() - CatesName.time > 1000 * 10) {
43 | this.getCatesList();
44 | } else {
45 | // 可以使用旧的数据
46 | // const { custom = {} } = getApp().globalData;
47 | this.Cates = CatesList.data;
48 | let leftMenuList = CatesName.data;
49 | let rightContent = null;
50 | if (custom) {
51 | rightContent = this.Cates.filter(v => v.categoryId == custom.id)
52 | } else {
53 | rightContent = this.Cates.filter(v => v.categoryId == leftMenuList[0].id)
54 | }
55 | this.setData({
56 | leftMenuList,
57 | rightContent
58 | })
59 | }
60 | }
61 | },
62 | async getCatesList() {
63 | var that = this;
64 | const {
65 | custom
66 | } = getApp().globalData;
67 |
68 | await WXAPI.goodsCategory().then(res => app.handleDestruction(res))
69 | .then((data) => {
70 | let leftMenuList = data.map(v => {
71 | return {
72 | id: v.id,
73 | name: v.name
74 | }
75 | });
76 | wx.setStorageSync('CatesName', {
77 | time: Date.now(),
78 | data: leftMenuList
79 | });
80 | this.setData({
81 | leftMenuList,
82 | })
83 | });
84 |
85 | await WXAPI.goods().then(res => app.handleDestruction(res))
86 | .then((data) => {
87 | this.Cates = data;
88 | wx.setStorageSync('CatesList', {
89 | time: Date.now(),
90 | data: this.Cates
91 | });
92 | let rightContent = null;
93 | if (custom) {
94 | rightContent = data.filter(v => v.categoryId === custom.id)
95 | } else {
96 | rightContent = data.filter(v => v.categoryId === this.data.leftMenuList[0].id)
97 | }
98 | this.setData({
99 | rightContent,
100 | })
101 | });
102 | },
103 | handleItemTap(e) {
104 | let id = null;
105 | let index = 0;
106 | if (e) {
107 | if (!e.currentTarget) {
108 | id = e.id;
109 | index = e.index
110 | } else {
111 | id = e.currentTarget.dataset.id;
112 | index = e.currentTarget.dataset.index;
113 | }
114 | }
115 |
116 | let rightContent = this.Cates.filter(v => v.categoryId == id);
117 | this.setData({
118 | currentIndex: index,
119 | rightContent,
120 | scrollTop: 0,
121 | })
122 |
123 | // const {
124 | // id,
125 | // index,
126 | // } = e.currentTarget.dataset;
127 | },
128 | })
--------------------------------------------------------------------------------
/pages/category/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {
3 | "SearchInput": "../../components/SearchInput/SearchInput"
4 | },
5 | "navigationBarTitleText": "分类"
6 | }
--------------------------------------------------------------------------------
/pages/category/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 | {{item2.name}}
17 |
18 |
19 | 当前分类暂无商品~
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/pages/category/index.wxss:
--------------------------------------------------------------------------------
1 | /* pages/category/index.wxss */
2 | page {
3 | height: 100%;
4 | }
5 |
6 | .cates {
7 | height: 100%;
8 | }
9 |
10 | .cates .cates_container {
11 | height: calc(100vh - 90rpx);
12 | display: flex;
13 | }
14 |
15 | .cates .cates_container .left_menu {
16 | flex: 2;
17 | }
18 |
19 | .cates .cates_container .left_menu .menu_item {
20 | height: 80rpx;
21 | display: flex;
22 | justify-content: center;
23 | align-items: center;
24 | font-size: 30rpx;
25 | }
26 |
27 | .cates .cates_container .left_menu .active {
28 | color: var(--themeColor);
29 | border-left: 5rpx solid currentColor;
30 | }
31 |
32 | .cates .cates_container .right_content {
33 | flex: 5;
34 | }
35 |
36 | .cates .cates_container .right_content .goods_group .goods_title {
37 | height: 80rpx;
38 | display: flex;
39 | justify-content: center;
40 | align-items: center;
41 | }
42 |
43 | .cates .cates_container .right_content .goods_group .goods_title .delimiter {
44 | color: #ccc;
45 | padding: 0 10rpx;
46 | }
47 |
48 | .cates .cates_container .right_content .goods_group .goods_list {
49 | display: flex;
50 | flex-wrap: wrap;
51 | box-sizing: content-box;
52 | }
53 |
54 | .cates .cates_container .right_content .goods_group .goods_list navigator {
55 | overflow: hidden;
56 | text-align: center;
57 | }
58 |
59 | .cates .cates_container .right_content .goods_group .goods_list navigator .img_box {
60 | width: 180rpx;
61 | height: 120rpx;
62 | padding: 20rpx;
63 | overflow: hidden;
64 | }
65 |
66 | .cates .cates_container .right_content .goods_group .goods_list navigator image {
67 | width: 120rpx;
68 | height: 120rpx;
69 | }
70 |
71 | .cates .cates_container .right_content .goods_group .goods_list navigator .goods_name {
72 | width: 120rpx;
73 | overflow: hidden;
74 | text-overflow: ellipsis;
75 | white-space: nowrap;
76 | margin: 0 auto;
77 | }
78 |
79 | .cates .cates_container .right_content .goods_group .non_goods_tips {
80 | width: 300rpx;
81 | color: #ccc;
82 | position: absolute;
83 | left: 50%;
84 | top: 50%;
85 | transform: translateX(-50%);
86 | }
--------------------------------------------------------------------------------
/pages/collect/index.js:
--------------------------------------------------------------------------------
1 | // pages/collect/index.js
2 | Page({
3 |
4 | /**
5 | * 页面的初始数据
6 | */
7 | data: {
8 | collect: [],
9 | tabs: [{
10 | id: 0,
11 | value: "商品收藏",
12 | isActive: true
13 | },
14 | {
15 | id: 1,
16 | value: "品牌收藏",
17 | isActive: false
18 | },
19 | {
20 | id: 2,
21 | value: "店铺收藏",
22 | isActive: false
23 | },
24 | {
25 | id: 3,
26 | value: "浏览器足迹",
27 | isActive: false
28 | }
29 | ],
30 | },
31 |
32 |
33 | /**
34 | * 生命周期函数--监听页面显示
35 | */
36 | onShow: function () {
37 | const collect = wx.getStorageSync('collect');
38 | console.log(collect, '<-collect->');
39 | this.setData({
40 | collect,
41 | })
42 | },
43 |
44 | handleTabsItemChange(e) {
45 | const {
46 | index
47 | } = e.detail;
48 | let {
49 | tabs
50 | } = this.data;
51 | tabs.forEach((v, i) => i === index ? v.isActive = true : v.isActive = false);
52 | this.setData({
53 | tabs,
54 | })
55 | }
56 |
57 | /**
58 | * 生命周期函数--监听页面隐藏
59 | */
60 |
61 | })
--------------------------------------------------------------------------------
/pages/collect/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {
3 | "Tabs": "../../components/Tabs/Tabs"
4 | },
5 | "navigationBarTitleText": "收藏商品"
6 | }
--------------------------------------------------------------------------------
/pages/collect/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 全部
6 | 正在热卖
7 | 即将上线
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 | {{item.basicInfo.name}}
18 | ¥{{item.basicInfo.minPrice}}
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/pages/collect/index.wxss:
--------------------------------------------------------------------------------
1 | /* pages/collect/index.wxss */
2 | .collect_main {
3 | background-color: #f3f4f6;
4 | }
5 |
6 | .collect_main .collect_title {
7 | padding: 40rpx 0;
8 | }
9 |
10 | .collect_main .collect_title .collect_tips {
11 | padding: 15rpx;
12 | border: 1rpx solid #ccc;
13 | margin-left: 25rpx;
14 | background-color: #fff;
15 | }
16 |
17 | .collect_main .collect_title .active {
18 | color: var(--themeColor);
19 | border-color: currentColor;
20 | }
21 |
22 | .collect_main .collect_content .goods_item {
23 | display: flex;
24 | border-bottom: 1px solid #ccc;
25 | background-color: #fff;
26 | }
27 |
28 | .collect_main .collect_content .goods_item .goods_img_wrap {
29 | flex: 2;
30 | display: flex;
31 | justify-content: center;
32 | align-items: center;
33 | }
34 |
35 | .collect_main .collect_content .goods_item .goods_img_wrap image {
36 | width: 70%;
37 | }
38 |
39 | .collect_main .collect_content .goods_item .goods_info_wrap {
40 | flex: 3;
41 | display: flex;
42 | flex-direction: column;
43 | justify-content: space-around;
44 | }
45 |
46 | .collect_main .collect_content .goods_item .goods_info_wrap .goods_name {
47 | display: -webkit-box;
48 | overflow: hidden;
49 | -webkit-box-orient: vertical;
50 | -webkit-line-clamp: 2;
51 | }
52 |
53 | .collect_main .collect_content .goods_item .goods_info_wrap .goods_price {
54 | color: var(--themeColor);
55 | font-size: 32rpx;
56 | }
--------------------------------------------------------------------------------
/pages/feedback/index.js:
--------------------------------------------------------------------------------
1 | // pages/feedback/index.js
2 | Page({
3 |
4 | /**
5 | * 页面的初始数据
6 | */
7 | data: {
8 | tabs: [{
9 | id: 0,
10 | value: "体验问题",
11 | isActive: true
12 | },
13 | {
14 | id: 1,
15 | value: "商品、商家投诉",
16 | isActive: false
17 | }
18 | ],
19 | // 被选中的图片路径 数组
20 | chooseImgs: [],
21 | // 文本域的内容
22 | textVal: ""
23 | },
24 |
25 | uploadImgs: [],
26 |
27 | handleTabsItemChange(e) {
28 | // 1 获取被点击的标题索引
29 | const {
30 | index
31 | } = e.detail;
32 | // 2 修改源数组
33 | let {
34 | tabs
35 | } = this.data;
36 | tabs.forEach((v, i) => i === index ? v.isActive = true : v.isActive = false);
37 | // 3 赋值到data中
38 | this.setData({
39 | tabs
40 | })
41 | },
42 | handleChooseImg() {
43 | wx.chooseImage({
44 | count: 9,
45 | sizeType: ['original', 'compressed'],
46 | sourceType: ['album', 'camera'],
47 | success: (result) => {
48 | this.setData({
49 | chooseImgs: [...this.data.chooseImgs, ...result.tempFilePaths]
50 | })
51 | },
52 | fail: () => {},
53 | complete: () => {}
54 | });
55 | },
56 | handleRemoveImg(e) {
57 | const {
58 | index
59 | } = e.currentTarget.dataset;
60 | let {
61 | chooseImgs
62 | } = this.data;
63 | chooseImgs.splice(index, 1);
64 | this.setData({
65 | chooseImgs,
66 | })
67 | },
68 |
69 | // 文本域的输入事件
70 | handleTextInput(e) {
71 | this.setData({
72 | textVal: e.detail.value,
73 | })
74 | },
75 | //提交表
76 | handleFormSubmit() {
77 | const {
78 | textVal,
79 | chooseImgs
80 | } = this.data;
81 | if (!textVal.trim()) {
82 | wx.showToast({
83 | title: '输入不合法',
84 | icon: 'none',
85 | mask: true,
86 | });
87 | return;
88 | }
89 |
90 | wx.showLoading({
91 | title: '正在上传中',
92 | mask: true,
93 | });
94 |
95 | if (chooseImgs.length != 0) {
96 | this.setData({
97 | textVal: '',
98 | chooseImgs: [],
99 | });
100 | } else {
101 | // wx.hideLoading();
102 | }
103 | wx.hideLoading();
104 | wx.showToast({
105 | title: '提交成功',
106 | icon: 'success',
107 | mask: true,
108 | });
109 | wx.navigateBack({
110 | data: 1,
111 | })
112 | },
113 | })
--------------------------------------------------------------------------------
/pages/feedback/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {
3 | "Tabs":"../../components/Tabs/Tabs",
4 | "UpImg":"../../components/Upimg/Upimg"
5 | },
6 | "navigationBarTileText": "意见反馈"
7 | }
--------------------------------------------------------------------------------
/pages/feedback/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 问题的种类
5 |
6 | 功能建议
7 | 购买遇到问题
8 | 性能问题
9 | 其他
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/pages/feedback/index.wxss:
--------------------------------------------------------------------------------
1 | /* pages/feedback/index.wxss */
2 | page {
3 | background-color: #eeeeee;
4 | }
5 |
6 | .fb_main {
7 | padding: 20rpx;
8 | color: #666;
9 | }
10 |
11 | .fb_main .fb_tips {
12 | display: flex;
13 | flex-wrap: wrap;
14 | }
15 |
16 | .fb_main .fb_tips text {
17 | width: 30%;
18 | padding: 10rpx;
19 | text-align: center;
20 | background-color: #fff;
21 | margin: 20rpx 10rpx;
22 | }
23 |
24 | .fb_main .fb_content {
25 | background-color: #fff;
26 | margin-top: 20rpx;
27 | }
28 |
29 | .fb_main .fb_content textarea {
30 | padding: 10rpx;
31 | }
32 |
33 | .fb_main .fb_tool {
34 | display: flex;
35 | flex-wrap: wrap;
36 | padding-bottom: 30rpx;
37 | }
38 |
39 | .fb_main .fb_tool button {
40 | margin: 0;
41 | width: 90rpx;
42 | height: 90rpx;
43 | font-size: 60rpx;
44 | padding: 0;
45 | display: flex;
46 | justify-content: center;
47 | align-items: center;
48 | margin-left: 20rpx;
49 | margin-top: 20rpx;
50 | color: #ccc;
51 | }
52 |
53 | .fb_main .fb_tool .up_img_item {
54 | margin-left: 20rpx;
55 | margin-top: 20rpx;
56 | }
57 |
58 | .fb_main .form_btn_wrap {
59 | margin-top: 20rpx;
60 | display: flex;
61 | justify-content: flex-end;
62 | }
63 |
64 | .fb_main .form_btn_wrap button {
65 | margin: 0;
66 | width: 40%;
67 | background-color: var(--themeColor);
68 | color: #fff;
69 | text-align: center;
70 | display: flex;
71 | justify-content: space-between;
72 | align-items: center;
73 | }
--------------------------------------------------------------------------------
/pages/goods_detail/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {},
3 | "navigationBarTitleText": "商品详情"
4 | }
--------------------------------------------------------------------------------
/pages/goods_detail/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | ¥{{goodsObj.goods_price}}
11 |
12 | {{goodsObj.goods_name}}
13 |
14 |
15 | 收藏
16 |
17 |
18 |
19 | 图文详情
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 | 客服
31 |
32 |
33 |
34 |
35 | 分享
36 |
37 |
38 |
39 |
40 | 购物车
41 |
42 | 加入购物车
43 | 立即购买
44 |
--------------------------------------------------------------------------------
/pages/goods_detail/index.wxss:
--------------------------------------------------------------------------------
1 | /* pages/goods_detail/index.wxss */
2 | page {
3 | padding-bottom: 90rpx;
4 | }
5 |
6 | .detail_swiper swiper {
7 | height: 65vw;
8 | text-align: center;
9 | }
10 |
11 | .detail_swiper swiper image {
12 | width: 60%;
13 | }
14 |
15 | .goods_price {
16 | padding: 15rpx;
17 | font-size: 32rpx;
18 | font-weight: 600;
19 | color: var(--themeColor);
20 | }
21 |
22 | .goods_name_row {
23 | border-top: 5rpx solid #dedede;
24 | border-bottom: 5rpx solid #dedede;
25 | padding: 10rpx 0;
26 | display: flex;
27 | }
28 |
29 | .goods_name_row .goods_name {
30 | flex: 5;
31 | color: #000;
32 | font-size: 30rpx;
33 | padding: 0 10rpx;
34 | display: -webkit-box;
35 | overflow: hidden;
36 | -webkit-box-orient: vertical;
37 | -webkit-line-clamp: 2;
38 | }
39 |
40 | .goods_name_row .goods_collect {
41 | flex: 1;
42 | display: flex;
43 | flex-direction: column;
44 | justify-content: center;
45 | align-items: center;
46 | border-left: 1rpx solid #000;
47 | }
48 |
49 | .goods_name_row .goods_collect .icon-shoucang1 {
50 | color: orangered;
51 | }
52 |
53 | .goods_info .goods_info_title {
54 | font-size: 32rpx;
55 | color: var(--themeColor);
56 | font-weight: 600;
57 | padding: 20rpx;
58 | }
59 |
60 | .btm_tool {
61 | border-top: 1rpx solid #ccc;
62 | position: fixed;
63 | left: 0;
64 | bottom: 0;
65 | width: 100%;
66 | height: 90rpx;
67 | background-color: #fff;
68 | display: flex;
69 | }
70 |
71 | .btm_tool .tool_item {
72 | flex: 1;
73 | display: flex;
74 | flex-direction: column;
75 | justify-content: center;
76 | align-items: center;
77 | font-size: 24rpx;
78 | position: relative;
79 | }
80 |
81 | .btm_tool .tool_item button {
82 | position: absolute;
83 | top: 0;
84 | left: 0;
85 | width: 100%;
86 | height: 100%;
87 | opacity: 0;
88 | }
89 |
90 | .btm_tool .btn_cart {
91 | flex: 2;
92 | display: flex;
93 | flex-direction: column;
94 | justify-content: center;
95 | align-items: center;
96 | background-color: #ffa500;
97 | color: #fff;
98 | font-size: 30rpx;
99 | font-weight: 600;
100 | }
101 |
102 | .btm_tool .btn_buy {
103 | flex: 2;
104 | display: flex;
105 | flex-direction: column;
106 | justify-content: center;
107 | align-items: center;
108 | background-color: #eb4450;
109 | color: #fff;
110 | font-size: 30rpx;
111 | font-weight: 600;
112 | }
--------------------------------------------------------------------------------
/pages/goods_list/index.js:
--------------------------------------------------------------------------------
1 | // pages/goods_list/index.js
2 | import {
3 | http,
4 | } from '../../request/index';
5 | import regeneratorRuntime from '../../lib/runtime/runtime';
6 |
7 | const WXAPI = require('apifm-wxapi');
8 | const app = getApp();
9 | Page({
10 |
11 | /**
12 | * 页面的初始数据
13 | */
14 | data: {
15 | tabs: [{
16 | id: 0,
17 | value: "综合",
18 | isActive: true
19 | },
20 | {
21 | id: 1,
22 | value: "销量",
23 | isActive: false
24 | },
25 | {
26 | id: 2,
27 | value: "价格",
28 | isActive: false
29 | }
30 | ],
31 | goodsList: []
32 | },
33 |
34 | QueryParams: {
35 | query: '',
36 | cid: '',
37 | pagenum: 1,
38 | pagesize: 10,
39 | },
40 | totalPages: 1,
41 |
42 | /**
43 | * 生命周期函数--监听页面加载
44 | */
45 | onLoad: function (options) {
46 | this.QueryParams.cid = options.cid || '';
47 | this.QueryParams.query = options.query || "";
48 | this.getList();
49 | // this.getGoodsList();
50 | },
51 |
52 | async getList() {
53 | // const res = await http({
54 | // url: "/shop/goods/list",
55 | // });
56 | // const {
57 | // data
58 | // } = res;
59 | // if (res.code == 0) {
60 | // this.setData({
61 | // goodsList: [...this.data.goodsList, ...data],
62 | // })
63 | // }
64 | await WXAPI.goods().then(res => app.handleDestruction(res))
65 | .then((data) => {
66 | this.setData({
67 | goodsList: [...this.data.goodsList, ...data],
68 | })
69 | });
70 | wx.stopPullDownRefresh();
71 | },
72 |
73 | handleTabsItemChange(e) {
74 | // console.log(e, '<-e->');
75 | const {
76 | index
77 | } = e.detail;
78 |
79 | let {
80 | tabs
81 | } = this.data;
82 | tabs.forEach((v, i) => i === index ? v.isActive = true : v.isActive = false);
83 | this.setData({
84 | tabs,
85 | })
86 | },
87 | // 页面上滑 滚动条触底事件
88 | onReachBottom() {
89 | // 1 判断还有没有下一页数据
90 | if (this.QueryParams.pagenum >= this.totalPages) {
91 | // 没有下一页数据
92 | // console.log('%c'+"没有下一页数据","color:red;font-size:100px;background-image:linear-gradient(to right,#0094ff,pink)");
93 | wx.showToast({
94 | title: '没有下一页数据'
95 | });
96 |
97 | } else {
98 | // 还有下一页数据
99 | // console.log('%c'+"有下一页数据","color:red;font-size:100px;background-image:linear-gradient(to right,#0094ff,pink)");
100 | this.QueryParams.pagenum++;
101 | this.getGoodsList();
102 | }
103 | },
104 | // 下拉刷新事件
105 | onPullDownRefresh() {
106 | // 1 重置数组
107 | this.setData({
108 | goodsList: []
109 | })
110 | // 2 重置页码
111 | this.QueryParams.pagenum = 1;
112 | // 3 发送请求
113 | this.getList();
114 | },
115 | })
--------------------------------------------------------------------------------
/pages/goods_list/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {
3 | "SearchInput": "../../components/SearchInput/SearchInput",
4 | "Tabs": "../../components/Tabs/Tabs"
5 | },
6 | "navigationBarTitleText": "商品列表",
7 | "enablePullDownRefresh": true,
8 | "backgroundTextStyle": "dark"
9 | }
--------------------------------------------------------------------------------
/pages/goods_list/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | {{item.name}}
13 | ¥{{item.minPrice}}
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/pages/goods_list/index.wxss:
--------------------------------------------------------------------------------
1 | /* pages/goods_list/index.wxss */
2 | /* pages/goods_list/index.wxss */
3 | .first_tab .goods_item {
4 | display: flex;
5 | border-bottom: 1px solid #ccc;
6 | }
7 |
8 | .first_tab .goods_item .goods_img_wrap {
9 | flex: 2;
10 | display: flex;
11 | justify-content: center;
12 | align-items: center;
13 | }
14 |
15 | .first_tab .goods_item .goods_img_wrap image {
16 | width: 70%;
17 | }
18 |
19 | .first_tab .goods_item .goods_info_wrap {
20 | flex: 3;
21 | display: flex;
22 | flex-direction: column;
23 | justify-content: space-around;
24 | }
25 |
26 | .first_tab .goods_item .goods_info_wrap .goods_name {
27 | display: -webkit-box;
28 | overflow: hidden;
29 | -webkit-box-orient: vertical;
30 | -webkit-line-clamp: 2;
31 | }
32 |
33 | .first_tab .goods_item .goods_info_wrap .goods_price {
34 | color: var(--themeColor);
35 | font-size: 32rpx;
36 | }
--------------------------------------------------------------------------------
/pages/index/index.js:
--------------------------------------------------------------------------------
1 | //Page Object
2 | import {
3 | request,
4 | http,
5 | } from '../../request/index';
6 | const WXAPI = require('apifm-wxapi');
7 | const app = getApp(); // 获取全局
8 | Page({
9 | data: {
10 | swiperList: [],
11 | catesList: [],
12 | goodsList: [],
13 | },
14 | //options(Object)
15 | onLoad: function (options) {
16 | this.getSwiperList();
17 | this.getCateList();
18 | this.getGoodsList();
19 | },
20 | getSwiperList() {
21 | // http({
22 | // url: "/banner/list"
23 | // })
24 | // .then(res => {
25 | // const {
26 | // data
27 | // } = res;
28 | // if (res.code == 0) {
29 | // this.setData({
30 | // swiperList: data
31 | // })
32 | // }
33 | // })
34 | // handleDestruction 为定义在 app.js里面的全局方法,用于解构数据
35 | WXAPI.banners().then(res => app.handleDestruction(res))
36 | .then((data) => {
37 |
38 |
39 | this.setData({
40 | swiperList: data,
41 | })
42 | });
43 | },
44 | getCateList() {
45 | // http({
46 | // url: "/shop/goods/category/all"
47 | // })
48 | // .then(res => {
49 | // // console.log(res, '<-res->');
50 | // const {
51 | // data
52 | // } = res;
53 | // if (res.code == 0) {
54 | // this.setData({
55 | // catesList: data
56 | // })
57 | // }
58 | // });
59 | WXAPI.goodsCategory().then(res => app.handleDestruction(res))
60 | .then((data) => {
61 | // console.log(data, '<-data456->');
62 | this.setData({
63 | catesList: data,
64 | })
65 | });
66 | },
67 |
68 | getGoodsList() {
69 | // http({
70 | // url: "/shop/goods/list"
71 | // })
72 | // .then(res => {
73 | // console.log(res, '<-res456->');
74 | // const {
75 | // data
76 | // } = res;
77 | // if (res.code == 0) {
78 | // this.setData({
79 | // goodsList: data
80 | // })
81 | // }
82 | // });
83 | WXAPI.goods().then(res => app.handleDestruction(res))
84 | .then((data) => {
85 | // console.log(data, '<-data->');
86 | this.setData({
87 | goodsList: data,
88 | })
89 | });
90 | },
91 | handleToCategory(e) {
92 |
93 | getApp().globalData.custom = {
94 | index: e.currentTarget.dataset.index,
95 | id: e.currentTarget.dataset.id
96 | };
97 |
98 | wx.switchTab({
99 | url: '/pages/category/index',
100 | success: function () {
101 | var page = getCurrentPages().pop();
102 | if (page == undefined || page == null) return;
103 | page.onLoad();
104 | }
105 | });
106 | }
107 | // url="/pages/category/index" open-type="switchTab"
108 | });
--------------------------------------------------------------------------------
/pages/index/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {
3 | "SearchInput": "../../components/SearchInput/SearchInput"
4 | },
5 | "navigationBarTitleText": "首页"
6 | }
--------------------------------------------------------------------------------
/pages/index/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 | {{item.name}}
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 | 商品列表
30 |
31 |
32 |
33 |
34 |
35 |
36 | {{item.name}}
37 |
38 | ¥ {{item.minPrice}}
39 |
40 | ¥ {{item.originalPrice}}
41 |
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/pages/index/index.wxss:
--------------------------------------------------------------------------------
1 | .index_swiper swiper {
2 | height: 340rpx;
3 | width: 750rpx;
4 | }
5 |
6 | .index_swiper swiper image {
7 | width: 100%;
8 | }
9 |
10 | .category-box {
11 | /* background-color: #fff; */
12 | display: flex;
13 | flex-wrap: wrap;
14 | margin-top: 30rpx;
15 | }
16 |
17 | .category-list {
18 | width: 150rpx;
19 | margin-top: 20rpx;
20 | text-align: center;
21 | display: inline-block;
22 | overflow: hidden;
23 | }
24 |
25 | .category-column {
26 | width: 100%;
27 | margin-top: 20rpx;
28 | overflow: hidden;
29 | }
30 |
31 | .category-imgbox {
32 | width: 80rpx;
33 | height: 80rpx;
34 | }
35 |
36 | .category-title {
37 | font-size: 24rpx;
38 | text-align: center;
39 | margin-top: 10rpx;
40 | }
41 |
42 | .title-box {
43 | /* margin-bottom: 0px; */
44 | margin-top: 40rpx;
45 | display: flex;
46 | justify-content: center;
47 | background-color: #F2f2f2;
48 | }
49 |
50 | .title {
51 | padding: 24rpx;
52 | color: rgba(0, 0, 0, .5);
53 | font-size: 28rpx;
54 | }
55 |
56 | .weui-loadmore {
57 | margin-bottom: 0px;
58 | }
59 |
60 | .goods-container {
61 | display: flex;
62 | justify-content: space-between;
63 | flex-wrap: wrap;
64 | box-sizing: content-box;
65 | padding: 24rpx;
66 | background-color: #F2f2f2;
67 | }
68 |
69 | .goods-box {
70 | width: 339rpx;
71 | height: 472rpx;
72 | background-color: #fff;
73 | overflow: hidden;
74 | margin-bottom: 24rpx;
75 | border-radius: 5px;
76 | }
77 |
78 | .goods-box .img-box {
79 | width: 339rpx;
80 | height: 339rpx;
81 | overflow: hidden;
82 | }
83 |
84 | .goods-box .img-box image {
85 | width: 339rpx;
86 | height: 339rpx;
87 | }
88 |
89 | .goods-box .goods-title {
90 | width: 280rpx;
91 | text-overflow: ellipsis;
92 | white-space: nowrap;
93 | overflow: hidden;
94 | font-size: 24rpx;
95 | padding: 24rpx 0 0rpx 0;
96 | color: #000;
97 | margin-left: 24rpx;
98 | }
99 |
100 | .goods-box .goods-price {
101 | width: 280rpx;
102 | overflow: hidden;
103 | font-size: 24rpx;
104 | padding: 24rpx 0;
105 | color: #e64340;
106 | margin-left: 24rpx;
107 | }
--------------------------------------------------------------------------------
/pages/order/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {
3 | "Tabs": "../../components/Tabs/Tabs"
4 | },
5 | "navigationBarTitleText": "订单列表"
6 | }
--------------------------------------------------------------------------------
/pages/order/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {{item}}
5 |
6 |
7 |
8 |
9 |
10 | 暂无订单
11 |
12 |
13 |
14 |
15 | {{item.orderNumber}}
16 | {{item.statusStr}}
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 | 共 {{item.goodsNumber}} 件商品 合计:
25 | ¥ {{item.amountReal}}
26 | ¥ {{item.amountReal}} + {{item.score}} 积分
27 |
28 |
29 |
30 |
31 | {{item.dateAdd}}
32 |
33 |
34 |
35 |
36 | 取消订单
37 |
38 |
41 |
42 | 退换货
43 |
44 |
45 |
46 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/pages/order/index.wxss:
--------------------------------------------------------------------------------
1 | .container {
2 | width: 100%;
3 | background-color: #F2f2f2;
4 | }
5 |
6 | .status-box {
7 | width: 100%;
8 | height: 88rpx;
9 | line-height: 88rpx;
10 | display: flex;
11 | justify-content: space-between;
12 | align-items: center;
13 | background-color: #fff;
14 | }
15 |
16 | .status-box .status-label {
17 | width: 150rpx;
18 | height: 100%;
19 | text-align: center;
20 | font-size: 28rpx;
21 | color: #353535;
22 | box-sizing: border-box;
23 | position: relative;
24 | }
25 |
26 | .status-box .status-label.active {
27 | color: #e64340;
28 | border-bottom: 6rpx solid #e64340;
29 | }
30 |
31 | .no-order {
32 | width: 100%;
33 | position: absolute;
34 | bottom: 0;
35 | top: 88rpx;
36 | left: 0;
37 | right: 0;
38 | text-align: center;
39 | padding-top: 203rpx;
40 | background-color: #F2f2f2;
41 | }
42 |
43 | .no-order-img {
44 | width: 81rpx;
45 | height: 96rpx;
46 | margin-bottom: 31rpx;
47 | }
48 |
49 | .no-order .text {
50 | font-size: 28rpx;
51 | color: #999999;
52 | text-align: center
53 | }
54 |
55 | .order-list {
56 | width: 100%;
57 | }
58 |
59 | .order-list .a-order {
60 | width: 100%;
61 | background-color: #fff;
62 | margin-top: 20rpx;
63 | }
64 |
65 | .a-order .goods-info,
66 | .goods-img-container {
67 | width: 720rpx;
68 | margin-left: 30rpx;
69 | border-top: 1rpx solid #eee;
70 | padding: 30rpx 0;
71 | display: flex;
72 | align-items: center;
73 | }
74 |
75 | .goods-price {
76 | font-size: 26rpx;
77 | width: 720rpx;
78 | text-align: right;
79 | margin-bottom: 30rpx;
80 | }
81 |
82 | .goods-price .p {
83 | font-size: 36rpx;
84 | color: #e64340;
85 | }
86 |
87 | .goods-info .img-box {
88 | width: 120rpx;
89 | height: 120rpx;
90 | overflow: hidden;
91 | margin-right: 30rpx;
92 | background-color: #f7f7f7;
93 | }
94 |
95 | .goods-info .img-box .goods-img,
96 | .goods-img-container .img-box .goods-img {
97 | width: 120rpx;
98 | height: 120rpx;
99 | }
100 |
101 | .goods-info .goods-des {
102 | font-size: 26rpx;
103 | color: #000000;
104 | }
105 |
106 | .goods-img-container {
107 | height: 180rpx;
108 | box-sizing: border-box;
109 | white-space: nowrap;
110 | }
111 |
112 | .goods-img-container .img-box {
113 | width: 120rpx;
114 | height: 120rpx;
115 | overflow: hidden;
116 | margin-right: 20rpx;
117 | background-color: #f7f7f7;
118 | display: inline-block;
119 | }
120 |
121 | .price-box {
122 | width: 720rpx;
123 | display: flex;
124 | flex-direction: row-reverse;
125 | padding-bottom: 30rpx;
126 | }
127 |
128 | .price-box .btn {
129 | width: 166rpx;
130 | height: 60rpx;
131 | box-sizing: border-box;
132 | text-align: center;
133 | line-height: 60rpx;
134 | border: 1rpx solid #ccc;
135 | border-radius: 6rpx;
136 | margin-left: 20rpx;
137 | font-size: 26rpx;
138 | }
139 |
140 | .price-box .active {
141 | border: 1px solid #e64340;
142 | color: #e64340;
143 | }
144 |
145 | .remark {
146 | color: #e64340;
147 | margin-bottom: 20rpx;
148 | }
--------------------------------------------------------------------------------
/pages/pay/index.js:
--------------------------------------------------------------------------------
1 | // pages/pay/index.js
2 | import regeneratorRuntime from '../../lib/runtime/runtime';
3 | import {
4 | request,
5 | http,
6 | } from "../../request/index.js";
7 | const WXAPI = require('apifm-wxapi');
8 | const AUTH = require('../../utils/auth')
9 | Page({
10 |
11 | /**
12 | * 页面的初始数据
13 | */
14 | data: {
15 | address: {},
16 | curAddressData: {},
17 | cart: [],
18 | totalPrice: 0,
19 | totalNum: 0,
20 | isNeedLogistics: 0,
21 | // wxlogin: true,
22 | },
23 |
24 | /**
25 | * 生命周期函数--监听页面加载
26 | */
27 | onLoad: function (options) {
28 |
29 | let cart = wx.getStorageSync('cart') || [];
30 |
31 | let single = wx.getStorageSync('single') || [];
32 |
33 | cart = cart.filter(v => v.checked);
34 |
35 | // this.setData({ address });
36 | this.setData({
37 | isNeedLogistics: 1,
38 | })
39 |
40 | let totalPrice = 0;
41 | let totalNum = 0;
42 | if (single.length > 0) {
43 | this.setData({
44 | cart: single,
45 | totalNum: 1,
46 | totalPrice: single[0].basicInfo.minPrice,
47 | })
48 | } else {
49 | cart.forEach(v => {
50 | cart,
51 | totalPrice += v.num * v.basicInfo.minPrice;
52 | totalNum += v.num;
53 | });
54 | this.setData({
55 | cart,
56 | totalPrice,
57 | totalNum,
58 | })
59 | }
60 | // this.initShippingAddress();
61 | },
62 |
63 | onShow() {
64 | this.initShippingAddress();
65 | },
66 |
67 | async handleOrderPay() {
68 | // 1 判断缓存中有没有token
69 | const token = wx.getStorageSync("token");
70 | // 2 判断
71 | if (!token) {
72 | AUTH.login();
73 | return;
74 | }
75 | const order_price = this.data.totalPrice;
76 |
77 | const consignee_addr = this.data.curAddressData;
78 |
79 | const cart = this.data.cart;
80 |
81 |
82 |
83 | let goods = [];
84 | cart.forEach(v => goods.push({
85 | goodsId: v.basicInfo.id,
86 | number: v.num || 1,
87 | propertyChildIds: "",
88 | logisticsType: 0
89 | }))
90 |
91 | let postData = {
92 | token: token,
93 | goodsJsonStr: JSON.stringify(goods),
94 | address: consignee_addr.address,
95 | linkMan: consignee_addr.linkMan,
96 | mobile: consignee_addr.mobile,
97 | provinceId: consignee_addr.provinceId,
98 | cityId: consignee_addr.cityId,
99 | code: consignee_addr.code,
100 | };
101 | await this.CreateOrder(postData);
102 | wx.navigateTo({
103 | url: '/pages/order/index'
104 | });
105 | },
106 |
107 | async CreateOrder(params) {
108 | await WXAPI.orderCreate(params).then(function (res) {
109 | if (res.code != 0) {
110 | wx.showModal({
111 | title: '错误',
112 | content: res.msg,
113 | showCancel: false
114 | })
115 | return;
116 | }
117 | })
118 | wx.removeStorageSync('single');
119 | this.clearPayProduct();
120 | },
121 |
122 | clearPayProduct() {
123 |
124 | let cartTotal = wx.getStorageSync('cart') || [];
125 |
126 | let newCart = cartTotal.filter(val => val.checked === false)
127 |
128 | wx.setStorageSync('cart', newCart);
129 | },
130 | //
131 |
132 | async initShippingAddress() {
133 | const res = await WXAPI.defaultAddress(wx.getStorageSync("token"))
134 | if (res.code == 0) {
135 | this.setData({
136 | curAddressData: res.data.info
137 | });
138 | } else {
139 | this.setData({
140 | curAddressData: null
141 | });
142 | }
143 | },
144 |
145 | addAddress: function () {
146 | wx.navigateTo({
147 | url: "/pages/address-add/index"
148 | })
149 | },
150 | selectAddress: function () {
151 | wx.navigateTo({
152 | url: "/pages/select-address/index"
153 | })
154 | },
155 | onUnload() {
156 | wx.removeStorageSync('single');
157 | }
158 | })
--------------------------------------------------------------------------------
/pages/pay/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {},
3 | "navigationBarTitleText": "商品支付"
4 | }
--------------------------------------------------------------------------------
/pages/pay/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | {{item.basicInfo.name}}
13 |
14 | ¥{{item.basicInfo.minPrice}}
15 |
16 | X {{item.num}}
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 | 新增收货地址
27 |
28 |
29 | {{curAddressData.linkMan}} {{curAddressData.mobile}}
30 | {{curAddressData.address}}
31 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/pages/search/index.js:
--------------------------------------------------------------------------------
1 | // pages/search/index.js
2 | import {
3 | request,
4 | http
5 | } from "../../request/index.js";
6 | import regeneratorRuntime from '../../lib/runtime/runtime';
7 | const WXAPI = require('apifm-wxapi');
8 | const app = getApp(); // 获取全局
9 | Page({
10 |
11 | /**
12 | * 页面的初始数据
13 | */
14 | data: {
15 | goods: [],
16 | isFocus: false,
17 | inpValue: '',
18 | },
19 | TimeId: -1,
20 | goodsList: [],
21 |
22 | /**
23 | * 生命周期函数--监听页面显示
24 | */
25 | onShow: function () {
26 | this.getGoodsList();
27 | },
28 |
29 | handleInput(e) {
30 | // console.log(this.data.goodsList, '<-this.data.goodsList->');
31 | const {
32 | value
33 | } = e.detail;
34 | // console.log(value, '<-value->');
35 | if (!value.trim()) {
36 | this.setData({
37 | goods: [],
38 | isFocus: false,
39 | })
40 | return;
41 | }
42 | this.setData({
43 | isFocus: true,
44 | })
45 | clearTimeout(this.TimeId);
46 | this.TimeId = setTimeout(() => {
47 | // this.qsearch(value);
48 | let goodsArr = [];
49 | if (this.goodsList.length > 0) {
50 | this.goodsList.map(v => {
51 | if (v.name) {
52 | let arr = v.name.indexOf(value) >= 0 ? v : false;
53 | if (arr) {
54 | goodsArr.push(arr);
55 | }
56 | }
57 | })
58 | }
59 | this.setData({
60 | goods: goodsArr,
61 | });
62 | }, 1000);
63 | },
64 |
65 | async getGoodsList() {
66 | // const res = await http({
67 | // url: "/shop/goods/list",
68 | // });
69 | // const {
70 | // data
71 | // } = res;
72 | // if (res.code == 0) {
73 | // this.goodsList = data;
74 | // }
75 | await WXAPI.goods().then(res => app.handleDestruction(res))
76 | .then((data) => {
77 | this.goodsList = data;
78 | });
79 | },
80 |
81 | // async qsearch(query) {
82 | // const res = await request({url: "/goods/qsearch", data:{query}});
83 | // this.setData({
84 | // goods: res,
85 | // })
86 | // },
87 |
88 | handleCancel() {
89 | this.setData({
90 | inpValue: '',
91 | isFocus: false,
92 | goods: [],
93 | });
94 | },
95 |
96 | /**
97 | * 生命周期函数--监听页面隐藏
98 | */
99 | })
--------------------------------------------------------------------------------
/pages/search/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {},
3 | "navigationBarTitleText": "搜索中心"
4 | }
--------------------------------------------------------------------------------
/pages/search/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | {{item.name}}
9 |
10 |
11 |
--------------------------------------------------------------------------------
/pages/search/index.wxss:
--------------------------------------------------------------------------------
1 | /* pages/search/index.wxss */
2 | page {
3 | background-color: #dedede;
4 | padding: 20rpx;
5 | }
6 | .search_row {
7 | height: 60rpx;
8 | display: flex;
9 | }
10 | .search_row input {
11 | background-color: #fff;
12 | flex: 1;
13 | height: 100%;
14 | padding-left: 30rpx;
15 | }
16 | .search_row button {
17 | width: 110rpx;
18 | height: 100%;
19 | padding: 0;
20 | margin: 0 10rpx;
21 | display: flex;
22 | justify-content: center;
23 | align-items: center;
24 | font-size: 26rpx;
25 | }
26 | .search_content {
27 | margin-top: 30rpx;
28 | }
29 | .search_content .search_item {
30 | background-color: #fff;
31 | font-size: 26rpx;
32 | padding: 15rpx 10rpx;
33 | border-bottom: 1rpx solid #ccc;
34 | overflow: hidden;
35 | white-space: nowrap;
36 | text-overflow: ellipsis;
37 | }
38 |
--------------------------------------------------------------------------------
/pages/select-address/index.js:
--------------------------------------------------------------------------------
1 | const WXAPI = require('apifm-wxapi')
2 | const AUTH = require('../../utils/auth')
3 |
4 | const app = getApp()
5 | Page({
6 | data: {
7 | addressList: []
8 | },
9 |
10 | selectTap: function(e) {
11 | var id = e.currentTarget.dataset.id;
12 | WXAPI.updateAddress({
13 | token: wx.getStorageSync('token'),
14 | id: id,
15 | isDefault: 'true'
16 | }).then(function(res) {
17 | wx.navigateBack({})
18 | })
19 | },
20 |
21 | addAddess: function() {
22 | wx.navigateTo({
23 | url: "/pages/address-add/index"
24 | })
25 | },
26 |
27 | editAddess: function(e) {
28 | wx.navigateTo({
29 | url: "/pages/address-add/index?id=" + e.currentTarget.dataset.id
30 | })
31 | },
32 |
33 | onLoad: function() {
34 | },
35 | onShow: function() {
36 | AUTH.checkHasLogined().then(isLogined => {
37 | if (isLogined) {
38 | this.initShippingAddress();
39 | } else {
40 | wx.showModal({
41 | title: '提示',
42 | content: '本次操作需要您的登录授权',
43 | cancelText: '暂不登录',
44 | confirmText: '前往登录',
45 | success(res) {
46 | if (res.confirm) {
47 | wx.switchTab({
48 | url: "/pages/user/index"
49 | })
50 | } else {
51 | wx.navigateBack()
52 | }
53 | }
54 | })
55 | }
56 | })
57 | },
58 | initShippingAddress: function() {
59 | var that = this;
60 | WXAPI.queryAddress(wx.getStorageSync('token')).then(function(res) {
61 | console.log(res, '<-resDa->');
62 | if (res.code == 0) {
63 | that.setData({
64 | addressList: res.data
65 | });
66 | } else if (res.code == 700) {
67 | that.setData({
68 | addressList: null
69 | });
70 | }
71 | })
72 | }
73 |
74 | })
--------------------------------------------------------------------------------
/pages/select-address/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {},
3 | "navigationBarTitleText": "选择收货地址"
4 | }
--------------------------------------------------------------------------------
/pages/select-address/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {{item.linkMan}} {{item.mobile}}
6 | {{item.address}}
7 |
8 |
9 |
10 |
11 |
12 | 新增收货地址
13 |
14 |
15 |
--------------------------------------------------------------------------------
/pages/select-address/index.wxss:
--------------------------------------------------------------------------------
1 | .container {
2 | background-color: #F2f2f2;
3 | }
4 |
5 | .address-list {
6 | width: 100%;
7 | background-color: #fff;
8 | margin-top: 20rpx;
9 | padding-bottom: 100rpx;
10 | }
11 |
12 | .address-list .a-address {
13 | width: 720rpx;
14 | margin-left: 30rpx;
15 | display: flex;
16 | justify-content: space-between;
17 | align-items: center;
18 | padding: 30rpx 0;
19 | border-bottom: 1rpx solid #eee;
20 | }
21 |
22 | .a-address .left-text {
23 | width: 610rpx;
24 | box-sizing: border-box;
25 | padding-left: 58rpx;
26 | }
27 |
28 | .a-address .left-text.active {
29 | background: url(https://cdn.it120.cc/images/weappshop/addr-active.png) no-repeat left center;
30 | background-size: 28rpx auto;
31 | }
32 |
33 | .a-address .left-text .name-tel {
34 | margin-bottom: 20rpx;
35 | }
36 |
37 | .a-address .left-text .address-box {
38 | font-size: 24rpx;
39 | color: #888888;
40 | line-height: 36rpx;
41 | }
42 |
43 | .a-address .right-edit {
44 | width: 109rpx;
45 | height: 100%;
46 | padding: 50rpx 0 50rpx 58rpx;
47 | box-sizing: border-box;
48 | background: url(https://cdn.it120.cc/images/weappshop/addr-edit.png) no-repeat 43rpx center;
49 | background-size: 35rpx auto;
50 | }
51 |
52 | .bottom-box {
53 | position: fixed;
54 | width: 100%;
55 | bottom: 0;
56 | font-size: 28rpx;
57 | color: #000000;
58 | border-top: 1rpx solid #eee;
59 | height: 100rpx;
60 | line-height: 100rpx;
61 | background: #fff url(https://cdn.it120.cc/images/weappshop/arrow-right.png) no-repeat 705rpx center;
62 | background-size: 15rpx auto;
63 | }
64 |
65 | .bottom-box .add-btn {
66 | margin-left: 30rpx;
67 | padding-left: 70rpx;
68 | background: url(https://cdn.it120.cc/images/weappshop/add-addr.png) no-repeat left center;
69 | background-size: 40rpx auto;
70 | }
--------------------------------------------------------------------------------
/pages/user/index.js:
--------------------------------------------------------------------------------
1 | /*
2 | * @Author: kotoba
3 | * @Date: 2020-03-22 16:46:54
4 | * @LastEditTime: 2021-04-09 19:46:03
5 | */
6 | // pages/user/index.js
7 | const AUTH = require('../../utils/auth')
8 | Page({
9 | data: {
10 | userinfo: {},
11 | // 被收藏的商品的数量
12 | collectNums: 0,
13 | wxlogin: true,
14 | },
15 | onShow() {
16 | const userinfo = wx.getStorageSync("userinfo");
17 | const collect = wx.getStorageSync("collect") || [];
18 | if (!userinfo) {
19 | this.setData({
20 | wxlogin: false,
21 | userinfo: {},
22 | collectNums: 0,
23 | })
24 | } else {
25 | this.setData({
26 | userinfo,
27 | collectNums: collect.length,
28 | })
29 | }
30 |
31 | // this.setData({
32 | // userinfo,
33 | // collectNums: collect.length
34 | // });
35 | },
36 | cancelLogin() {
37 | this.setData({
38 | wxlogin: true
39 | })
40 | },
41 | processLogin(e) {
42 | var that = this;
43 | wx.getUserProfile({
44 | desc: "获取用户信息",
45 | success: (res) => {
46 | const {
47 | userInfo
48 | } = res;
49 | wx.setStorageSync("userinfo", userInfo);
50 | this.getUserInfo()
51 | AUTH.register(that);
52 | },
53 | fail: () => {
54 | wx.showToast({
55 | title: '获取用户信息失败',
56 | icon: 'none',
57 | })
58 | }
59 | })
60 | },
61 |
62 | getUserInfo() {
63 | const userinfo = wx.getStorageSync("userinfo");
64 | const collect = wx.getStorageSync("collect") || [];
65 |
66 | this.setData({
67 | userinfo,
68 | collectNums: collect.length,
69 | wxlogin: true,
70 | });
71 | },
72 | login() {
73 | this.setData({
74 | wxlogin: false
75 | })
76 | },
77 | })
--------------------------------------------------------------------------------
/pages/user/index.json:
--------------------------------------------------------------------------------
1 | {
2 | "usingComponents": {},
3 | "navigationBarTitleText": "个人中心"
4 | }
--------------------------------------------------------------------------------
/pages/user/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | {{userinfo.nickName}}
9 |
10 |
11 |
12 |
13 | 点击登录账户
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 | 0
22 | 收藏的店铺
23 |
24 |
25 | {{collectNums}}
26 | 收藏的商品
27 |
28 |
29 | 0
30 | 关注的商品
31 |
32 |
33 | 0
34 | 我的足迹
35 |
36 |
37 |
38 |
39 | 我的订单
40 |
41 |
42 |
43 | 待付款
44 |
45 |
46 |
47 | 待发货
48 |
49 |
50 |
51 | 待收货
52 |
53 |
54 |
55 | 待评价
56 |
57 |
58 |
59 | 已完成
60 |
61 |
62 |
63 |
64 | 收货地址管理
65 |
66 |
67 |
68 | 联系客服
69 | 13944362281
70 |
71 | 意见反馈
72 | 关于我们
73 |
74 |
75 | 把应用推荐给其他人
76 |
77 |
78 |
--------------------------------------------------------------------------------
/pages/user/index.wxss:
--------------------------------------------------------------------------------
1 | /* pages/user/index.wxss */
2 | @import "/template/login/index.wxss";
3 |
4 | page {
5 | background-color: #edece8;
6 | }
7 |
8 | .user_info_wrap {
9 | height: 45vh;
10 | overflow: hidden;
11 | background-color: #1CD8D2;
12 | /* background: linear-gradient(-90deg, rgba(252, 88, 89, 1) 0%, rgba(255, 167, 124, 1) 100%) no-repeat; */
13 | position: relative;
14 | }
15 |
16 | .nologin {
17 | width: 120rpx;
18 | margin: 0 auto;
19 | }
20 |
21 | .user_info_wrap .user_img_wrap {
22 | position: relative;
23 | }
24 |
25 | .user_info_wrap .user_img_wrap .user_bg {
26 | height: 50vh;
27 | filter: blur(10rpx);
28 | }
29 |
30 | .user_info_wrap .user_img_wrap .user_info {
31 | position: absolute;
32 | left: 50%;
33 | transform: translateX(-50%);
34 | top: 20%;
35 | text-align: center;
36 | }
37 |
38 | .user_info_wrap .user_img_wrap .user_info .user_icon {
39 | width: 150rpx;
40 | height: 150rpx;
41 | border-radius: 50%;
42 | }
43 |
44 | .user_info_wrap .user_img_wrap .user_info .user_name {
45 | color: #fff;
46 | margin-top: 40rpx;
47 | }
48 |
49 | .user_info_wrap .user_btn {
50 | position: absolute;
51 | left: 50%;
52 | transform: translateX(-50%);
53 | top: 20%;
54 | /* border: 1rpx solid greenyellow; */
55 | color: #fff;
56 | font-size: 38rpx;
57 | padding: 30rpx;
58 | border-radius: 10rpx;
59 | display: flex;
60 | flex-direction: column;
61 | justify-content: center;
62 | align-items: center;
63 | }
64 |
65 | .user_content {
66 | position: relative;
67 | }
68 |
69 | .user_content .user_main {
70 | padding-bottom: 100rpx;
71 | color: #666;
72 | position: absolute;
73 | width: 90%;
74 | left: 50%;
75 | transform: translateX(-50%);
76 | top: -40rpx;
77 | }
78 |
79 | .user_content .user_main .history_wrap {
80 | background-color: #fff;
81 | display: flex;
82 | }
83 |
84 | .user_content .user_main .history_wrap navigator {
85 | flex: 1;
86 | text-align: center;
87 | padding: 10rpx 0;
88 | }
89 |
90 | .user_content .user_main .history_wrap navigator .his_num {
91 | color: var(--themeColor);
92 | }
93 |
94 | .user_content .user_main .orders_wrap {
95 | background-color: #fff;
96 | margin-top: 30rpx;
97 | }
98 |
99 | .user_content .user_main .orders_wrap .orders_title {
100 | padding: 20rpx;
101 | border-bottom: 1rpx solid #ccc;
102 | }
103 |
104 | .user_content .user_main .orders_wrap .order_content {
105 | display: flex;
106 | }
107 |
108 | .user_content .user_main .orders_wrap .order_content navigator {
109 | padding: 15rpx 0;
110 | flex: 1;
111 | text-align: center;
112 | }
113 |
114 | .user_content .user_main .orders_wrap .order_content navigator .iconfont {
115 | color: var(--themeColor);
116 | font-size: 40rpx;
117 | }
118 |
119 | .user_content .user_main .address_wrap {
120 | margin-top: 30rpx;
121 | background-color: #fff;
122 | padding: 20rpx;
123 | }
124 |
125 | .user_content .user_main .app_info_wrap {
126 | margin-top: 30rpx;
127 | background-color: #fff;
128 | }
129 |
130 | .user_content .user_main .app_info_wrap .app_info_item {
131 | padding: 20rpx;
132 | border-bottom: 1rpx solid #ccc;
133 | }
134 |
135 | .user_content .user_main .app_info_wrap .app_info_contact {
136 | display: flex;
137 | justify-content: space-between;
138 | }
139 |
140 | .user_content .user_main .recommend_wrap {
141 | margin-top: 30rpx;
142 | background-color: #fff;
143 | padding: 20rpx;
144 | }
--------------------------------------------------------------------------------
/project.config.json:
--------------------------------------------------------------------------------
1 | {
2 | "description": "项目配置文件",
3 | "packOptions": {
4 | "ignore": []
5 | },
6 | "setting": {
7 | "urlCheck": false,
8 | "es6": true,
9 | "enhance": true,
10 | "postcss": true,
11 | "minified": true,
12 | "newFeature": true,
13 | "coverView": true,
14 | "autoAudits": false,
15 | "showShadowRootInWxmlPanel": true,
16 | "scopeDataCheck": false,
17 | "checkInvalidKey": true,
18 | "checkSiteMap": true,
19 | "uploadWithSourceMap": true,
20 | "babelSetting": {
21 | "ignore": [],
22 | "disablePlugins": [],
23 | "outputPath": ""
24 | }
25 | },
26 | "compileType": "miniprogram",
27 | "libVersion": "2.15.0",
28 | "appid": "wx510521a2f79c490d",
29 | "projectname": "app-shop",
30 | "debugOptions": {
31 | "hidedInDevtools": []
32 | },
33 | "isGameTourist": false,
34 | "simulatorType": "wechat",
35 | "simulatorPluginLibVersion": {},
36 | "condition": {
37 | "search": {
38 | "current": -1,
39 | "list": []
40 | },
41 | "conversation": {
42 | "current": -1,
43 | "list": []
44 | },
45 | "plugin": {
46 | "current": -1,
47 | "list": []
48 | },
49 | "game": {
50 | "currentL": -1,
51 | "list": []
52 | },
53 | "gamePlugin": {
54 | "current": -1,
55 | "list": []
56 | },
57 | "miniprogram": {
58 | "current": -1,
59 | "list": [
60 | {
61 | "id": 0,
62 | "name": "分类页面",
63 | "pathName": "pages/category/index",
64 | "query": "id= '89353'",
65 | "scene": null
66 | },
67 | {
68 | "id": 1,
69 | "name": "列表页面",
70 | "pathName": "pages/goods_list/index",
71 | "query": "cid=5",
72 | "scene": null
73 | },
74 | {
75 | "id": 2,
76 | "name": "商品详情",
77 | "pathName": "pages/goods_detail/index",
78 | "query": "id= 266976",
79 | "scene": null
80 | },
81 | {
82 | "id": -1,
83 | "name": "购物车页面",
84 | "pathName": "pages/cart/index",
85 | "query": "",
86 | "scene": null
87 | },
88 | {
89 | "id": -1,
90 | "name": "支付页面",
91 | "pathName": "pages/pay/index",
92 | "query": "",
93 | "scene": null
94 | },
95 | {
96 | "id": -1,
97 | "name": "授权",
98 | "pathName": "pages/auth/index",
99 | "query": "",
100 | "scene": null
101 | },
102 | {
103 | "id": -1,
104 | "name": "登录",
105 | "pathName": "pages/login/index",
106 | "query": "",
107 | "scene": null
108 | },
109 | {
110 | "id": -1,
111 | "name": "个人中心",
112 | "pathName": "pages/user/index",
113 | "query": "",
114 | "scene": null
115 | },
116 | {
117 | "id": -1,
118 | "name": "订单查询",
119 | "pathName": "pages/order/index",
120 | "query": "type=1",
121 | "scene": null
122 | },
123 | {
124 | "id": -1,
125 | "name": "收藏商品",
126 | "pathName": "pages/collect/index",
127 | "query": "type=1",
128 | "scene": null
129 | },
130 | {
131 | "id": -1,
132 | "name": "搜索",
133 | "pathName": "pages/search/index",
134 | "query": "type=1",
135 | "scene": null
136 | },
137 | {
138 | "id": -1,
139 | "name": "意见反馈",
140 | "pathName": "pages/feedback/index",
141 | "query": "type=1",
142 | "scene": null
143 | },
144 | {
145 | "id": 12,
146 | "name": "添加地址",
147 | "pathName": "pages/address-add/index",
148 | "query": "id= 266976",
149 | "scene": null
150 | },
151 | {
152 | "id": -1,
153 | "name": "选择收获地址",
154 | "pathName": "pages/select-address/index",
155 | "query": "id= 266976",
156 | "scene": null
157 | },
158 | {
159 | "id": -1,
160 | "name": "pages/index/index",
161 | "pathName": "pages/index/index",
162 | "query": "id=123",
163 | "scene": null
164 | }
165 | ]
166 | }
167 | }
168 | }
--------------------------------------------------------------------------------
/request/index.js:
--------------------------------------------------------------------------------
1 | let ajaxTimes = 0;
2 | export const request = (params) => {
3 | ajaxTimes++;
4 |
5 | wx.showLoading({
6 | title: "加载中",
7 | mask: true
8 | });
9 | const baseUrl = "https://api.zbztb.cn/api/public/v1";
10 | return new Promise((resolve, reject) => {
11 | wx.request({
12 | ...params,
13 | url: baseUrl + params.url,
14 | success: (result) => {
15 | resolve(result.data.message);
16 | },
17 | fail: (err) => {
18 | reject(err);
19 | },
20 | complete: () => {
21 | ajaxTimes--;
22 | if (ajaxTimes === 0) {
23 | wx.hideLoading();
24 | }
25 | }
26 | })
27 | })
28 | }
29 |
30 | // export const request = (params) => {
31 | // return new Promise((resolve, reject) => {
32 | // wx.request({
33 | // ...params,
34 | // success: (result) => {
35 | // resolve(result);
36 | // },
37 | // fail: (err) => {
38 | // reject(err);
39 | // }
40 |
41 |
42 |
43 | // });
44 | // })
45 | // }
46 |
47 | export const http = (params) => {
48 | ajaxTimes++;
49 |
50 | wx.showLoading({
51 | title: "加载中",
52 | mask: true
53 | });
54 | const baseUrl = "https://api.it120.cc/kotoba";
55 | return new Promise((resolve, reject) => {
56 | wx.request({
57 | ...params,
58 | url: baseUrl + params.url,
59 | success: (result) => {
60 | resolve(result.data);
61 | },
62 | fail: (err) => {
63 | reject(err);
64 | },
65 | complete: () => {
66 | ajaxTimes--;
67 | if (ajaxTimes === 0) {
68 | wx.hideLoading();
69 | }
70 | }
71 | })
72 | })
73 | }
--------------------------------------------------------------------------------
/sitemap.json:
--------------------------------------------------------------------------------
1 | {
2 | "desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html",
3 | "rules": [{
4 | "action": "allow",
5 | "page": "*"
6 | }]
7 | }
--------------------------------------------------------------------------------
/template/login/index.js:
--------------------------------------------------------------------------------
1 | const WXAPI = require('apifm-wxapi')
2 |
3 | export default {
4 | init(page) {
5 | // page._cancelLogin = this._cancelLogin;
6 | // page._processLogin = this._processLogin;
7 | },
8 |
9 |
10 | }
--------------------------------------------------------------------------------
/template/login/index.wxml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | 授权登录
7 |
8 |
9 |
10 | ·请授权小程序登录
11 |
12 | ·我们不会公布您的这些信息
13 |
14 | ·只是为了给您提供更好的服务
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/template/login/index.wxss:
--------------------------------------------------------------------------------
1 | .apifmLogin {
2 | position: fixed;
3 | top: 0;
4 | left: 0;
5 | width: 100%;
6 | height: 100%;
7 | background-color: rgba(0, 0, 0, 0.3);
8 | z-index: 99999999999;
9 | }
10 |
11 | .apifmLogin .s-b {
12 | width: 70%;
13 | margin: 0 auto;
14 | height: 600rpx;
15 | background-color: #fff;
16 | margin-top: 40%;
17 | border-radius: 10rpx;
18 | }
19 |
20 | .apifmLogin .s-b .s-l-b {
21 | text-align: center;
22 | width: 80%;
23 | border-bottom: 1px solid #f5f5f5;
24 | margin: 0 auto;
25 | padding-top: 20px;
26 | }
27 |
28 | .apifmLogin .s-b .s-l-b image {
29 | width: 120rpx;
30 | height: 120rpx;
31 | border-radius: 50%;
32 | display: block;
33 | margin: 0 auto;
34 | }
35 | .apifmLogin .s-b .s-l-b text {
36 | font-size: 32rpx;
37 | margin-top: 20rpx;
38 | margin-bottom: 20rpx;
39 | color: #333;
40 | }
41 |
42 | .apifmLogin .s-b .s-t-b {
43 | margin-top: 20rpx;
44 | margin-bottom: 40rpx;
45 | text-align: center;
46 | }
47 |
48 | .apifmLogin .s-b .s-t-b .s-t-n {
49 | font-size: 30rpx;
50 | color: #333;
51 | width: 80%;
52 | margin: 0 auto;
53 | }
54 |
55 | .apifmLogin .s-b .s-t-b .s-t-i {
56 | width: 80%;
57 | margin: 0 auto;
58 | font-size: 24rpx;
59 | color: #999;
60 | margin-top: 10rpx;
61 | }
62 |
63 | .apifmLogin .s-b .s-t-b .s-t-i text {
64 | margin-right: 10rpx;
65 | font-size: 26rpx;
66 | }
67 |
68 | .apifmLogin .s-b button::after {
69 | border-radius: 4rpx;
70 | border: 0;
71 | }
72 |
73 | .apifmLogin .s-b .l {
74 | width: 80%;
75 | height: 70rpx;
76 | line-height: 70rpx;
77 | font-size: 30rpx;
78 | background-color: #1CD8D2;
79 | color: #fff;
80 | }
81 |
82 | .apifmLogin .s-b .c {
83 | margin-top: 20rpx;
84 | margin-bottom: 20rpx;
85 | width: 80%;
86 | height: 70rpx;
87 | line-height: 70rpx;
88 | font-size: 30rpx;
89 | background-color: #ccc;
90 | color: #fff;
91 | }
--------------------------------------------------------------------------------
/utils/asyncWx.js:
--------------------------------------------------------------------------------
1 |
2 | // promise 形式的 getSetting
3 | export const getSetting = () => {
4 | return new Promise((resolve, reject) => {
5 | wx.getSetting({
6 | success: (result) => {
7 | resolve(result);
8 | },
9 | fail: (err) => {
10 | reject(err)
11 | }
12 | })
13 | })
14 | }
15 |
16 | // 选择地址
17 | export const chooseAddress = () => {
18 | return new Promise((resolve, reject) => {
19 | wx.chooseAddress({
20 | success: (result) => {
21 | resolve(result);
22 | },
23 | fail: (err) => {
24 | reject(err)
25 | }
26 | })
27 | })
28 | }
29 |
30 | // 打开设置
31 | export const openSetting = () => {
32 | return new Promise((resolve, reject) => {
33 | wx.openSetting({
34 | success: (result) => {
35 | resolve(result);
36 | },
37 | fail: (err) => {
38 | reject(err)
39 | }
40 | })
41 | })
42 | }
43 |
44 | // 弹出对话框
45 |
46 | export const showModal = ({content}) => {
47 | return new Promise((resolve, reject) => {
48 | wx.showModal({
49 | title: '提示',
50 | content: content,
51 | success: (res) => {
52 | resolve(res);
53 | },
54 | fail: (err) => {
55 | reject(err);
56 | }
57 | })
58 | })
59 | }
60 |
61 | // 提示信息
62 |
63 | export const showToast = ({title}) => {
64 | return new Promise((resolve, reject) => {
65 | wx.showModal({
66 | title: title,
67 | icon: 'none',
68 | success: (res) => {
69 | resolve(res);
70 | },
71 | fail: (err) => {
72 | reject(err);
73 | }
74 | })
75 | })
76 | }
77 |
78 | // 授权登录
79 |
80 | export const login=()=>{
81 | return new Promise((resolve,reject)=>{
82 | wx.login({
83 | timeout:10000,
84 | success: (result) => {
85 | resolve(result);
86 | },
87 | fail: (err) => {
88 | reject(err);
89 | }
90 | });
91 | })
92 | }
93 |
--------------------------------------------------------------------------------
/utils/pay.js:
--------------------------------------------------------------------------------
1 | const WXAPI = require('apifm-wxapi')
2 |
3 | /**
4 | * type: order 支付订单 recharge 充值 paybill 优惠买单
5 | * data: 扩展数据对象,用于保存参数
6 | */
7 | function wxpay(type, money, orderId, redirectUrl, data) {
8 | const postData = {
9 | token: wx.getStorageSync('token'),
10 | money: money,
11 | remark: "在线充值",
12 | }
13 | if (type === 'order') {
14 | postData.remark = "支付订单 :" + orderId;
15 | postData.nextAction = {
16 | type: 0,
17 | id: orderId
18 | };
19 | }
20 | if (type === 'paybill') {
21 | postData.remark = "优惠买单 :" + data.money;
22 | postData.nextAction = {
23 | type: 4,
24 | uid: wx.getStorageSync('uid'),
25 | money: data.money
26 | };
27 | }
28 | postData.payName = postData.remark;
29 | if (postData.nextAction) {
30 | postData.nextAction = JSON.stringify(postData.nextAction);
31 | }
32 | WXAPI.wxpay(postData).then(function (res) {
33 | console.log(postData, '<-postData->');
34 | if (res.code == 0) {
35 | // 发起支付
36 | console.log(res, '<-res321000->');
37 | wx.requestPayment({
38 | timeStamp: res.data.timeStamp,
39 | nonceStr: res.data.nonceStr,
40 | package: 'prepay_id=' + res.data.prepayId,
41 | signType: res.data.signType,
42 | paySign: res.data.sign,
43 | fail: function (aaa) {
44 | wx.showToast({
45 | title: '支付失败:' + aaa
46 | })
47 | },
48 | success: function () {
49 | // 提示支付成功
50 | wx.showToast({
51 | title: '支付成功'
52 | })
53 | wx.redirectTo({
54 | url: redirectUrl
55 | });
56 | }
57 | })
58 | } else {
59 | wx.showModal({
60 | title: '出错了',
61 | content: JSON.stringify(res),
62 | showCancel: false
63 | })
64 | }
65 | })
66 | }
67 |
68 | module.exports = {
69 | wxpay: wxpay
70 | }
--------------------------------------------------------------------------------
/utils/util.js:
--------------------------------------------------------------------------------
1 | const formatTime = date => {
2 | const year = date.getFullYear()
3 | const month = date.getMonth() + 1
4 | const day = date.getDate()
5 | const hour = date.getHours()
6 | const minute = date.getMinutes()
7 | const second = date.getSeconds()
8 |
9 | return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
10 | }
11 |
12 | const formatNumber = n => {
13 | n = n.toString()
14 | return n[1] ? n : '0' + n
15 | }
16 |
17 | module.exports = {
18 | formatTime: formatTime
19 | }
20 |
--------------------------------------------------------------------------------
/weui/base/fn.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 |
--------------------------------------------------------------------------------
/weui/base/mixin/mobile.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 |
--------------------------------------------------------------------------------
/weui/base/mixin/setArrow.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 |
--------------------------------------------------------------------------------
/weui/base/mixin/setOnepx.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 |
--------------------------------------------------------------------------------
/weui/base/mixin/text.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 |
--------------------------------------------------------------------------------
/weui/base/reset.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | page{line-height:1.6;font-family:-apple-system-font,Helvetica Neue,sans-serif}icon{vertical-align:middle}
--------------------------------------------------------------------------------
/weui/base/variable/color.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 |
--------------------------------------------------------------------------------
/weui/base/variable/global.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 |
--------------------------------------------------------------------------------
/weui/base/variable/weui-button.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 |
--------------------------------------------------------------------------------
/weui/base/variable/weui-cell.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 |
--------------------------------------------------------------------------------
/weui/base/variable/weui-dialog.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 |
--------------------------------------------------------------------------------
/weui/base/variable/weui-grid.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 |
--------------------------------------------------------------------------------
/weui/base/variable/weui-msg.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 |
--------------------------------------------------------------------------------
/weui/base/variable/weui-progress.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 |
--------------------------------------------------------------------------------
/weui/base/variable/weui-tab.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 |
--------------------------------------------------------------------------------
/weui/widget/weui-agree/weui-agree.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | .weui-agree{display:block;padding:.5em 15px;font-size:13px}.weui-agree__text{color:rgba(0,0,0,.5)}.weui-agree__link{display:inline;color:#576b95}.weui-agree__checkbox{position:absolute;left:-9999px}.weui-agree__checkbox-icon{position:relative;top:2px;display:inline-block;border:1px solid #d1d1d1;background-color:#fff;border-radius:3px;width:11px;height:11px}.weui-agree__checkbox-icon-check{position:absolute;top:1px;left:1px}
--------------------------------------------------------------------------------
/weui/widget/weui-animate/weui-animate.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | @-webkit-keyframes a{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}@keyframes a{0%{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{-webkit-transform:translateZ(0);transform:translateZ(0)}}.weui-animate-slide-up{-webkit-animation:a ease .3s forwards;animation:a ease .3s forwards}@-webkit-keyframes b{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes b{0%{-webkit-transform:translateZ(0);transform:translateZ(0)}to{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.weui-animate-slide-down{-webkit-animation:b ease .3s forwards;animation:b ease .3s forwards}@-webkit-keyframes c{0%{opacity:0}to{opacity:1}}@keyframes c{0%{opacity:0}to{opacity:1}}.weui-animate-fade-in{-webkit-animation:c ease .3s forwards;animation:c ease .3s forwards}@-webkit-keyframes d{0%{opacity:1}to{opacity:0}}@keyframes d{0%{opacity:1}to{opacity:0}}.weui-animate-fade-out{-webkit-animation:d ease .3s forwards;animation:d ease .3s forwards}
--------------------------------------------------------------------------------
/weui/widget/weui-button/weui-btn_cell.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | .weui-btn_cell{position:relative;display:block;margin-left:auto;margin-right:auto;box-sizing:border-box;font-weight:700;font-size:17px;text-align:center;text-decoration:none;color:#fff;line-height:1.41176471;padding:16px;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden;background-color:#fff}.weui-btn_cell+.weui-btn_cell{margin-top:16px}.weui-btn_cell:active{background-color:#ececec}.weui-btn_cell__icon{display:inline-block;vertical-align:middle;width:24px;height:24px;margin:-.2em .34em 0 0}.weui-btn_cell-default{color:rgba(0,0,0,.9)}.weui-btn_cell-primary{color:#576b95}.weui-btn_cell-warn{color:#fa5151}
--------------------------------------------------------------------------------
/weui/widget/weui-button/weui-btn_default.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | .weui-btn_default{color:#06ae56;background-color:#f2f2f2}.weui-btn_default:not(.weui-btn_disabled):visited{color:#06ae56}.weui-btn_default:not(.weui-btn_disabled):active{color:#06ae56;background-color:#d9d9d9}
--------------------------------------------------------------------------------
/weui/widget/weui-button/weui-btn_disabled.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | .weui-btn_disabled{color:rgba(0,0,0,.18);background-color:#fafafa}
--------------------------------------------------------------------------------
/weui/widget/weui-button/weui-btn_global.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | .weui-btn{position:relative;display:block;width:184px;margin-left:auto;margin-right:auto;padding:8px 24px;box-sizing:border-box;font-weight:700;font-size:17px;text-align:center;text-decoration:none;color:#fff;line-height:1.41176471;border-radius:4px;-webkit-tap-highlight-color:rgba(0,0,0,0);overflow:hidden}.weui-btn_block{width:auto}.weui-btn_inline{display:inline-block}
--------------------------------------------------------------------------------
/weui/widget/weui-button/weui-btn_loading.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | .weui-btn_loading .weui-loading{margin:-.2em .34em 0 0}.weui-btn_loading.weui-btn_primary{color:#fff}.weui-btn_loading.weui-btn_default{background-color:#d9d9d9}.weui-btn_loading.weui-btn_primary{background-color:#06ad56}.weui-btn_loading.weui-btn_warn{background-color:#d9d9d9}
--------------------------------------------------------------------------------
/weui/widget/weui-button/weui-btn_plain.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | .weui-btn_plain-primary{color:#07c160;border:1px solid #1aad19}.weui-btn_plain-primary:not(.weui-btn_plain-disabled):active{color:#06ae56;border-color:#179c16;background-color:rgba(0,0,0,.1)}.weui-btn_plain-primary:after{border-width:0}.weui-btn_plain-default{color:#353535;border:1px solid #353535}.weui-btn_plain-default:not(.weui-btn_plain-disabled):active{color:#323232;border-color:#323232;background-color:rgba(0,0,0,.1)}.weui-btn_plain-default:after{border-width:0}.weui-btn_plain-disabled{color:rgba(0,0,0,.2);border-color:rgba(0,0,0,.2)}
--------------------------------------------------------------------------------
/weui/widget/weui-button/weui-btn_primary.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | .weui-btn_primary{background-color:#07c160}.weui-btn_primary:not(.weui-btn_disabled):visited{color:#fff}.weui-btn_primary:not(.weui-btn_disabled):active{color:#fff;background-color:#06ad56}
--------------------------------------------------------------------------------
/weui/widget/weui-button/weui-btn_warn.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | .weui-btn_warn{color:#fa5151;background-color:#f2f2f2}.weui-btn_warn:not(.weui-btn_disabled):visited{color:#fa5151}.weui-btn_warn:not(.weui-btn_disabled):active{color:#fa5151;background-color:#d9d9d9}
--------------------------------------------------------------------------------
/weui/widget/weui-button/weui-button.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | .weui-btn+.weui-btn{margin-top:16px}.weui-btn.weui-btn_inline+.weui-btn.weui-btn_inline{margin-top:auto;margin-left:16px}.weui-btn-area{margin:48px 16px 8px}.weui-btn-area_inline{display:-webkit-box;display:-webkit-flex;display:flex}.weui-btn-area_inline .weui-btn{margin-top:auto;margin-right:16px;width:100%;-webkit-box-flex:1;-webkit-flex:1;flex:1}.weui-btn-area_inline .weui-btn:last-child{margin-right:0}
--------------------------------------------------------------------------------
/weui/widget/weui-cell/weui-access.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | .weui-cell_access{color:inherit;-webkit-tap-highlight-color:rgba(0,0,0,0)}.weui-cell__ft_in-access{padding-right:16px;position:relative}.weui-cell__ft_in-access:after{content:" ";display:inline-block;height:8px;width:8px;border-width:2px 2px 0 0;border-color:#b2b2b2;border-style:solid;-webkit-transform:matrix(.71,.71,-.71,.71,0,0);transform:matrix(.71,.71,-.71,.71,0,0);position:relative;top:-2px;position:absolute;top:50%;margin-top:-5px;right:0}.weui-cell_link{color:#576b95;font-size:17px}.weui-cell_link:active{background-color:#ececec}.weui-cell_link:first-child:before{display:block}
--------------------------------------------------------------------------------
/weui/widget/weui-cell/weui-cell.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | .weui-cells{position:relative;margin-top:8px;background-color:#fff;line-height:1.41176471;font-size:17px}.weui-cells:before{top:0;border-top:1rpx solid rgba(0,0,0,.1)}.weui-cells:after,.weui-cells:before{content:" ";position:absolute;left:0;right:0;height:1px;color:rgba(0,0,0,.1)}.weui-cells:after{bottom:0;border-bottom:1rpx solid rgba(0,0,0,.1)}.weui-cells__title{margin-top:16px;margin-bottom:3px;padding-left:16px;padding-right:16px;color:rgba(0,0,0,.5);font-size:14px}.weui-cells_after-title{margin-top:0}.weui-cells__tips{margin-top:3px;color:rgba(0,0,0,.5);padding-left:16px;padding-right:16px;font-size:14px}.weui-cell{padding:16px;position:relative;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.weui-cell:before{content:" ";position:absolute;left:0;top:0;right:0;height:1px;border-top:1rpx solid rgba(0,0,0,.1);color:rgba(0,0,0,.1);left:16px}.weui-cell:first-child:before{display:none}.weui-cell_active{background-color:#ececec}.weui-cell_primary{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start}.weui-cell__bd{-webkit-box-flex:1;-webkit-flex:1;flex:1}.weui-cell__ft{text-align:right;color:rgba(0,0,0,.5)}.weui-cell_label-block,.weui-cell_wxss.weui-cell_wxss:before{display:block}.weui-cell_label-block .weui-label{width:auto;word-break:normal;-webkit-hyphens:auto;hyphens:auto}
--------------------------------------------------------------------------------
/weui/widget/weui-cell/weui-cells__group.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | .weui-cells__group_form:first-child .weui-cells__title{margin-top:0}.weui-cells__group_form .weui-cells__title{margin-top:24px;margin-bottom:8px;padding:0 32px}.weui-cells__group_form .weui-cell:before,.weui-cells__group_form .weui-cells:before{left:32px;right:32px}.weui-cells__group_form .weui-cells_checkbox .weui-check__label:before{left:72px}.weui-cells__group_form .weui-cells:after{left:32px;right:32px}.weui-cells__group_form .weui-cell{padding:16px 32px;color:rgba(0,0,0,.9)}.weui-cells__group_form .weui-cell__hd{padding-right:16px}.weui-cells__group_form .weui-cell__ft{padding-left:16px}.weui-cells__group_form .weui-cell_warn input{color:#fa5151}.weui-cells__group_form .weui-label{max-width:5em;margin-right:8px}.weui-cells__group_form .weui-cells__tips{margin-top:8px;padding:0 32px;color:rgba(0,0,0,.3)}.weui-cells__group_form .weui-cells__tips a{font-weight:700}.weui-cells__group_form .weui-cell_vcode{padding:12px 32px}.weui-cells__group_form .weui-vcode-btn{font-size:16px;padding:0 12px;margin-left:0;height:auto;width:auto;line-height:2em;color:#06ae56;background-color:#f2f2f2}.weui-cells__group_form .weui-vcode-btn:before{display:none}.weui-cells__group_form .weui-cell_select{padding:0}.weui-cells__group_form .weui-cell_select .weui-select{padding:0 32px}.weui-cells__group_form .weui-cell_select .weui-cell__bd:after{right:32px}.weui-cells__group_form .weui-cell_select-before .weui-label{margin-right:24px}.weui-cells__group_form .weui-cell_select-before .weui-select{padding-right:24px;box-sizing:initial}.weui-cells__group_form .weui-cell_select-after{padding-left:32px}.weui-cells__group_form .weui-cell_select-after .weui-select{padding-left:0}.weui-cells__group_form .weui-cell_switch{padding:12px 32px}.weui-cells__group_wxss.weui-cells__group_wxss .weui-cells__title{margin-top:24px}
--------------------------------------------------------------------------------
/weui/widget/weui-cell/weui-check.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | .weui-cells_checkbox .weui-check__label:before{left:55px}.weui-check__label:active{background-color:#ececec}.weui-check{position:absolute;left:-9999px}.weui-check__hd_in-checkbox{padding-right:16px}.weui-cell__ft_in-radio{padding-left:16px}
--------------------------------------------------------------------------------
/weui/widget/weui-cell/weui-form/weui-form-preview.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | .weui-form-preview{position:relative;background-color:#fff}.weui-form-preview:before{top:0;border-top:1rpx solid rgba(0,0,0,.1)}.weui-form-preview:after,.weui-form-preview:before{content:" ";position:absolute;left:0;right:0;height:1px;color:rgba(0,0,0,.1)}.weui-form-preview:after{bottom:0;border-bottom:1rpx solid rgba(0,0,0,.1)}.weui-form-preview__value{font-size:14px}.weui-form-preview__value_in-hd{font-size:26px}.weui-form-preview__hd{position:relative;padding:16px;text-align:right;line-height:2.5em}.weui-form-preview__hd:after{content:" ";position:absolute;left:0;bottom:0;right:0;height:1px;border-bottom:1rpx solid rgba(0,0,0,.1);color:rgba(0,0,0,.1);left:16px}.weui-form-preview__bd{padding:16px;font-size:.9em;text-align:right;color:rgba(0,0,0,.5);line-height:2}.weui-form-preview__ft{position:relative;line-height:56px;display:-webkit-box;display:-webkit-flex;display:flex}.weui-form-preview__ft:after{content:" ";position:absolute;left:0;top:0;right:0;height:1px;border-top:1rpx solid rgba(0,0,0,.1);color:rgba(0,0,0,.1)}.weui-form-preview__item{overflow:hidden}.weui-form-preview__label{float:left;margin-right:1em;min-width:4em;color:rgba(0,0,0,.5);text-align:justify;text-align-last:justify}.weui-form-preview__value{display:block;overflow:hidden;word-break:normal;word-wrap:break-word}.weui-form-preview__btn{position:relative;display:block;-webkit-box-flex:1;-webkit-flex:1;flex:1;color:#576b95;text-align:center;font-weight:700;font-size:17px}.weui-form-preview__btn:after{content:" ";position:absolute;left:0;top:0;width:1px;bottom:0;border-left:1rpx solid rgba(0,0,0,.1);color:rgba(0,0,0,.1)}.weui-form-preview__btn:first-child:after{display:none}.weui-form-preview__btn_active{background-color:#ececec}.weui-form-preview__btn_default{color:rgba(0,0,0,.9)}.weui-form-preview__btn_primary{color:#576b95}
--------------------------------------------------------------------------------
/weui/widget/weui-cell/weui-form/weui-form_common.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | .weui-toptips{position:fixed;-webkit-transform:translateZ(0) translateY(-108%);transform:translateZ(0) translateY(-108%);text-align:center;top:8px;left:16px;right:16px;border-radius:4px;padding:8px;-webkit-border-radius:4px;color:hsla(0,0%,100%,.9);font-size:17px;line-height:1.4;background:rgba(250,81,81,.9);z-index:5000;word-wrap:break-word;word-break:break-all;-webkit-transition:all .4s ease-in-out;transition:all .4s ease-in-out}.weui-toptips_show{-webkit-transform:translateZ(0) translateY(0);transform:translateZ(0) translateY(0);opacity:1}.weui-toptips_warn{background-color:#fa5151}.weui-toptips_success{background-color:#09bb07}.weui-toptips_error{background-color:#fa5151}.weui-toptips_info{background-color:#10aeff}.weui-cell_input{padding-top:0;padding-bottom:0}.weui-label{width:105px;word-wrap:break-word;word-break:break-all}.weui-input{height:1.41176471em;min-height:1.41176471em;line-height:1.41176471}.weui-textarea{display:block;width:100%}.weui-textarea-counter{color:rgba(0,0,0,.3);text-align:right}.weui-cell_warn,.weui-textarea-counter_warn{color:#fa5151}
--------------------------------------------------------------------------------
/weui/widget/weui-cell/weui-form/weui-select.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | .weui-cell_select{padding:0;overflow:hidden}.weui-cell_select .weui-select{padding-right:30px}.weui-cell_select .weui-cell__bd:after{content:" ";width:12px;height:24px;-webkit-mask-position:0 0;mask-position:0 0;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100%;mask-size:100%;background-color:currentColor;color:rgba(0,0,0,.3);-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M2.454%206.58l1.06-1.06%205.78%205.779a.996.996%200%20010%201.413l-5.78%205.779-1.06-1.061%205.425-5.425-5.425-5.424z%22%20fill%3D%22%23B2B2B2%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M2.454%206.58l1.06-1.06%205.78%205.779a.996.996%200%20010%201.413l-5.78%205.779-1.06-1.061%205.425-5.425-5.425-5.424z%22%20fill%3D%22%23B2B2B2%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E");position:absolute;top:50%;right:16px;margin-top:-12px}.weui-select{-webkit-appearance:none;border:0;outline:0;background-color:transparent;width:100%;font-size:inherit;height:56px;line-height:56px;position:relative;z-index:1;padding-left:16px}.weui-cell_select-before{padding-right:16px}.weui-cell_select-before .weui-select{width:105px;box-sizing:border-box}.weui-cell_select-before .weui-cell__hd{position:relative}.weui-cell_select-before .weui-cell__hd:after{content:" ";position:absolute;right:0;top:0;width:1px;bottom:0;border-right:1rpx solid rgba(0,0,0,.1);color:rgba(0,0,0,.1)}.weui-cell_select-before .weui-cell__hd:before{content:" ";width:12px;height:24px;-webkit-mask-position:0 0;mask-position:0 0;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100%;mask-size:100%;background-color:currentColor;color:rgba(0,0,0,.3);-webkit-mask-image:url("data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M2.454%206.58l1.06-1.06%205.78%205.779a.996.996%200%20010%201.413l-5.78%205.779-1.06-1.061%205.425-5.425-5.425-5.424z%22%20fill%3D%22%23B2B2B2%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E");mask-image:url("data:image/svg+xml,%3Csvg%20width%3D%2212%22%20height%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M2.454%206.58l1.06-1.06%205.78%205.779a.996.996%200%20010%201.413l-5.78%205.779-1.06-1.061%205.425-5.425-5.425-5.424z%22%20fill%3D%22%23B2B2B2%22%20fill-rule%3D%22evenodd%22%2F%3E%3C%2Fsvg%3E");position:absolute;top:50%;right:16px;margin-top:-12px}.weui-cell_select-before .weui-cell__bd{padding-left:16px}.weui-cell_select-before .weui-cell__bd:after{display:none}.weui-cell_select-before.weui-cell_access .weui-cell__hd{line-height:56px;padding-left:32px}.weui-cell_select-after{padding-left:16px}.weui-cell_select-after .weui-select{padding-left:0}.weui-cell_select-after.weui-cell_access .weui-cell__bd{line-height:56px}
--------------------------------------------------------------------------------
/weui/widget/weui-cell/weui-form/weui-vcode.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | .weui-cell_vcode{padding-top:0;padding-right:0;padding-bottom:0}.weui-vcode-btn,.weui-vcode-img{margin-left:5px;height:3.29411765em;vertical-align:middle}.weui-vcode-btn{display:inline-block;padding:0 .6em 0 .7em;border-left:1rpx solid rgba(0,0,0,.1);line-height:3.29411765em;font-size:17px;color:#576b95;white-space:nowrap}button.weui-vcode-btn{min-height:0;background-color:transparent;border:0;outline:0}.weui-vcode-btn:active{color:#767676}
--------------------------------------------------------------------------------
/weui/widget/weui-cell/weui-gallery.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | .weui-gallery{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000;z-index:1000;-webkit-flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-flex-wrap:nowrap;flex-wrap:nowrap;opacity:0;visibility:hidden;-webkit-transition:opacity .3s;transition:opacity .3s}.weui-gallery_show{display:-webkit-box;display:-webkit-flex;display:flex;visibility:visible;opacity:1}.weui-gallery__img__wrp{-webkit-box-flex:1;-webkit-flex:1;flex:1;position:relative;font-size:0}.weui-gallery__img{background:50% no-repeat;background-size:contain;position:absoulte;width:100%;height:100%}.weui-gallery__opr{background-color:#0d0d0d;color:#fff;line-height:60px;min-height:60px;padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom);text-align:center}.weui-gallery__opr navigator{color:#fff}.weui-gallery__del{display:block}.weui-gallery__info{color:#fff;font-size:17px;line-height:60px;min-height:60px;text-align:center}
--------------------------------------------------------------------------------
/weui/widget/weui-cell/weui-slideview.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | :host{width:100%}.weui-slideview{overflow:hidden;position:relative}.weui-slideview__left{position:relative;z-index:10}.weui-slideview__right{position:absolute;z-index:1;left:100%;top:0;height:100%}.weui-slideview__btn__wrp{position:absolute;left:0;bottom:0;text-align:center;min-width:69px;height:100%;white-space:nowrap}.weui-slideview__btn{color:#fff;padding:0 17px}.weui-slideview__btn-group_default .weui-slideview__btn{background:#c7c7cc}.weui-slideview__btn-group_default~.weui-slideview__btn-group_default:before{content:" ";position:absolute;left:0;top:0;width:1px;bottom:0;border-left:1rpx solid #fff;color:#fff}.weui-slideview__btn-group_default:first-child:before{display:none}.weui-slideview__btn-group_warn .weui-slideview__btn{background:#fe3b30}.weui-slideview__btn-group_warn~.weui-slideview__btn-group_warn:before{content:" ";position:absolute;left:0;top:0;width:1px;bottom:0;border-left:1rpx solid #fff;color:#fff}.weui-slideview__btn-group_warn:first-child:before{display:none}.weui-slideview_icon .weui-slideview__btn__wrp{background:transparent;font-size:0}.weui-slideview_icon .weui-slideview__btn__wrp:after{content:"";width:0;height:100%;vertical-align:middle;display:inline-block}.weui-slideview_icon .weui-slideview__btn__wrp:first-child{padding-left:16px}.weui-slideview_icon .weui-slideview__btn__wrp:last-child{padding-right:8px}.weui-slideview_icon .weui-slideview__btn{width:48px;height:48px;line-height:48px;padding:0;display:inline-block;vertical-align:middle;border-radius:50%;background-color:#fff}.weui-slideview_icon .weui-slideview__btn__icon{display:inline-block;vertical-align:middle;width:22px;height:22px}
--------------------------------------------------------------------------------
/weui/widget/weui-cell/weui-switch.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | .weui-cell_switch{padding-top:12px;padding-bottom:12px}
--------------------------------------------------------------------------------
/weui/widget/weui-cell/weui-uploader.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | .weui-uploader{-webkit-box-flex:1;-webkit-flex:1;flex:1}.weui-uploader__hd{padding-bottom:16px}.weui-uploader__overview{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.weui-uploader__title{-webkit-box-flex:1;-webkit-flex:1;flex:1}.weui-uploader__tips{color:rgba(0,0,0,.3);font-size:14px;line-height:1.4;padding-top:4px}.weui-uploader__info{color:rgba(0,0,0,.3)}.weui-uploader__bd{margin-bottom:-8px;margin-right:-8px;overflow:hidden}.weui-uploader__file{float:left;margin-right:8px;margin-bottom:8px}.weui-uploader__img{display:block;width:96px;height:96px}.weui-uploader__file_status{position:relative}.weui-uploader__file_status:before{content:" ";position:absolute;top:0;right:0;bottom:0;left:0;background-color:rgba(0,0,0,.5)}.weui-uploader__file-content{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);color:#fff}.weui-uploader__input-box{float:left;position:relative;margin-right:8px;margin-bottom:8px;width:96px;height:96px;box-sizing:border-box;background-color:#ededed}.weui-uploader__input-box:after,.weui-uploader__input-box:before{content:" ";position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);background-color:#a3a3a3}.weui-uploader__input-box:before{width:2px;height:32px}.weui-uploader__input-box:after{width:32px;height:2px}.weui-uploader__input-box:active{border-color:#8b8b8b}.weui-uploader__input-box:active:after,.weui-uploader__input-box:active:before{background-color:#8b8b8b}.weui-uploader__input{position:absolute;z-index:1;top:0;left:0;width:100%;height:100%;opacity:0}
--------------------------------------------------------------------------------
/weui/widget/weui-flex/weui-flex.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | .weui-flex{display:-webkit-box;display:-webkit-flex;display:flex}.weui-flex__item{-webkit-box-flex:1;-webkit-flex:1;flex:1}
--------------------------------------------------------------------------------
/weui/widget/weui-footer/weui-footer.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | .weui-footer{color:rgba(0,0,0,.3);font-size:14px;line-height:1.4;text-align:center}.weui-footer_fixed-bottom{position:fixed;bottom:16px;bottom:calc(16px + constant(safe-area-inset-bottom));bottom:calc(16px + env(safe-area-inset-bottom));left:0;right:0}.weui-footer__links{font-size:0}.weui-footer__link{display:inline-block;vertical-align:top;margin:0 8px;position:relative;font-size:14px;color:#576b95}.weui-footer__link:before{content:" ";position:absolute;left:0;top:0;width:1px;bottom:0;border-left:1rpx solid #c7c7c7;color:#c7c7c7;left:-8px;top:.36em;bottom:.36em}.weui-footer__link:first-child:before{display:none}.weui-footer__text{padding:0 .34em;font-size:12px}
--------------------------------------------------------------------------------
/weui/widget/weui-grid/weui-grid.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | .weui-grids{border-top:1rpx solid rgba(0,0,0,.1);border-left:1rpx solid rgba(0,0,0,.1);overflow:hidden}.weui-grid{position:relative;float:left;padding:20px 10px;width:33.33333333%;box-sizing:border-box;border-right:1rpx solid rgba(0,0,0,.1);border-bottom:1rpx solid rgba(0,0,0,.1)}.weui-grid_active{background-color:#ececec}.weui-grid__icon{display:block;width:28px;height:28px;margin:0 auto}.weui-grid__label{margin-top:5px;display:block;text-align:center;color:rgba(0,0,0,.9);font-size:14px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
--------------------------------------------------------------------------------
/weui/widget/weui-icon/weui-icon.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | icon[type=success]:after,icon[type=success]:before{color:#07c160!important}
--------------------------------------------------------------------------------
/weui/widget/weui-loading/weui-dot-loading.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | .wx_dot_loading,.wx_dot_loading:after,.wx_dot_loading:before{display:inline-block;vertical-align:middle;width:6px;height:6px;border-radius:50%;background-color:rgba(0,0,0,.3);font-size:0;-webkit-animation:b 1.6s step-start infinite;animation:b 1.6s step-start infinite}.wx_dot_loading{position:relative}.wx_dot_loading:before{content:"";position:absolute;left:-12px;background-color:rgba(0,0,0,.1);-webkit-animation:a 1.6s step-start infinite;animation:a 1.6s step-start infinite}.wx_dot_loading:after{content:"";position:absolute;right:-12px;background-color:rgba(0,0,0,.5);-webkit-animation:c 1.6s step-start infinite;animation:c 1.6s step-start infinite}@-webkit-keyframes a{0%,to{background-color:rgba(0,0,0,.1)}30%{background-color:rgba(0,0,0,.5)}60%{background-color:rgba(0,0,0,.3)}}@keyframes a{0%,to{background-color:rgba(0,0,0,.1)}30%{background-color:rgba(0,0,0,.5)}60%{background-color:rgba(0,0,0,.3)}}@-webkit-keyframes b{0%,to{background-color:rgba(0,0,0,.3)}30%{background-color:rgba(0,0,0,.1)}60%{background-color:rgba(0,0,0,.5)}}@keyframes b{0%,to{background-color:rgba(0,0,0,.3)}30%{background-color:rgba(0,0,0,.1)}60%{background-color:rgba(0,0,0,.5)}}@-webkit-keyframes c{0%,to{background-color:rgba(0,0,0,.5)}30%{background-color:rgba(0,0,0,.3)}60%{background-color:rgba(0,0,0,.1)}}@keyframes c{0%,to{background-color:rgba(0,0,0,.5)}30%{background-color:rgba(0,0,0,.3)}60%{background-color:rgba(0,0,0,.1)}}.wx_dot_loading_white{background-color:hsla(0,0%,100%,.3);-webkit-animation:e 1.6s step-start infinite;animation:e 1.6s step-start infinite}.wx_dot_loading_white:before{background-color:hsla(0,0%,100%,.5);-webkit-animation:d 1.6s step-start infinite;animation:d 1.6s step-start infinite}.wx_dot_loading_white:after{background-color:hsla(0,0%,100%,.1);-webkit-animation:f 1.6s step-start infinite;animation:f 1.6s step-start infinite}@-webkit-keyframes d{0%,to{background-color:hsla(0,0%,100%,.5)}30%{background-color:hsla(0,0%,100%,.1)}60%{background-color:hsla(0,0%,100%,.3)}}@keyframes d{0%,to{background-color:hsla(0,0%,100%,.5)}30%{background-color:hsla(0,0%,100%,.1)}60%{background-color:hsla(0,0%,100%,.3)}}@-webkit-keyframes e{0%,to{background-color:hsla(0,0%,100%,.3)}30%{background-color:hsla(0,0%,100%,.5)}60%{background-color:hsla(0,0%,100%,.1)}}@keyframes e{0%,to{background-color:hsla(0,0%,100%,.3)}30%{background-color:hsla(0,0%,100%,.5)}60%{background-color:hsla(0,0%,100%,.1)}}@-webkit-keyframes f{0%,to{background-color:hsla(0,0%,100%,.1)}30%{background-color:hsla(0,0%,100%,.3)}60%{background-color:hsla(0,0%,100%,.5)}}@keyframes f{0%,to{background-color:hsla(0,0%,100%,.1)}30%{background-color:hsla(0,0%,100%,.3)}60%{background-color:hsla(0,0%,100%,.5)}}
--------------------------------------------------------------------------------
/weui/widget/weui-media-box/weui-media-box.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | .weui-media-box{padding:16px;position:relative}.weui-media-box:before{content:" ";position:absolute;left:0;top:0;right:0;height:1px;border-top:1rpx solid rgba(0,0,0,.1);color:rgba(0,0,0,.1);left:1s6px}.weui-media-box:first-child:before{display:none}.weui-media-box__title{font-weight:400;font-size:17px;color:rgba(0,0,0,.9);width:auto;white-space:nowrap;word-wrap:normal;word-wrap:break-word;word-break:break-all}.weui-media-box__desc,.weui-media-box__title{line-height:1.4;overflow:hidden;text-overflow:ellipsis}.weui-media-box__desc{color:rgba(0,0,0,.5);font-size:14px;padding-top:4px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.weui-media-box__info{margin-top:16px;padding-bottom:4px;font-size:13px;color:#cecece;line-height:1em;list-style:none;overflow:hidden}.weui-media-box__info__meta{float:left;padding-right:1em}.weui-media-box__info__meta_extra{padding-left:1em;border-left:1px solid #cecece}.weui-media-box__title_in-text{margin-bottom:8px}.weui-media-box_appmsg{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.weui-media-box__thumb{width:100%;height:100%;vertical-align:top}.weui-media-box__hd_in-appmsg{margin-right:16px;width:60px;height:60px;line-height:60px;text-align:center}.weui-media-box__bd_in-appmsg{-webkit-box-flex:1;-webkit-flex:1;flex:1;min-width:0}.weui-media-box_small-appmsg{padding:0}.weui-cells_in-small-appmsg{margin-top:0}.weui-cells_in-small-appmsg:before{display:none}
--------------------------------------------------------------------------------
/weui/widget/weui-navigation-bar/weui-navigation-bar.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | page{--height:44px;--right:190rpx}.weui-navigation-bar{overflow:hidden}.weui-navigation-bar .android{--height:48px;--right:222rpx}.weui-navigation-bar__inner{position:fixed;top:0;left:0;z-index:5001;height:var(--height);padding-right:var(--right);width:calc(100% - var(--right))}.weui-navigation-bar__inner,.weui-navigation-bar__inner .weui-navigation-bar__left{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.weui-navigation-bar__inner .weui-navigation-bar__left{position:relative;width:var(--right);padding-left:16px;-webkit-box-pack:center}.weui-navigation-bar__inner .weui-navigation-bar__left .weui-navigation-bar__btn{display:inline-block;vertical-align:middle;background-repeat:no-repeat}.weui-navigation-bar__inner .weui-navigation-bar__left .weui-navigation-bar__btn_goback{font-size:12px;width:1em;height:2em;background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='24' viewBox='0 0 12 24'%3E %3Cpath fill-opacity='.9' fill-rule='evenodd' d='M10 19.438L8.955 20.5l-7.666-7.79a1.02 1.02 0 0 1 0-1.42L8.955 3.5 10 4.563 2.682 12 10 19.438z'/%3E%3C/svg%3E");background-position:50% 50%;background-size:cover}.weui-navigation-bar__inner .weui-navigation-bar__left .weui-navigation-bar__btn_goback:active{opacity:.5}.weui-navigation-bar__inner .weui-navigation-bar__center{font-size:17px;text-align:center;position:relative;-webkit-box-flex:1;-webkit-flex:1;flex:1;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.weui-navigation-bar__inner .weui-navigation-bar__loading{font-size:0}.weui-navigation-bar__inner .weui-navigation-bar__loading .weui-loading{margin-left:0}.weui-navigation-bar__inner .weui-navigation-bar__right{margin-right:16px}.weui-navigation-bar__placeholder{height:var(--height);background:#f8f8f8;position:relative;z-index:50}
--------------------------------------------------------------------------------
/weui/widget/weui-page/weui-article.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | .weui-article{padding:24px 16px;padding:24px calc(16px + constant(safe-area-inset-right)) calc(24px + constant(safe-area-inset-bottom)) calc(16px + constant(safe-area-inset-left));padding:24px calc(16px + env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left));font-size:17px;color:rgba(0,0,0,.9)}.weui-article__section{margin-bottom:1.5em}.weui-article__h1{font-size:22px;font-weight:700;margin-bottom:.9em;line-height:1.4}.weui-article__h2{font-size:17px}.weui-article__h2,.weui-article__h3{font-weight:700;margin-bottom:.34em;line-height:1.4}.weui-article__h3{font-size:15px}.weui-article__p{margin:0 0 .8em}
--------------------------------------------------------------------------------
/weui/widget/weui-page/weui-form.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | .weui-cells__group_form:first-child .weui-cells__title{margin-top:0}.weui-cells__group_form .weui-cells__title{margin-top:24px;margin-bottom:8px;padding:0 32px}.weui-cells__group_form .weui-cell:before,.weui-cells__group_form .weui-cells:before{left:32px;right:32px}.weui-cells__group_form .weui-cells_checkbox .weui-check__label:before{left:72px}.weui-cells__group_form .weui-cells:after{left:32px;right:32px}.weui-cells__group_form .weui-cell{padding:16px 32px;color:rgba(0,0,0,.9)}.weui-cells__group_form .weui-cell__hd{padding-right:16px}.weui-cells__group_form .weui-cell__ft{padding-left:16px}.weui-cells__group_form .weui-cell_warn input{color:#fa5151}.weui-cells__group_form .weui-label{max-width:5em;margin-right:8px}.weui-cells__group_form .weui-cells__tips{margin-top:8px;padding:0 32px;color:rgba(0,0,0,.3)}.weui-cells__group_form .weui-cells__tips a{font-weight:700}.weui-cells__group_form .weui-cell_vcode{padding:12px 32px}.weui-cells__group_form .weui-vcode-btn{font-size:16px;padding:0 12px;margin-left:0;height:auto;width:auto;line-height:2em;color:#06ae56;background-color:#f2f2f2}.weui-cells__group_form .weui-vcode-btn:before{display:none}.weui-cells__group_form .weui-cell_select{padding:0}.weui-cells__group_form .weui-cell_select .weui-select{padding:0 32px}.weui-cells__group_form .weui-cell_select .weui-cell__bd:after{right:32px}.weui-cells__group_form .weui-cell_select-before .weui-label{margin-right:24px}.weui-cells__group_form .weui-cell_select-before .weui-select{padding-right:24px;box-sizing:initial}.weui-cells__group_form .weui-cell_select-after{padding-left:32px}.weui-cells__group_form .weui-cell_select-after .weui-select{padding-left:0}.weui-cells__group_form .weui-cell_switch{padding:12px 32px}.weui-cells__group_wxss.weui-cells__group_wxss .weui-cells__title{margin-top:24px}.weui-form{padding:56px 0 0;padding:calc(56px + constant(safe-area-inset-top)) constant(safe-area-inset-right) constant(safe-area-inset-bottom) constant(safe-area-inset-left);padding:calc(56px + env(safe-area-inset-top)) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;min-height:100%;box-sizing:border-box;line-height:1.4;background-color:#fff}.weui-form a:not(.weui-btn){color:#576b95}.weui-form .weui-footer,.weui-form .weui-footer__link{font-size:12px}.weui-form .weui-agree{padding:0}.weui-form__text-area{padding:0 32px;color:rgba(0,0,0,.9);text-align:center}.weui-form__control-area{-webkit-box-flex:1;-webkit-flex:1;flex:1;margin:48px 0}.weui-form__extra-area,.weui-form__tips-area{margin-bottom:24px;text-align:center}.weui-form__opr-area{margin-bottom:64px}.weui-form__opr-area:last-child{margin-bottom:96px}.weui-form__title{font-size:22px;font-weight:700;line-height:1.36}.weui-form__desc{font-size:17px;margin-top:16px}.weui-form__tips{color:rgba(0,0,0,.5);font-size:12px}
--------------------------------------------------------------------------------
/weui/widget/weui-page/weui-msg.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | .weui-msg{padding-top:36px;padding:calc(36px + constant(safe-area-inset-top)) constant(safe-area-inset-right) constant(safe-area-inset-bottom) constant(safe-area-inset-left);padding:calc(36px + env(safe-area-inset-top)) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);text-align:center;line-height:1.4;min-height:100%;box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;background-color:#fff}.weui-msg__link{color:#576b95;display:inline-block;vertical-align:baseline}.weui-msg__icon-area{margin-bottom:32px}.weui-msg__text-area{margin-bottom:32px;padding:0 32px;-webkit-box-flex:1;-webkit-flex:1;flex:1;line-height:1.6}.weui-msg__text-area:first-child{padding-top:96px}.weui-msg__title{margin-bottom:5px;font-weight:700;font-size:22px;word-wrap:break-word;word-break:break-all}.weui-msg__desc{font-size:17px;color:rgba(0,0,0,.9)}.weui-msg__desc,.weui-msg__desc-primary{word-wrap:break-word;word-break:break-all;margin-bottom:16px}.weui-msg__desc-primary{font-size:14px;color:rgba(0,0,0,.5)}.weui-msg__opr-area{margin-bottom:16px}.weui-msg__opr-area .weui-btn-area{margin:0 16px}.weui-msg__opr-area .weui-btn+.weui-btn{margin-bottom:16px}.weui-msg__opr-area:last-child{margin-bottom:96px}.weui-msg__opr-area+.weui-msg__extra-area{margin-top:48px}.weui-msg__tips-area{margin-bottom:16px;padding:0 40px}.weui-msg__opr-area+.weui-msg__tips-area{margin-bottom:48px}.weui-msg__tips-area:last-child{margin-bottom:64px}.weui-msg__extra-area,.weui-msg__tips{font-size:12px;color:rgba(0,0,0,.5)}.weui-msg__extra-area{position:static;margin-bottom:24px}
--------------------------------------------------------------------------------
/weui/widget/weui-panel/weui-panel.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | .weui-panel{background-color:#fff;margin-top:10px;position:relative;overflow:hidden}.weui-panel:first-child{margin-top:0}.weui-panel:before{top:0;border-top:1rpx solid rgba(0,0,0,.1)}.weui-panel:after,.weui-panel:before{content:" ";position:absolute;left:0;right:0;height:1px;color:rgba(0,0,0,.1)}.weui-panel:after{bottom:0;border-bottom:1rpx solid rgba(0,0,0,.1)}.weui-panel__hd{padding:16px 16px 13px;color:rgba(0,0,0,.9);font-size:15px;font-weight:700;position:relative}.weui-panel__hd:after{content:" ";position:absolute;left:0;bottom:0;right:0;height:1px;border-bottom:1rpx solid rgba(0,0,0,.1);color:rgba(0,0,0,.1);left:16px}
--------------------------------------------------------------------------------
/weui/widget/weui-progress/weui-progress.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | .weui-progress{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.weui-progress__bar{-webkit-box-flex:1;-webkit-flex:1;flex:1}.weui-progress__opr{margin-left:15px;font-size:0}
--------------------------------------------------------------------------------
/weui/widget/weui-searchbar/weui-searchbar.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | .weui-search-bar{position:relative;padding:8px;display:-webkit-box;display:-webkit-flex;display:flex;box-sizing:border-box;background-color:#ededed;-webkit-text-size-adjust:100%;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.weui-icon-search{margin-right:8px;font-size:14px;vertical-align:top;margin-top:.64em;height:1em;line-height:1em}.weui-icon-search_in-box{position:absolute;left:12px;top:50%;margin-top:-8px}.weui-search-bar__text{display:inline-block;font-size:14px;vertical-align:top}.weui-search-bar__form{position:relative;-webkit-box-flex:1;-webkit-flex:auto;flex:auto;border-radius:4px;background:#fff}.weui-search-bar__box{position:relative;padding-left:32px;padding-right:32px;width:100%;box-sizing:border-box;z-index:1}.weui-search-bar__input{height:32px;line-height:32px;font-size:14px;caret-color:#07c160}.weui-icon-clear{position:absolute;top:0;right:0;bottom:0;padding:0 12px;font-size:0}.weui-icon-clear:after{content:"";height:100%;vertical-align:middle;display:inline-block;width:0;overflow:hidden}.weui-search-bar__label{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;border-radius:4px;text-align:center;color:rgba(0,0,0,.5);background:#fff;line-height:32px}.weui-search-bar__cancel-btn{margin-left:8px;line-height:32px;color:#576b95;white-space:nowrap}
--------------------------------------------------------------------------------
/weui/widget/weui-tab/weui-navbar.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | .weui-navbar{display:-webkit-box;display:-webkit-flex;display:flex;position:relative;z-index:500;background-color:#fff;border-bottom:1rpx solid rgba(0,0,0,.1);padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top)}.weui-navbar+.weui-tab__panel{padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}.weui-navbar__item{position:relative;display:block;-webkit-box-flex:1;-webkit-flex:1;flex:1;padding:16px;padding:calc(16px + constant(safe-area-inset-top)) 16px 16px;padding:calc(16px + env(safe-area-inset-top)) 16px 16px;text-align:center;font-size:17px;line-height:1.41176471}.weui-navbar__item:after{content:" ";position:absolute;right:0;top:0;width:1px;bottom:0;border-right:1rpx solid rgba(0,0,0,.1);color:rgba(0,0,0,.1)}.weui-navbar__item.weui-bar__item_on{background-color:#ececec}.weui-navbar__item:first-child{padding-left:calc(16px + constant(safe-area-inset-left));padding-left:calc(16px + env(safe-area-inset-left))}.weui-navbar__item:last-child{padding-right:calc(16px + constant(safe-area-inset-right));padding-right:calc(16px + env(safe-area-inset-right))}.weui-navbar__item:last-child:after{display:none}.weui-navbar__slider{position:absolute;content:" ";left:0;bottom:0;width:6em;height:2px;background-color:#07c160;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;display:none}.weui-navbar__title{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}
--------------------------------------------------------------------------------
/weui/widget/weui-tab/weui-tab.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | .weui-navbar{display:-webkit-box;display:-webkit-flex;display:flex;position:relative;z-index:500;background-color:#fff;border-bottom:1rpx solid rgba(0,0,0,.1);padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top)}.weui-navbar+.weui-tab__panel{padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}.weui-navbar__item{position:relative;display:block;-webkit-box-flex:1;-webkit-flex:1;flex:1;padding:16px;padding:calc(16px + constant(safe-area-inset-top)) 16px 16px;padding:calc(16px + env(safe-area-inset-top)) 16px 16px;text-align:center;font-size:17px;line-height:1.41176471}.weui-navbar__item:after{content:" ";position:absolute;right:0;top:0;width:1px;bottom:0;border-right:1rpx solid rgba(0,0,0,.1);color:rgba(0,0,0,.1)}.weui-navbar__item.weui-bar__item_on{background-color:#ececec}.weui-navbar__item:first-child{padding-left:calc(16px + constant(safe-area-inset-left));padding-left:calc(16px + env(safe-area-inset-left))}.weui-navbar__item:last-child{padding-right:calc(16px + constant(safe-area-inset-right));padding-right:calc(16px + env(safe-area-inset-right))}.weui-navbar__item:last-child:after{display:none}.weui-navbar__slider{position:absolute;content:" ";left:0;bottom:0;width:6em;height:2px;background-color:#07c160;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;display:none}.weui-navbar__title{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.weui-tabbar{display:-webkit-box;display:-webkit-flex;display:flex;position:relative;z-index:500;background-color:#f7f7f7}.weui-tabbar:before{content:" ";position:absolute;left:0;top:0;right:0;height:1px;border-top:1rpx solid rgba(0,0,0,.1);color:rgba(0,0,0,.1)}.weui-tabbar__item{display:block;-webkit-box-flex:1;-webkit-flex:1;flex:1;padding:8px 0 4px;padding-bottom:calc(8px + constant(safe-area-inset-bottom));padding-bottom:calc(8px + env(safe-area-inset-bottom));font-size:0;color:rgba(0,0,0,.5);text-align:center;-webkit-tap-highlight-color:rgba(0,0,0,0)}.weui-tabbar__item:first-child{padding-left:constant(safe-area-inset-left);padding-left:env(safe-area-inset-left)}.weui-tabbar__item:last-child{padding-right:constant(safe-area-inset-right);padding-right:env(safe-area-inset-right)}.weui-tabbar__item.weui-bar__item_on .weui-tabbar__icon,.weui-tabbar__item.weui-bar__item_on .weui-tabbar__icon>i,.weui-tabbar__item.weui-bar__item_on .weui-tabbar__label{color:#07c160}.weui-tabbar__icon{display:inline-block;width:28px;height:28px;margin-bottom:2px}.weui-tabbar__icon>i,i.weui-tabbar__icon{font-size:24px;color:rgba(0,0,0,.5)}.weui-tabbar__icon image{width:100%;height:100%}.weui-tabbar__label{color:rgba(0,0,0,.9);font-size:10px;line-height:1.4}.weui-tab{display:-webkit-box;display:-webkit-flex;display:flex;height:100%;box-sizing:border-box;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}.weui-tab__panel{box-sizing:border-box;-webkit-box-flex:1;-webkit-flex:1;flex:1;overflow:auto;-webkit-overflow-scrolling:touch}
--------------------------------------------------------------------------------
/weui/widget/weui-tab/weui-tabbar.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | .weui-tabbar{display:-webkit-box;display:-webkit-flex;display:flex;position:relative;z-index:500;background-color:#f7f7f7}.weui-tabbar:before{content:" ";position:absolute;left:0;top:0;right:0;height:1px;border-top:1rpx solid rgba(0,0,0,.1);color:rgba(0,0,0,.1)}.weui-tabbar__item{display:block;-webkit-box-flex:1;-webkit-flex:1;flex:1;padding:8px 0 4px;padding-bottom:calc(8px + constant(safe-area-inset-bottom));padding-bottom:calc(8px + env(safe-area-inset-bottom));font-size:0;color:rgba(0,0,0,.5);text-align:center;-webkit-tap-highlight-color:rgba(0,0,0,0)}.weui-tabbar__item:first-child{padding-left:constant(safe-area-inset-left);padding-left:env(safe-area-inset-left)}.weui-tabbar__item:last-child{padding-right:constant(safe-area-inset-right);padding-right:env(safe-area-inset-right)}.weui-tabbar__item.weui-bar__item_on .weui-tabbar__icon,.weui-tabbar__item.weui-bar__item_on .weui-tabbar__icon>i,.weui-tabbar__item.weui-bar__item_on .weui-tabbar__label{color:#07c160}.weui-tabbar__icon{display:inline-block;width:28px;height:28px;margin-bottom:2px}.weui-tabbar__icon>i,i.weui-tabbar__icon{font-size:24px;color:rgba(0,0,0,.5)}.weui-tabbar__icon image{width:100%;height:100%}.weui-tabbar__label{color:rgba(0,0,0,.9);font-size:10px;line-height:1.4}
--------------------------------------------------------------------------------
/weui/widget/weui-tips/weui-actionsheet.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | .weui-actionsheet{position:fixed;left:0;bottom:0;-webkit-transform:translateY(100%);transform:translateY(100%);-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:5000;width:100%;background-color:#eae7e8;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;border-top-left-radius:12px;border-top-right-radius:12px;overflow:hidden}.weui-actionsheet__title{position:relative;height:56px;padding:0 24px;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;text-align:center;font-size:12px;color:rgba(0,0,0,.5);line-height:1.4;background:#fff}.weui-actionsheet__title:before{content:" ";position:absolute;left:0;bottom:0;right:0;height:1px;border-bottom:1rpx solid rgba(0,0,0,.1);color:rgba(0,0,0,.1)}.weui-actionsheet__title .weui-actionsheet__title-text{overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.weui-actionsheet__menu{color:rgba(0,0,0,.9);background-color:#fff}.weui-actionsheet__action{margin-top:8px;background-color:#fff;padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}.weui-actionsheet__cell{position:relative;padding:16px;text-align:center;font-size:17px;line-height:1.41176471}.weui-actionsheet__cell:before{content:" ";position:absolute;left:0;top:0;right:0;height:1px;border-top:1rpx solid rgba(0,0,0,.1);color:rgba(0,0,0,.1)}.weui-actionsheet__cell:active{background-color:#ececec}.weui-actionsheet__cell:first-child:before{display:none}.weui-actionsheet__cell_warn{color:#fa5151}.weui-skin_android .weui-actionsheet{position:fixed;left:50%;top:50%;bottom:auto;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:274px;box-sizing:border-box;-webkit-backface-visibility:hidden;backface-visibility:hidden;background:transparent;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;border-radius:2px}.weui-skin_android .weui-actionsheet__action{display:none}.weui-skin_android .weui-actionsheet__menu{border-radius:2px;box-shadow:0 6px 30px 0 rgba(0,0,0,.1)}.weui-skin_android .weui-actionsheet__cell{padding:16px;font-size:17px;line-height:1.41176471;color:rgba(0,0,0,.9);text-align:left}.weui-skin_android .weui-actionsheet__cell:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.weui-skin_android .weui-actionsheet__cell:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.weui-actionsheet_toggle{-webkit-transform:translate(0);transform:translate(0)}
--------------------------------------------------------------------------------
/weui/widget/weui-tips/weui-badge.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | .weui-badge{display:inline-block;padding:.15em .4em;min-width:8px;border-radius:18px;background-color:#fa5151;color:#fff;line-height:1.2;text-align:center;font-size:12px;vertical-align:middle}.weui-badge_dot{padding:.4em;min-width:0}
--------------------------------------------------------------------------------
/weui/widget/weui-tips/weui-dialog.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | .weui-dialog__wrp{position:fixed;z-index:5000;top:16px;bottom:16px;left:16px;right:16px;text-align:center;font-size:0;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.weui-dialog__wrp .weui-dialog{max-height:100%}.weui-dialog{background-color:#fff;text-align:center;border-radius:12px;overflow:hidden;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;max-height:90%}.weui-dialog__hd{padding:32px 24px 16px}.weui-dialog__title{font-weight:700;font-size:17px;line-height:1.4}.weui-dialog__bd{-webkit-box-flex:1;-webkit-flex:1;flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 24px;margin-bottom:32px;min-height:40px;font-size:17px;line-height:1.4;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;color:rgba(0,0,0,.5)}.weui-dialog__bd:first-child{padding:32px 24px 0;font-weight:700;color:rgba(0,0,0,.9);-webkit-flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.weui-dialog__bd:first-child,.weui-dialog__ft{display:-webkit-box;display:-webkit-flex;display:flex}.weui-dialog__ft{position:relative;line-height:64px;min-height:64px;font-size:17px}.weui-dialog__ft:after{content:" ";position:absolute;left:0;top:0;right:0;height:1px;border-top:1rpx solid rgba(0,0,0,.1);color:rgba(0,0,0,.1)}.weui-dialog__btn{display:block;-webkit-box-flex:1;-webkit-flex:1;flex:1;color:#576b95;font-weight:700;text-decoration:none;-webkit-tap-highlight-color:rgba(0,0,0,0);position:relative}.weui-dialog__btn:active{background-color:#ececec}.weui-dialog__btn:after{content:" ";position:absolute;left:0;top:0;width:1px;bottom:0;border-left:1rpx solid rgba(0,0,0,.1);color:rgba(0,0,0,.1)}.weui-dialog__btn:first-child:after{display:none}.weui-dialog__btn_default{color:rgba(0,0,0,.9)}@media screen and (min-width:352px){.weui-dialog{width:320px;margin:0 auto}}
--------------------------------------------------------------------------------
/weui/widget/weui-tips/weui-half-screen-dialog.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | .weui-half-screen-dialog{position:fixed;left:0;right:0;bottom:0;max-height:75%;z-index:5000;line-height:1.4;background-color:#fff;border-top-left-radius:12px;border-top-right-radius:12px;overflow:hidden;padding:0 24px;padding:0 calc(24px + constant(safe-area-inset-right)) constant(safe-area-inset-bottom) calc(24px + constant(safe-area-inset-left));padding:0 calc(24px + env(safe-area-inset-right)) env(safe-area-inset-bottom) calc(24px + env(safe-area-inset-left))}.weui-half-screen-dialog__hd{font-size:8px;height:8em;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.weui-half-screen-dialog__hd .weui-icon-btn{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.weui-half-screen-dialog__hd__side{position:relative;left:-8px}.weui-half-screen-dialog__hd__main{-webkit-box-flex:1;-webkit-flex:1;flex:1}.weui-half-screen-dialog__hd__side+.weui-half-screen-dialog__hd__main{text-align:center;padding:0 40px}.weui-half-screen-dialog__hd__main+.weui-half-screen-dialog__hd__side{right:-8px;left:auto}.weui-half-screen-dialog__hd__main+.weui-half-screen-dialog__hd__side .weui-icon-btn{right:0}.weui-half-screen-dialog__title{display:block;color:rgba(0,0,0,.9);font-weight:700;font-size:15px}.weui-half-screen-dialog__subtitle{display:block;color:rgba(0,0,0,.5);font-size:10px}.weui-half-screen-dialog__bd{word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;overflow-y:auto}.weui-half-screen-dialog__desc{padding-top:4px;font-size:17px;font-weight:700;color:rgba(0,0,0,.9);line-height:1.4}.weui-half-screen-dialog__tips{padding-top:16px;font-size:14px;color:rgba(0,0,0,.3);line-height:1.4}.weui-half-screen-dialog__ft{padding:40px 24px 32px;text-align:center}.weui-half-screen-dialog__ft .weui-btn:nth-last-child(n+2),.weui-half-screen-dialog__ft .weui-btn:nth-last-child(n+2)+.weui-btn{display:inline-block;vertical-align:top;margin:0 8px;width:120px}.weui-icon-btn{background-color:transparent;background-repeat:no-repeat;background-position:50% 50%;background-size:100%;border:0;outline:0;font-size:0}.weui-icon-btn_goback{width:12px;height:24px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='24' viewBox='0 0 12 24'%3E %3Cg fill='none' fill-rule='evenodd' transform='translate(-16 -20)'%3E %3Cpath fill='%23FFF' d='M0 12C0 5.373 5.367 0 12 0h390c6.628 0 12 5.374 12 12v52H0V12z'/%3E %3Cpath fill='%23000' fill-opacity='.9' d='M26 39.438L24.955 40.5l-7.666-7.79a1.02 1.02 0 0 1 0-1.42l7.666-7.79L26 24.563 18.682 32 26 39.438z'/%3E %3C/g%3E%3C/svg%3E")}.weui-icon-btn_close{width:24px;height:24px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='24' height='24' viewBox='0 0 24 24'%3E %3Cdefs%3E %3Cpath id='33cf2e7b-22e9-42d7-9c56-a9f4a4e03565-a' d='M8 6.943L1.807.75.75 1.807 6.943 8 .75 14.193l1.057 1.057L8 9.057l6.193 6.193 1.057-1.057L9.057 8l6.193-6.193L14.193.75z'/%3E %3C/defs%3E %3Cg fill='none' fill-rule='evenodd' transform='translate(-16 -20)'%3E %3Cpath fill='%23FFF' d='M0 12C0 5.373 5.367 0 12 0h390c6.628 0 12 5.374 12 12v52H0V12z'/%3E %3Cuse fill='%23000' fill-opacity='.9' transform='translate(20 24)' xlink:href='%2333cf2e7b-22e9-42d7-9c56-a9f4a4e03565-a'/%3E %3C/g%3E%3C/svg%3E")}.weui-icon-btn_more{width:24px;height:24px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E %3Cg fill='none' fill-rule='evenodd' transform='translate(-374 -20)'%3E %3Cpath fill='%23FFF' d='M0 12C0 5.373 5.367 0 12 0h390c6.628 0 12 5.374 12 12v52H0V12z'/%3E %3Cpath fill='%23000' fill-opacity='.9' d='M380.75 32a1.75 1.75 0 1 1-3.5 0 1.75 1.75 0 0 1 3.5 0zm5.25-1.75a1.75 1.75 0 1 1 0 3.5 1.75 1.75 0 0 1 0-3.5zm7 0a1.75 1.75 0 1 1 0 3.5 1.75 1.75 0 0 1 0-3.5z'/%3E %3C/g%3E%3C/svg%3E")}
--------------------------------------------------------------------------------
/weui/widget/weui-tips/weui-loadmore.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | .weui-loadmore{width:65%;margin:1.5em auto;line-height:1.6em;font-size:14px;text-align:center}.weui-loadmore__tips{display:inline-block;vertical-align:middle}.weui-loadmore_line{border-top:1px solid rgba(0,0,0,.1);margin-top:2.4em}.weui-loadmore__tips_in-line{position:relative;top:-.9em;padding:0 .55em;background-color:#fff;color:rgba(0,0,0,.5)}.weui-loadmore__tips_in-dot{position:relative;padding:0 .16em;width:4px;height:1.6em}.weui-loadmore__tips_in-dot:before{content:" ";position:absolute;top:50%;left:50%;margin-top:-1px;margin-left:-2px;width:4px;height:4px;border-radius:50%;background-color:rgba(0,0,0,.1)}
--------------------------------------------------------------------------------
/weui/widget/weui-tips/weui-mask.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | .weui-mask{background:rgba(0,0,0,.6)}.weui-mask,.weui-mask_transparent{position:fixed;z-index:1000;top:0;right:0;left:0;bottom:0}
--------------------------------------------------------------------------------
/weui/widget/weui-tips/weui-toptips.wxss:
--------------------------------------------------------------------------------
1 | /*!
2 | * WeUI v2.0.1 (https://github.com/weui/weui-wxss)
3 | * Copyright 2019 Tencent, Inc.
4 | * Licensed under the MIT license
5 | */
6 | .weui-toptips{position:fixed;-webkit-transform:translateZ(0) translateY(-108%);transform:translateZ(0) translateY(-108%);text-align:center;top:8px;left:16px;right:16px;border-radius:4px;padding:8px;-webkit-border-radius:4px;color:hsla(0,0%,100%,.9);font-size:17px;line-height:1.4;background:rgba(250,81,81,.9);z-index:5000;word-wrap:break-word;word-break:break-all;-webkit-transition:all .4s ease-in-out;transition:all .4s ease-in-out}.weui-toptips_show{-webkit-transform:translateZ(0) translateY(0);transform:translateZ(0) translateY(0);opacity:1}.weui-toptips_warn{background-color:#fa5151}.weui-toptips_success{background-color:#09bb07}.weui-toptips_error{background-color:#fa5151}.weui-toptips_info{background-color:#10aeff}
--------------------------------------------------------------------------------
/wxParse/emojis/00.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/00.gif
--------------------------------------------------------------------------------
/wxParse/emojis/01.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/01.gif
--------------------------------------------------------------------------------
/wxParse/emojis/02.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/02.gif
--------------------------------------------------------------------------------
/wxParse/emojis/03.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/03.gif
--------------------------------------------------------------------------------
/wxParse/emojis/04.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/04.gif
--------------------------------------------------------------------------------
/wxParse/emojis/05.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/05.gif
--------------------------------------------------------------------------------
/wxParse/emojis/06.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/06.gif
--------------------------------------------------------------------------------
/wxParse/emojis/07.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/07.gif
--------------------------------------------------------------------------------
/wxParse/emojis/08.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/08.gif
--------------------------------------------------------------------------------
/wxParse/emojis/09.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/09.gif
--------------------------------------------------------------------------------
/wxParse/emojis/10.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/10.gif
--------------------------------------------------------------------------------
/wxParse/emojis/100.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/100.gif
--------------------------------------------------------------------------------
/wxParse/emojis/101.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/101.gif
--------------------------------------------------------------------------------
/wxParse/emojis/102.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/102.gif
--------------------------------------------------------------------------------
/wxParse/emojis/103.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/103.gif
--------------------------------------------------------------------------------
/wxParse/emojis/104.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/104.gif
--------------------------------------------------------------------------------
/wxParse/emojis/105.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/105.gif
--------------------------------------------------------------------------------
/wxParse/emojis/106.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/106.gif
--------------------------------------------------------------------------------
/wxParse/emojis/107.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/107.gif
--------------------------------------------------------------------------------
/wxParse/emojis/108.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/108.gif
--------------------------------------------------------------------------------
/wxParse/emojis/109.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/109.gif
--------------------------------------------------------------------------------
/wxParse/emojis/11.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/11.gif
--------------------------------------------------------------------------------
/wxParse/emojis/110.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/110.gif
--------------------------------------------------------------------------------
/wxParse/emojis/111.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/111.gif
--------------------------------------------------------------------------------
/wxParse/emojis/112.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/112.gif
--------------------------------------------------------------------------------
/wxParse/emojis/113.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/113.gif
--------------------------------------------------------------------------------
/wxParse/emojis/114.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/114.gif
--------------------------------------------------------------------------------
/wxParse/emojis/115.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/115.gif
--------------------------------------------------------------------------------
/wxParse/emojis/116.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/116.gif
--------------------------------------------------------------------------------
/wxParse/emojis/117.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/117.gif
--------------------------------------------------------------------------------
/wxParse/emojis/118.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/118.gif
--------------------------------------------------------------------------------
/wxParse/emojis/119.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/119.gif
--------------------------------------------------------------------------------
/wxParse/emojis/12.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/12.gif
--------------------------------------------------------------------------------
/wxParse/emojis/120.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/120.gif
--------------------------------------------------------------------------------
/wxParse/emojis/121.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/121.gif
--------------------------------------------------------------------------------
/wxParse/emojis/122.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/122.gif
--------------------------------------------------------------------------------
/wxParse/emojis/123.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/123.gif
--------------------------------------------------------------------------------
/wxParse/emojis/124.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/124.gif
--------------------------------------------------------------------------------
/wxParse/emojis/125.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/125.gif
--------------------------------------------------------------------------------
/wxParse/emojis/126.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/126.gif
--------------------------------------------------------------------------------
/wxParse/emojis/127.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/127.gif
--------------------------------------------------------------------------------
/wxParse/emojis/128.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/128.gif
--------------------------------------------------------------------------------
/wxParse/emojis/129.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/129.gif
--------------------------------------------------------------------------------
/wxParse/emojis/13.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/13.gif
--------------------------------------------------------------------------------
/wxParse/emojis/130.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/130.gif
--------------------------------------------------------------------------------
/wxParse/emojis/131.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/131.gif
--------------------------------------------------------------------------------
/wxParse/emojis/132.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/132.gif
--------------------------------------------------------------------------------
/wxParse/emojis/133.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/133.gif
--------------------------------------------------------------------------------
/wxParse/emojis/134.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/134.gif
--------------------------------------------------------------------------------
/wxParse/emojis/14.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/14.gif
--------------------------------------------------------------------------------
/wxParse/emojis/15.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/15.gif
--------------------------------------------------------------------------------
/wxParse/emojis/16.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/16.gif
--------------------------------------------------------------------------------
/wxParse/emojis/17.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/17.gif
--------------------------------------------------------------------------------
/wxParse/emojis/18.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/18.gif
--------------------------------------------------------------------------------
/wxParse/emojis/19.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/19.gif
--------------------------------------------------------------------------------
/wxParse/emojis/20.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/20.gif
--------------------------------------------------------------------------------
/wxParse/emojis/21.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/21.gif
--------------------------------------------------------------------------------
/wxParse/emojis/22.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/22.gif
--------------------------------------------------------------------------------
/wxParse/emojis/23.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/23.gif
--------------------------------------------------------------------------------
/wxParse/emojis/24.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/24.gif
--------------------------------------------------------------------------------
/wxParse/emojis/25.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/25.gif
--------------------------------------------------------------------------------
/wxParse/emojis/26.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/26.gif
--------------------------------------------------------------------------------
/wxParse/emojis/27.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/27.gif
--------------------------------------------------------------------------------
/wxParse/emojis/28.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/28.gif
--------------------------------------------------------------------------------
/wxParse/emojis/29.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/29.gif
--------------------------------------------------------------------------------
/wxParse/emojis/30.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/30.gif
--------------------------------------------------------------------------------
/wxParse/emojis/31.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/31.gif
--------------------------------------------------------------------------------
/wxParse/emojis/32.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/32.gif
--------------------------------------------------------------------------------
/wxParse/emojis/33.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/33.gif
--------------------------------------------------------------------------------
/wxParse/emojis/34.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/34.gif
--------------------------------------------------------------------------------
/wxParse/emojis/35.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/35.gif
--------------------------------------------------------------------------------
/wxParse/emojis/36.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/36.gif
--------------------------------------------------------------------------------
/wxParse/emojis/37.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/37.gif
--------------------------------------------------------------------------------
/wxParse/emojis/38.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/38.gif
--------------------------------------------------------------------------------
/wxParse/emojis/39.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/39.gif
--------------------------------------------------------------------------------
/wxParse/emojis/40.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/40.gif
--------------------------------------------------------------------------------
/wxParse/emojis/41.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/41.gif
--------------------------------------------------------------------------------
/wxParse/emojis/42.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/42.gif
--------------------------------------------------------------------------------
/wxParse/emojis/43.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/43.gif
--------------------------------------------------------------------------------
/wxParse/emojis/44.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/44.gif
--------------------------------------------------------------------------------
/wxParse/emojis/45.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/45.gif
--------------------------------------------------------------------------------
/wxParse/emojis/46.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/46.gif
--------------------------------------------------------------------------------
/wxParse/emojis/47.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/47.gif
--------------------------------------------------------------------------------
/wxParse/emojis/48.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/48.gif
--------------------------------------------------------------------------------
/wxParse/emojis/49.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/49.gif
--------------------------------------------------------------------------------
/wxParse/emojis/50.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/50.gif
--------------------------------------------------------------------------------
/wxParse/emojis/51.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/51.gif
--------------------------------------------------------------------------------
/wxParse/emojis/52.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/52.gif
--------------------------------------------------------------------------------
/wxParse/emojis/53.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/53.gif
--------------------------------------------------------------------------------
/wxParse/emojis/54.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/54.gif
--------------------------------------------------------------------------------
/wxParse/emojis/55.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/55.gif
--------------------------------------------------------------------------------
/wxParse/emojis/56.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/56.gif
--------------------------------------------------------------------------------
/wxParse/emojis/57.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/57.gif
--------------------------------------------------------------------------------
/wxParse/emojis/58.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/58.gif
--------------------------------------------------------------------------------
/wxParse/emojis/59.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/59.gif
--------------------------------------------------------------------------------
/wxParse/emojis/60.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/60.gif
--------------------------------------------------------------------------------
/wxParse/emojis/61.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/61.gif
--------------------------------------------------------------------------------
/wxParse/emojis/62.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/62.gif
--------------------------------------------------------------------------------
/wxParse/emojis/63.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/63.gif
--------------------------------------------------------------------------------
/wxParse/emojis/64.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/64.gif
--------------------------------------------------------------------------------
/wxParse/emojis/65.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/65.gif
--------------------------------------------------------------------------------
/wxParse/emojis/66.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/66.gif
--------------------------------------------------------------------------------
/wxParse/emojis/67.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/67.gif
--------------------------------------------------------------------------------
/wxParse/emojis/68.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/68.gif
--------------------------------------------------------------------------------
/wxParse/emojis/69.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/69.gif
--------------------------------------------------------------------------------
/wxParse/emojis/70.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/70.gif
--------------------------------------------------------------------------------
/wxParse/emojis/71.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/71.gif
--------------------------------------------------------------------------------
/wxParse/emojis/72.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/72.gif
--------------------------------------------------------------------------------
/wxParse/emojis/73.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/73.gif
--------------------------------------------------------------------------------
/wxParse/emojis/74.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/74.gif
--------------------------------------------------------------------------------
/wxParse/emojis/75.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/75.gif
--------------------------------------------------------------------------------
/wxParse/emojis/76.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/76.gif
--------------------------------------------------------------------------------
/wxParse/emojis/77.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/77.gif
--------------------------------------------------------------------------------
/wxParse/emojis/78.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/78.gif
--------------------------------------------------------------------------------
/wxParse/emojis/79.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/79.gif
--------------------------------------------------------------------------------
/wxParse/emojis/80.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/80.gif
--------------------------------------------------------------------------------
/wxParse/emojis/81.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/81.gif
--------------------------------------------------------------------------------
/wxParse/emojis/82.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/82.gif
--------------------------------------------------------------------------------
/wxParse/emojis/83.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/83.gif
--------------------------------------------------------------------------------
/wxParse/emojis/84.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/84.gif
--------------------------------------------------------------------------------
/wxParse/emojis/85.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/85.gif
--------------------------------------------------------------------------------
/wxParse/emojis/86.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/86.gif
--------------------------------------------------------------------------------
/wxParse/emojis/87.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/87.gif
--------------------------------------------------------------------------------
/wxParse/emojis/88.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/88.gif
--------------------------------------------------------------------------------
/wxParse/emojis/89.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/89.gif
--------------------------------------------------------------------------------
/wxParse/emojis/90.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/90.gif
--------------------------------------------------------------------------------
/wxParse/emojis/91.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/91.gif
--------------------------------------------------------------------------------
/wxParse/emojis/92.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/92.gif
--------------------------------------------------------------------------------
/wxParse/emojis/93.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/93.gif
--------------------------------------------------------------------------------
/wxParse/emojis/94.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/94.gif
--------------------------------------------------------------------------------
/wxParse/emojis/95.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/95.gif
--------------------------------------------------------------------------------
/wxParse/emojis/96.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/96.gif
--------------------------------------------------------------------------------
/wxParse/emojis/97.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/97.gif
--------------------------------------------------------------------------------
/wxParse/emojis/98.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/98.gif
--------------------------------------------------------------------------------
/wxParse/emojis/99.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Kotoba209/wx-mall/e332c3d86f0943c2da301f944efc5d3a948ef7d1/wxParse/emojis/99.gif
--------------------------------------------------------------------------------