Compare commits
No commits in common. 'main' and 'Zhanghao_branch' have entirely different histories.
main
...
Zhanghao_b
Before Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 82 KiB |
Before Width: | Height: | Size: 70 KiB |
Before Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 88 KiB |
Before Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 94 KiB |
Before Width: | Height: | Size: 77 KiB |
Before Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 47 KiB |
Before Width: | Height: | Size: 92 KiB |
Before Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 69 KiB |
Before Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 723 KiB |
Before Width: | Height: | Size: 45 KiB |
Before Width: | Height: | Size: 48 KiB |
Before Width: | Height: | Size: 80 KiB |
Before Width: | Height: | Size: 122 KiB |
Before Width: | Height: | Size: 55 KiB |
Before Width: | Height: | Size: 41 KiB |
Before Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 88 KiB |
Before Width: | Height: | Size: 224 KiB |
Before Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 93 KiB |
Before Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 170 KiB |
Before Width: | Height: | Size: 723 KiB |
@ -1,31 +0,0 @@
|
|||||||
/*
|
|
||||||
* Eslint config file
|
|
||||||
* Documentation: https://eslint.org/docs/user-guide/configuring/
|
|
||||||
* Install the Eslint extension before using this feature.
|
|
||||||
*/
|
|
||||||
module.exports = {
|
|
||||||
env: {
|
|
||||||
es6: true,
|
|
||||||
browser: true,
|
|
||||||
node: true,
|
|
||||||
},
|
|
||||||
ecmaFeatures: {
|
|
||||||
modules: true,
|
|
||||||
},
|
|
||||||
parserOptions: {
|
|
||||||
ecmaVersion: 2018,
|
|
||||||
sourceType: 'module',
|
|
||||||
},
|
|
||||||
globals: {
|
|
||||||
wx: true,
|
|
||||||
App: true,
|
|
||||||
Page: true,
|
|
||||||
getCurrentPages: true,
|
|
||||||
getApp: true,
|
|
||||||
Component: true,
|
|
||||||
requirePlugin: true,
|
|
||||||
requireMiniProgram: true,
|
|
||||||
},
|
|
||||||
// extends: 'eslint:recommended',
|
|
||||||
rules: {},
|
|
||||||
}
|
|
@ -1,79 +0,0 @@
|
|||||||
// Components/test1/test1.js
|
|
||||||
Component({
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 组件的属性列表
|
|
||||||
*/
|
|
||||||
properties: {
|
|
||||||
// 1、简化方式
|
|
||||||
// max: Number
|
|
||||||
// 2、完整方式
|
|
||||||
max: {
|
|
||||||
type: Number,
|
|
||||||
// 默认值
|
|
||||||
value: 10
|
|
||||||
},
|
|
||||||
num: {
|
|
||||||
type: Number,
|
|
||||||
value: 0
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 组件的初始数据
|
|
||||||
*/
|
|
||||||
data: {
|
|
||||||
count: 0,
|
|
||||||
n1: 1,
|
|
||||||
n2: 2,
|
|
||||||
sum: 3
|
|
||||||
},
|
|
||||||
options: {
|
|
||||||
//纯数据字段
|
|
||||||
pureDataPattern: /^_/,
|
|
||||||
//支持多个插槽
|
|
||||||
multipleSlots: true
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* 组件的方法列表
|
|
||||||
*/
|
|
||||||
methods: {
|
|
||||||
pre() {
|
|
||||||
this.setData({
|
|
||||||
count: this.data.count + 1
|
|
||||||
})
|
|
||||||
if(this.data.count == this.properties.max) {
|
|
||||||
wx.showToast({
|
|
||||||
title: '请求过于频繁',
|
|
||||||
icon: 'error',
|
|
||||||
duration: 2000
|
|
||||||
})
|
|
||||||
this.setData({
|
|
||||||
count: 0
|
|
||||||
})
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
wx.showLoading({
|
|
||||||
title: '预测中',
|
|
||||||
duration: 2000
|
|
||||||
})
|
|
||||||
}
|
|
||||||
},
|
|
||||||
// addN1() {
|
|
||||||
// this.setData({
|
|
||||||
// n1: this.data.n1 + 1
|
|
||||||
// })
|
|
||||||
// },
|
|
||||||
// addN2() {
|
|
||||||
// this.setData({
|
|
||||||
// n2: this.data.n2 + 1
|
|
||||||
// })
|
|
||||||
// }
|
|
||||||
},
|
|
||||||
// 数据监听
|
|
||||||
// observers: {
|
|
||||||
// 'n1, n2': function(n1, n2) {
|
|
||||||
// this.setData({sum: n1 + n2})
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
})
|
|
@ -1,4 +0,0 @@
|
|||||||
{
|
|
||||||
"component": true,
|
|
||||||
"usingComponents": {}
|
|
||||||
}
|
|
@ -1,12 +0,0 @@
|
|||||||
<!--Components/test1/test1.wxml-->
|
|
||||||
<button class="pre" type="primary" bindtap="pre">预测</button>
|
|
||||||
<!-- <view>{{num}}</view> -->
|
|
||||||
|
|
||||||
<!-- 插槽占位 -->
|
|
||||||
<slot name="before"></slot>
|
|
||||||
<slot name="after"></slot>
|
|
||||||
<!-- <view>{{n1}} + {{n2}} = {{sum}}</view>
|
|
||||||
<view class="plus">
|
|
||||||
<button size="mini" bindtap="addN1">n1+1</button>
|
|
||||||
<button size="mini" bindtap="addN2">n2+2</button>
|
|
||||||
</view> -->
|
|
@ -1,8 +0,0 @@
|
|||||||
/* Components/test1/test1.wxss */
|
|
||||||
.pre {
|
|
||||||
box-shadow: 0px 0px 5px 1px rgba(0, 0, 0, 0.3);
|
|
||||||
}
|
|
||||||
.plus {
|
|
||||||
display: flex;
|
|
||||||
/* justify-content: space-evenly; */
|
|
||||||
}
|
|
@ -1,24 +0,0 @@
|
|||||||
// Components/test2/test2.js
|
|
||||||
Component({
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 组件的属性列表
|
|
||||||
*/
|
|
||||||
properties: {
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 组件的初始数据
|
|
||||||
*/
|
|
||||||
data: {
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 组件的方法列表
|
|
||||||
*/
|
|
||||||
methods: {
|
|
||||||
|
|
||||||
}
|
|
||||||
})
|
|
@ -1,4 +0,0 @@
|
|||||||
{
|
|
||||||
"component": true,
|
|
||||||
"usingComponents": {}
|
|
||||||
}
|
|
@ -1,2 +0,0 @@
|
|||||||
<!--Components/test2/test2.wxml-->
|
|
||||||
<text>Components/test2/test2.wxml</text>
|
|
@ -1 +0,0 @@
|
|||||||
/* Components/test2/test2.wxss */
|
|
@ -1,2 +0,0 @@
|
|||||||
# 111
|
|
||||||
it's a test demo
|
|
@ -1,29 +0,0 @@
|
|||||||
// app.js
|
|
||||||
|
|
||||||
|
|
||||||
wx.navigateTo({
|
|
||||||
url: '/pages/login/login',
|
|
||||||
})
|
|
||||||
|
|
||||||
App({
|
|
||||||
onLaunch() {
|
|
||||||
// 展示本地存储能力
|
|
||||||
const logs = wx.getStorageSync('logs') || []
|
|
||||||
logs.unshift(Date.now())
|
|
||||||
wx.setStorageSync('logs', logs)
|
|
||||||
|
|
||||||
// 登录
|
|
||||||
wx.login({
|
|
||||||
success: res => {
|
|
||||||
// 发送 res.code 到后台换取 openId, sessionKey, unionId
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
globalData: {
|
|
||||||
userInfo: {
|
|
||||||
avatarUrl: '',
|
|
||||||
nickName: 'hhh',
|
|
||||||
psw: '123456'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
@ -1,75 +0,0 @@
|
|||||||
{
|
|
||||||
"usingComponents": {
|
|
||||||
"test2": "/Components/test2/test2",
|
|
||||||
"van-tabbar": "@vant/weapp/tabbar/index",
|
|
||||||
"van-tabbar-item": "@vant/weapp/tabbar-item/index"
|
|
||||||
},
|
|
||||||
"pages": [
|
|
||||||
"pages/index/index",
|
|
||||||
"pages/login/login",
|
|
||||||
"pages/list/list",
|
|
||||||
"pages/info/info",
|
|
||||||
"pages/prediction/prediction",
|
|
||||||
"pages/logs/logs",
|
|
||||||
"pages/map/map",
|
|
||||||
"pages/navigation_bus/navigation",
|
|
||||||
"pages/navigation_ride/navigation",
|
|
||||||
"pages/navigation_walk/navigation",
|
|
||||||
"pages/my/my",
|
|
||||||
"pages/register/register",
|
|
||||||
"pages/pswChange/pswChange",
|
|
||||||
"pages/innerLogin/innerLogin",
|
|
||||||
"pages/result/result",
|
|
||||||
"pages/predict/predict"
|
|
||||||
],
|
|
||||||
"requiredPrivateInfos": [
|
|
||||||
"choosePoi"
|
|
||||||
],
|
|
||||||
"window": {
|
|
||||||
"navigationBarTextStyle": "black",
|
|
||||||
"navigationBarTitleText": "预测通",
|
|
||||||
"navigationBarBackgroundColor": "#00b26a",
|
|
||||||
"backgroundColor": "#efefef",
|
|
||||||
"onReachBottomDistance": 50
|
|
||||||
},
|
|
||||||
"plugins": {
|
|
||||||
"routePlan": {
|
|
||||||
"version": "1.0.19",
|
|
||||||
"provider": "wx50b5593e81dd937a"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"permission": {
|
|
||||||
"scope.userLocation": {
|
|
||||||
"desc": "你的位置信息将用于小程序定位"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"tabBar": {
|
|
||||||
"custom": true,
|
|
||||||
"list": [
|
|
||||||
{
|
|
||||||
"pagePath": "pages/index/index",
|
|
||||||
"text": "首页",
|
|
||||||
"iconPath": "/image/tabBar/zhuye.png",
|
|
||||||
"selectedIconPath": "/image/tabBar/home-active.png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"pagePath": "pages/list/list",
|
|
||||||
"text": "计划",
|
|
||||||
"iconPath": "/image/tabBar/list.png",
|
|
||||||
"selectedIconPath": "/image/tabBar/list-active-icon.png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"pagePath": "pages/my/my",
|
|
||||||
"text": "我的",
|
|
||||||
"iconPath": "/image/tabBar/login_User.png",
|
|
||||||
"selectedIconPath": "/image/tabBar/my-active.png"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"borderStyle": "black",
|
|
||||||
"backgroundColor": "#ffffff"
|
|
||||||
},
|
|
||||||
"style": "v2",
|
|
||||||
"componentFramework": "glass-easel",
|
|
||||||
"sitemapLocation": "sitemap.json",
|
|
||||||
"lazyCodeLoading": "requiredComponents"
|
|
||||||
}
|
|
@ -1,18 +0,0 @@
|
|||||||
/**app.wxss**/
|
|
||||||
view {
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
||||||
.container {
|
|
||||||
height: 100%;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: space-between;
|
|
||||||
padding: 200rpx 0;
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 仅类选择器具有对组件的隔离 */
|
|
||||||
.red-text {
|
|
||||||
color: red;
|
|
||||||
}
|
|
@ -1,80 +0,0 @@
|
|||||||
// custom-tab-bar/index.js
|
|
||||||
import { storeBindingsBehavior } from 'mobx-miniprogram-bindings'
|
|
||||||
import { store } from '../store/store'
|
|
||||||
|
|
||||||
Component({
|
|
||||||
|
|
||||||
options: {
|
|
||||||
styleIsolation: 'shared'
|
|
||||||
},
|
|
||||||
behaviors: [storeBindingsBehavior],
|
|
||||||
storeBindings: {
|
|
||||||
store,
|
|
||||||
fields: {
|
|
||||||
num: 'num',
|
|
||||||
active: 'activeTabBar'
|
|
||||||
},
|
|
||||||
actions: {
|
|
||||||
updateActive: 'updateActiveTabBar',
|
|
||||||
updateNum: 'updateNum'
|
|
||||||
},
|
|
||||||
},
|
|
||||||
observers: {
|
|
||||||
'num': function(val) {
|
|
||||||
// console.log(val)
|
|
||||||
this.setData({
|
|
||||||
'list[1].info': val
|
|
||||||
})
|
|
||||||
}
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* 组件的属性列表
|
|
||||||
*/
|
|
||||||
properties: {
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 组件的初始数据
|
|
||||||
*/
|
|
||||||
data: {
|
|
||||||
icon: {
|
|
||||||
normal: 'https://img.yzcdn.cn/vant/user-inactive.png',
|
|
||||||
active: 'https://img.yzcdn.cn/vant/user-active.png',
|
|
||||||
},
|
|
||||||
"list": [
|
|
||||||
{
|
|
||||||
"pagePath": "/pages/index/index",
|
|
||||||
"text": "首页",
|
|
||||||
"iconPath": "/image/tabBar/zhuye.png",
|
|
||||||
"selectedIconPath": "/image/tabBar/home-active.png"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"pagePath": "/pages/list/list",
|
|
||||||
"text": "计划",
|
|
||||||
"iconPath": "/image/tabBar/list.png",
|
|
||||||
"selectedIconPath": "/image/tabBar/list-active-icon.png",
|
|
||||||
info: 3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"pagePath": "/pages/my/my",
|
|
||||||
"text": "我的",
|
|
||||||
"iconPath": "/image/tabBar/login_User.png",
|
|
||||||
"selectedIconPath": "/image/tabBar/my-active.png"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
},
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 组件的方法列表
|
|
||||||
*/
|
|
||||||
methods: {
|
|
||||||
onChange(event) {
|
|
||||||
// this.setData({ active: event.detail });
|
|
||||||
this.updateActive(event.detail)
|
|
||||||
wx.switchTab({
|
|
||||||
url: this.data.list[event.detail].pagePath,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
@ -1,4 +0,0 @@
|
|||||||
{
|
|
||||||
"component": true,
|
|
||||||
"usingComponents": {}
|
|
||||||
}
|
|
@ -1,19 +0,0 @@
|
|||||||
<!--custom-tab-bar/index.wxml-->
|
|
||||||
|
|
||||||
<van-tabbar active="{{active}}" bind:change="onChange" style="position: fixed;">
|
|
||||||
<van-tabbar-item wx:for="{{list}}" wx:key="index" info="{{item.info ? item.info : ''}}">
|
|
||||||
<image
|
|
||||||
slot="icon"
|
|
||||||
src="{{item.iconPath}}"
|
|
||||||
mode="aspectFit"
|
|
||||||
style="width: 22px; height: 22px;"
|
|
||||||
/>
|
|
||||||
<image
|
|
||||||
slot="icon-active"
|
|
||||||
src="{{item.selectedIconPath}}"
|
|
||||||
mode="aspectFit"
|
|
||||||
style="width: 22px; height: 22px;"
|
|
||||||
/>
|
|
||||||
{{item.text}}
|
|
||||||
</van-tabbar-item>
|
|
||||||
</van-tabbar>
|
|
@ -1,4 +0,0 @@
|
|||||||
/* custom-tab-bar/index.wxss */
|
|
||||||
.van-tabbar-item{
|
|
||||||
--tabbar-item-margin-bottom: 0;
|
|
||||||
}
|
|
Before Width: | Height: | Size: 209 KiB |
Before Width: | Height: | Size: 4.9 KiB |
Before Width: | Height: | Size: 4.9 KiB |
Before Width: | Height: | Size: 6.5 KiB |
Before Width: | Height: | Size: 174 KiB |
Before Width: | Height: | Size: 304 KiB |
Before Width: | Height: | Size: 5.4 KiB |
Before Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 5.6 KiB |
Before Width: | Height: | Size: 6.6 KiB |
Before Width: | Height: | Size: 6.3 KiB |
Before Width: | Height: | Size: 4.9 KiB |
Before Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 4.0 KiB |
@ -1 +0,0 @@
|
|||||||
export {};
|
|
@ -1,78 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
|
||||||
var component_1 = require("../common/component");
|
|
||||||
var button_1 = require("../mixins/button");
|
|
||||||
(0, component_1.VantComponent)({
|
|
||||||
classes: ['list-class'],
|
|
||||||
mixins: [button_1.button],
|
|
||||||
props: {
|
|
||||||
show: Boolean,
|
|
||||||
title: String,
|
|
||||||
cancelText: String,
|
|
||||||
description: String,
|
|
||||||
round: {
|
|
||||||
type: Boolean,
|
|
||||||
value: true,
|
|
||||||
},
|
|
||||||
zIndex: {
|
|
||||||
type: Number,
|
|
||||||
value: 100,
|
|
||||||
},
|
|
||||||
actions: {
|
|
||||||
type: Array,
|
|
||||||
value: [],
|
|
||||||
},
|
|
||||||
overlay: {
|
|
||||||
type: Boolean,
|
|
||||||
value: true,
|
|
||||||
},
|
|
||||||
closeOnClickOverlay: {
|
|
||||||
type: Boolean,
|
|
||||||
value: true,
|
|
||||||
},
|
|
||||||
closeOnClickAction: {
|
|
||||||
type: Boolean,
|
|
||||||
value: true,
|
|
||||||
},
|
|
||||||
safeAreaInsetBottom: {
|
|
||||||
type: Boolean,
|
|
||||||
value: true,
|
|
||||||
},
|
|
||||||
rootPortal: {
|
|
||||||
type: Boolean,
|
|
||||||
value: false,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
onSelect: function (event) {
|
|
||||||
var _this = this;
|
|
||||||
var index = event.currentTarget.dataset.index;
|
|
||||||
var _a = this.data, actions = _a.actions, closeOnClickAction = _a.closeOnClickAction, canIUseGetUserProfile = _a.canIUseGetUserProfile;
|
|
||||||
var item = actions[index];
|
|
||||||
if (item) {
|
|
||||||
this.$emit('select', item);
|
|
||||||
if (closeOnClickAction) {
|
|
||||||
this.onClose();
|
|
||||||
}
|
|
||||||
if (item.openType === 'getUserInfo' && canIUseGetUserProfile) {
|
|
||||||
wx.getUserProfile({
|
|
||||||
desc: item.getUserProfileDesc || ' ',
|
|
||||||
complete: function (userProfile) {
|
|
||||||
_this.$emit('getuserinfo', userProfile);
|
|
||||||
},
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
onCancel: function () {
|
|
||||||
this.$emit('cancel');
|
|
||||||
},
|
|
||||||
onClose: function () {
|
|
||||||
this.$emit('close');
|
|
||||||
},
|
|
||||||
onClickOverlay: function () {
|
|
||||||
this.$emit('click-overlay');
|
|
||||||
this.onClose();
|
|
||||||
},
|
|
||||||
},
|
|
||||||
});
|
|
@ -1,8 +0,0 @@
|
|||||||
{
|
|
||||||
"component": true,
|
|
||||||
"usingComponents": {
|
|
||||||
"van-icon": "../icon/index",
|
|
||||||
"van-popup": "../popup/index",
|
|
||||||
"van-loading": "../loading/index"
|
|
||||||
}
|
|
||||||
}
|
|
@ -1 +0,0 @@
|
|||||||
@import '../common/index.wxss';.van-action-sheet{color:var(--action-sheet-item-text-color,#323233);max-height:var(--action-sheet-max-height,90%)!important}.van-action-sheet__cancel,.van-action-sheet__item{background-color:var(--action-sheet-item-background,#fff);font-size:var(--action-sheet-item-font-size,16px);line-height:var(--action-sheet-item-line-height,22px);padding:14px 16px;text-align:center}.van-action-sheet__cancel--hover,.van-action-sheet__item--hover{background-color:#f2f3f5}.van-action-sheet__cancel:after,.van-action-sheet__item:after{border-width:0}.van-action-sheet__cancel{color:var(--action-sheet-cancel-text-color,#646566)}.van-action-sheet__gap{background-color:var(--action-sheet-cancel-padding-color,#f7f8fa);display:block;height:var(--action-sheet-cancel-padding-top,8px)}.van-action-sheet__item--disabled{color:var(--action-sheet-item-disabled-text-color,#c8c9cc)}.van-action-sheet__item--disabled.van-action-sheet__item--hover{background-color:var(--action-sheet-item-background,#fff)}.van-action-sheet__subname{color:var(--action-sheet-subname-color,#969799);font-size:var(--action-sheet-subname-font-size,12px);line-height:var(--action-sheet-subname-line-height,20px);margin-top:var(--padding-xs,8px)}.van-action-sheet__header{font-size:var(--action-sheet-header-font-size,16px);font-weight:var(--font-weight-bold,500);line-height:var(--action-sheet-header-height,48px);text-align:center}.van-action-sheet__description{color:var(--action-sheet-description-color,#969799);font-size:var(--action-sheet-description-font-size,14px);line-height:var(--action-sheet-description-line-height,20px);padding:20px var(--padding-md,16px);text-align:center}.van-action-sheet__close{color:var(--action-sheet-close-icon-color,#c8c9cc);font-size:var(--action-sheet-close-icon-size,22px)!important;line-height:inherit!important;padding:var(--action-sheet-close-icon-padding,0 16px);position:absolute!important;right:0;top:0}.van-action-sheet__loading{display:flex!important}
|
|
@ -1 +0,0 @@
|
|||||||
export {};
|
|
@ -1,235 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
var __assign = (this && this.__assign) || function () {
|
|
||||||
__assign = Object.assign || function(t) {
|
|
||||||
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
||||||
s = arguments[i];
|
|
||||||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
||||||
t[p] = s[p];
|
|
||||||
}
|
|
||||||
return t;
|
|
||||||
};
|
|
||||||
return __assign.apply(this, arguments);
|
|
||||||
};
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
|
||||||
var component_1 = require("../common/component");
|
|
||||||
var shared_1 = require("../picker/shared");
|
|
||||||
var utils_1 = require("../common/utils");
|
|
||||||
var EMPTY_CODE = '000000';
|
|
||||||
(0, component_1.VantComponent)({
|
|
||||||
classes: ['active-class', 'toolbar-class', 'column-class'],
|
|
||||||
props: __assign(__assign({}, shared_1.pickerProps), { showToolbar: {
|
|
||||||
type: Boolean,
|
|
||||||
value: true,
|
|
||||||
}, value: {
|
|
||||||
type: String,
|
|
||||||
observer: function (value) {
|
|
||||||
this.code = value;
|
|
||||||
this.setValues();
|
|
||||||
},
|
|
||||||
}, areaList: {
|
|
||||||
type: Object,
|
|
||||||
value: {},
|
|
||||||
observer: 'setValues',
|
|
||||||
}, columnsNum: {
|
|
||||||
type: null,
|
|
||||||
value: 3,
|
|
||||||
}, columnsPlaceholder: {
|
|
||||||
type: Array,
|
|
||||||
observer: function (val) {
|
|
||||||
this.setData({
|
|
||||||
typeToColumnsPlaceholder: {
|
|
||||||
province: val[0] || '',
|
|
||||||
city: val[1] || '',
|
|
||||||
county: val[2] || '',
|
|
||||||
},
|
|
||||||
});
|
|
||||||
},
|
|
||||||
} }),
|
|
||||||
data: {
|
|
||||||
columns: [{ values: [] }, { values: [] }, { values: [] }],
|
|
||||||
typeToColumnsPlaceholder: {},
|
|
||||||
},
|
|
||||||
mounted: function () {
|
|
||||||
var _this = this;
|
|
||||||
(0, utils_1.requestAnimationFrame)(function () {
|
|
||||||
_this.setValues();
|
|
||||||
});
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
getPicker: function () {
|
|
||||||
if (this.picker == null) {
|
|
||||||
this.picker = this.selectComponent('.van-area__picker');
|
|
||||||
}
|
|
||||||
return this.picker;
|
|
||||||
},
|
|
||||||
onCancel: function (event) {
|
|
||||||
this.emit('cancel', event.detail);
|
|
||||||
},
|
|
||||||
onConfirm: function (event) {
|
|
||||||
var index = event.detail.index;
|
|
||||||
var value = event.detail.value;
|
|
||||||
value = this.parseValues(value);
|
|
||||||
this.emit('confirm', { value: value, index: index });
|
|
||||||
},
|
|
||||||
emit: function (type, detail) {
|
|
||||||
detail.values = detail.value;
|
|
||||||
delete detail.value;
|
|
||||||
this.$emit(type, detail);
|
|
||||||
},
|
|
||||||
parseValues: function (values) {
|
|
||||||
var columnsPlaceholder = this.data.columnsPlaceholder;
|
|
||||||
return values.map(function (value, index) {
|
|
||||||
if (value &&
|
|
||||||
(!value.code || value.name === columnsPlaceholder[index])) {
|
|
||||||
return __assign(__assign({}, value), { code: '', name: '' });
|
|
||||||
}
|
|
||||||
return value;
|
|
||||||
});
|
|
||||||
},
|
|
||||||
onChange: function (event) {
|
|
||||||
var _this = this;
|
|
||||||
var _a;
|
|
||||||
var _b = event.detail, index = _b.index, picker = _b.picker, value = _b.value;
|
|
||||||
this.code = value[index].code;
|
|
||||||
(_a = this.setValues()) === null || _a === void 0 ? void 0 : _a.then(function () {
|
|
||||||
_this.$emit('change', {
|
|
||||||
picker: picker,
|
|
||||||
values: _this.parseValues(picker.getValues()),
|
|
||||||
index: index,
|
|
||||||
});
|
|
||||||
});
|
|
||||||
},
|
|
||||||
getConfig: function (type) {
|
|
||||||
var areaList = this.data.areaList;
|
|
||||||
return (areaList && areaList["".concat(type, "_list")]) || {};
|
|
||||||
},
|
|
||||||
getList: function (type, code) {
|
|
||||||
if (type !== 'province' && !code) {
|
|
||||||
return [];
|
|
||||||
}
|
|
||||||
var typeToColumnsPlaceholder = this.data.typeToColumnsPlaceholder;
|
|
||||||
var list = this.getConfig(type);
|
|
||||||
var result = Object.keys(list).map(function (code) { return ({
|
|
||||||
code: code,
|
|
||||||
name: list[code],
|
|
||||||
}); });
|
|
||||||
if (code != null) {
|
|
||||||
// oversea code
|
|
||||||
if (code[0] === '9' && type === 'city') {
|
|
||||||
code = '9';
|
|
||||||
}
|
|
||||||
result = result.filter(function (item) { return item.code.indexOf(code) === 0; });
|
|
||||||
}
|
|
||||||
if (typeToColumnsPlaceholder[type] && result.length) {
|
|
||||||
// set columns placeholder
|
|
||||||
var codeFill = type === 'province'
|
|
||||||
? ''
|
|
||||||
: type === 'city'
|
|
||||||
? EMPTY_CODE.slice(2, 4)
|
|
||||||
: EMPTY_CODE.slice(4, 6);
|
|
||||||
result.unshift({
|
|
||||||
code: "".concat(code).concat(codeFill),
|
|
||||||
name: typeToColumnsPlaceholder[type],
|
|
||||||
});
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
},
|
|
||||||
getIndex: function (type, code) {
|
|
||||||
var compareNum = type === 'province' ? 2 : type === 'city' ? 4 : 6;
|
|
||||||
var list = this.getList(type, code.slice(0, compareNum - 2));
|
|
||||||
// oversea code
|
|
||||||
if (code[0] === '9' && type === 'province') {
|
|
||||||
compareNum = 1;
|
|
||||||
}
|
|
||||||
code = code.slice(0, compareNum);
|
|
||||||
for (var i = 0; i < list.length; i++) {
|
|
||||||
if (list[i].code.slice(0, compareNum) === code) {
|
|
||||||
return i;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
},
|
|
||||||
setValues: function () {
|
|
||||||
var picker = this.getPicker();
|
|
||||||
if (!picker) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
var code = this.code || this.getDefaultCode();
|
|
||||||
var provinceList = this.getList('province');
|
|
||||||
var cityList = this.getList('city', code.slice(0, 2));
|
|
||||||
var stack = [];
|
|
||||||
var indexes = [];
|
|
||||||
var columnsNum = this.data.columnsNum;
|
|
||||||
if (columnsNum >= 1) {
|
|
||||||
stack.push(picker.setColumnValues(0, provinceList, false));
|
|
||||||
indexes.push(this.getIndex('province', code));
|
|
||||||
}
|
|
||||||
if (columnsNum >= 2) {
|
|
||||||
stack.push(picker.setColumnValues(1, cityList, false));
|
|
||||||
indexes.push(this.getIndex('city', code));
|
|
||||||
if (cityList.length && code.slice(2, 4) === '00') {
|
|
||||||
code = cityList[0].code;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (columnsNum === 3) {
|
|
||||||
stack.push(picker.setColumnValues(2, this.getList('county', code.slice(0, 4)), false));
|
|
||||||
indexes.push(this.getIndex('county', code));
|
|
||||||
}
|
|
||||||
return Promise.all(stack)
|
|
||||||
.catch(function () { })
|
|
||||||
.then(function () { return picker.setIndexes(indexes); })
|
|
||||||
.catch(function () { });
|
|
||||||
},
|
|
||||||
getDefaultCode: function () {
|
|
||||||
var columnsPlaceholder = this.data.columnsPlaceholder;
|
|
||||||
if (columnsPlaceholder.length) {
|
|
||||||
return EMPTY_CODE;
|
|
||||||
}
|
|
||||||
var countyCodes = Object.keys(this.getConfig('county'));
|
|
||||||
if (countyCodes[0]) {
|
|
||||||
return countyCodes[0];
|
|
||||||
}
|
|
||||||
var cityCodes = Object.keys(this.getConfig('city'));
|
|
||||||
if (cityCodes[0]) {
|
|
||||||
return cityCodes[0];
|
|
||||||
}
|
|
||||||
return '';
|
|
||||||
},
|
|
||||||
getValues: function () {
|
|
||||||
var picker = this.getPicker();
|
|
||||||
if (!picker) {
|
|
||||||
return [];
|
|
||||||
}
|
|
||||||
return this.parseValues(picker.getValues().filter(function (value) { return !!value; }));
|
|
||||||
},
|
|
||||||
getDetail: function () {
|
|
||||||
var values = this.getValues();
|
|
||||||
var area = {
|
|
||||||
code: '',
|
|
||||||
country: '',
|
|
||||||
province: '',
|
|
||||||
city: '',
|
|
||||||
county: '',
|
|
||||||
};
|
|
||||||
if (!values.length) {
|
|
||||||
return area;
|
|
||||||
}
|
|
||||||
var names = values.map(function (item) { return item.name; });
|
|
||||||
area.code = values[values.length - 1].code;
|
|
||||||
if (area.code[0] === '9') {
|
|
||||||
area.country = names[1] || '';
|
|
||||||
area.province = names[2] || '';
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
area.province = names[0] || '';
|
|
||||||
area.city = names[1] || '';
|
|
||||||
area.county = names[2] || '';
|
|
||||||
}
|
|
||||||
return area;
|
|
||||||
},
|
|
||||||
reset: function (code) {
|
|
||||||
this.code = code || '';
|
|
||||||
return this.setValues();
|
|
||||||
},
|
|
||||||
},
|
|
||||||
});
|
|
@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
"component": true,
|
|
||||||
"usingComponents": {
|
|
||||||
"van-picker": "../picker/index"
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,20 +0,0 @@
|
|||||||
<wxs src="./index.wxs" module="computed" />
|
|
||||||
|
|
||||||
<van-picker
|
|
||||||
class="van-area__picker"
|
|
||||||
active-class="active-class"
|
|
||||||
toolbar-class="toolbar-class"
|
|
||||||
column-class="column-class"
|
|
||||||
show-toolbar="{{ showToolbar }}"
|
|
||||||
value-key="name"
|
|
||||||
title="{{ title }}"
|
|
||||||
loading="{{ loading }}"
|
|
||||||
columns="{{ computed.displayColumns(columns, columnsNum) }}"
|
|
||||||
item-height="{{ itemHeight }}"
|
|
||||||
visible-item-count="{{ visibleItemCount }}"
|
|
||||||
cancel-button-text="{{ cancelButtonText }}"
|
|
||||||
confirm-button-text="{{ confirmButtonText }}"
|
|
||||||
bind:change="onChange"
|
|
||||||
bind:confirm="onConfirm"
|
|
||||||
bind:cancel="onCancel"
|
|
||||||
/>
|
|
@ -1,8 +0,0 @@
|
|||||||
/* eslint-disable */
|
|
||||||
function displayColumns(columns, columnsNum) {
|
|
||||||
return columns.slice(0, +columnsNum);
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = {
|
|
||||||
displayColumns: displayColumns,
|
|
||||||
};
|
|
@ -1 +0,0 @@
|
|||||||
@import '../common/index.wxss';
|
|
@ -1 +0,0 @@
|
|||||||
export {};
|
|
@ -1,67 +0,0 @@
|
|||||||
"use strict";
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
|
||||||
var component_1 = require("../common/component");
|
|
||||||
var button_1 = require("../mixins/button");
|
|
||||||
var version_1 = require("../common/version");
|
|
||||||
var mixins = [button_1.button];
|
|
||||||
if ((0, version_1.canIUseFormFieldButton)()) {
|
|
||||||
mixins.push('wx://form-field-button');
|
|
||||||
}
|
|
||||||
(0, component_1.VantComponent)({
|
|
||||||
mixins: mixins,
|
|
||||||
classes: ['hover-class', 'loading-class'],
|
|
||||||
data: {
|
|
||||||
baseStyle: '',
|
|
||||||
},
|
|
||||||
props: {
|
|
||||||
formType: String,
|
|
||||||
icon: String,
|
|
||||||
classPrefix: {
|
|
||||||
type: String,
|
|
||||||
value: 'van-icon',
|
|
||||||
},
|
|
||||||
plain: Boolean,
|
|
||||||
block: Boolean,
|
|
||||||
round: Boolean,
|
|
||||||
square: Boolean,
|
|
||||||
loading: Boolean,
|
|
||||||
hairline: Boolean,
|
|
||||||
disabled: Boolean,
|
|
||||||
loadingText: String,
|
|
||||||
customStyle: String,
|
|
||||||
loadingType: {
|
|
||||||
type: String,
|
|
||||||
value: 'circular',
|
|
||||||
},
|
|
||||||
type: {
|
|
||||||
type: String,
|
|
||||||
value: 'default',
|
|
||||||
},
|
|
||||||
dataset: null,
|
|
||||||
size: {
|
|
||||||
type: String,
|
|
||||||
value: 'normal',
|
|
||||||
},
|
|
||||||
loadingSize: {
|
|
||||||
type: String,
|
|
||||||
value: '20px',
|
|
||||||
},
|
|
||||||
color: String,
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
onClick: function (event) {
|
|
||||||
var _this = this;
|
|
||||||
this.$emit('click', event);
|
|
||||||
var _a = this.data, canIUseGetUserProfile = _a.canIUseGetUserProfile, openType = _a.openType, getUserProfileDesc = _a.getUserProfileDesc, lang = _a.lang;
|
|
||||||
if (openType === 'getUserInfo' && canIUseGetUserProfile) {
|
|
||||||
wx.getUserProfile({
|
|
||||||
desc: getUserProfileDesc || ' ',
|
|
||||||
lang: lang || 'en',
|
|
||||||
complete: function (userProfile) {
|
|
||||||
_this.$emit('getuserinfo', userProfile);
|
|
||||||
},
|
|
||||||
});
|
|
||||||
}
|
|
||||||
},
|
|
||||||
},
|
|
||||||
});
|
|
@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
"component": true,
|
|
||||||
"usingComponents": {
|
|
||||||
"van-icon": "../icon/index",
|
|
||||||
"van-loading": "../loading/index"
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,56 +0,0 @@
|
|||||||
<wxs src="../wxs/utils.wxs" module="utils" />
|
|
||||||
<wxs src="./index.wxs" module="computed" />
|
|
||||||
|
|
||||||
<button
|
|
||||||
id="{{ id || buttonId }}"
|
|
||||||
data-detail="{{ dataset }}"
|
|
||||||
class="custom-class {{ utils.bem('button', [type, size, { block, round, plain, square, loading, disabled, hairline, unclickable: disabled || loading }]) }} {{ hairline ? 'van-hairline--surround' : '' }}"
|
|
||||||
hover-class="{{ disabled || loading ? '' : 'van-button--active hover-class'}}"
|
|
||||||
lang="{{ lang }}"
|
|
||||||
form-type="{{ formType }}"
|
|
||||||
style="{{ computed.rootStyle({ plain, color, customStyle }) }}"
|
|
||||||
open-type="{{ disabled || loading || (canIUseGetUserProfile && openType === 'getUserInfo') ? '' : openType }}"
|
|
||||||
business-id="{{ businessId }}"
|
|
||||||
session-from="{{ sessionFrom }}"
|
|
||||||
send-message-title="{{ sendMessageTitle }}"
|
|
||||||
send-message-path="{{ sendMessagePath }}"
|
|
||||||
send-message-img="{{ sendMessageImg }}"
|
|
||||||
show-message-card="{{ showMessageCard }}"
|
|
||||||
app-parameter="{{ appParameter }}"
|
|
||||||
aria-label="{{ ariaLabel }}"
|
|
||||||
bindtap="{{ disabled || loading ? '' : 'onClick' }}"
|
|
||||||
bindgetuserinfo="onGetUserInfo"
|
|
||||||
bindcontact="onContact"
|
|
||||||
bindgetphonenumber="onGetPhoneNumber"
|
|
||||||
bindgetrealtimephonenumber="onGetRealTimePhoneNumber"
|
|
||||||
bindagreeprivacyauthorization="onAgreePrivacyAuthorization"
|
|
||||||
binderror="onError"
|
|
||||||
bindlaunchapp="onLaunchApp"
|
|
||||||
bindopensetting="onOpenSetting"
|
|
||||||
bindchooseavatar="onChooseAvatar"
|
|
||||||
>
|
|
||||||
<block wx:if="{{ loading }}">
|
|
||||||
<van-loading
|
|
||||||
custom-class="loading-class"
|
|
||||||
size="{{ loadingSize }}"
|
|
||||||
type="{{ loadingType }}"
|
|
||||||
color="{{ computed.loadingColor({ type, color, plain }) }}"
|
|
||||||
/>
|
|
||||||
<view wx:if="{{ loadingText }}" class="van-button__loading-text">
|
|
||||||
{{ loadingText }}
|
|
||||||
</view>
|
|
||||||
</block>
|
|
||||||
<block wx:else>
|
|
||||||
<van-icon
|
|
||||||
wx:if="{{ icon }}"
|
|
||||||
size="1.2em"
|
|
||||||
name="{{ icon }}"
|
|
||||||
class-prefix="{{ classPrefix }}"
|
|
||||||
class="van-button__icon"
|
|
||||||
custom-style="line-height: inherit;"
|
|
||||||
/>
|
|
||||||
<view class="van-button__text">
|
|
||||||
<slot />
|
|
||||||
</view>
|
|
||||||
</block>
|
|
||||||
</button>
|
|
@ -1,39 +0,0 @@
|
|||||||
/* eslint-disable */
|
|
||||||
var style = require('../wxs/style.wxs');
|
|
||||||
|
|
||||||
function rootStyle(data) {
|
|
||||||
if (!data.color) {
|
|
||||||
return data.customStyle;
|
|
||||||
}
|
|
||||||
|
|
||||||
var properties = {
|
|
||||||
color: data.plain ? data.color : '#fff',
|
|
||||||
background: data.plain ? null : data.color,
|
|
||||||
};
|
|
||||||
|
|
||||||
// hide border when color is linear-gradient
|
|
||||||
if (data.color.indexOf('gradient') !== -1) {
|
|
||||||
properties.border = 0;
|
|
||||||
} else {
|
|
||||||
properties['border-color'] = data.color;
|
|
||||||
}
|
|
||||||
|
|
||||||
return style([properties, data.customStyle]);
|
|
||||||
}
|
|
||||||
|
|
||||||
function loadingColor(data) {
|
|
||||||
if (data.plain) {
|
|
||||||
return data.color ? data.color : '#c9c9c9';
|
|
||||||
}
|
|
||||||
|
|
||||||
if (data.type === 'default') {
|
|
||||||
return '#c9c9c9';
|
|
||||||
}
|
|
||||||
|
|
||||||
return '#fff';
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = {
|
|
||||||
rootStyle: rootStyle,
|
|
||||||
loadingColor: loadingColor,
|
|
||||||
};
|
|
@ -1 +0,0 @@
|
|||||||
@import '../common/index.wxss';.van-button{-webkit-text-size-adjust:100%;align-items:center;-webkit-appearance:none;border-radius:var(--button-border-radius,2px);box-sizing:border-box;display:inline-flex;font-size:var(--button-default-font-size,16px);height:var(--button-default-height,44px);justify-content:center;line-height:var(--button-line-height,20px);padding:0;position:relative;text-align:center;transition:opacity .2s;vertical-align:middle}.van-button:before{background-color:#000;border:inherit;border-color:#000;border-radius:inherit;content:" ";height:100%;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%}.van-button:after{border-width:0}.van-button--active:before{opacity:.15}.van-button--unclickable:after{display:none}.van-button--default{background:var(--button-default-background-color,#fff);border:var(--button-border-width,1px) solid var(--button-default-border-color,#ebedf0);color:var(--button-default-color,#323233)}.van-button--primary{background:var(--button-primary-background-color,#07c160);border:var(--button-border-width,1px) solid var(--button-primary-border-color,#07c160);color:var(--button-primary-color,#fff)}.van-button--info{background:var(--button-info-background-color,#1989fa);border:var(--button-border-width,1px) solid var(--button-info-border-color,#1989fa);color:var(--button-info-color,#fff)}.van-button--danger{background:var(--button-danger-background-color,#ee0a24);border:var(--button-border-width,1px) solid var(--button-danger-border-color,#ee0a24);color:var(--button-danger-color,#fff)}.van-button--warning{background:var(--button-warning-background-color,#ff976a);border:var(--button-border-width,1px) solid var(--button-warning-border-color,#ff976a);color:var(--button-warning-color,#fff)}.van-button--plain{background:var(--button-plain-background-color,#fff)}.van-button--plain.van-button--primary{color:var(--button-primary-background-color,#07c160)}.van-button--plain.van-button--info{color:var(--button-info-background-color,#1989fa)}.van-button--plain.van-button--danger{color:var(--button-danger-background-color,#ee0a24)}.van-button--plain.van-button--warning{color:var(--button-warning-background-color,#ff976a)}.van-button--large{height:var(--button-large-height,50px);width:100%}.van-button--normal{font-size:var(--button-normal-font-size,14px);padding:0 15px}.van-button--small{font-size:var(--button-small-font-size,12px);height:var(--button-small-height,30px);min-width:var(--button-small-min-width,60px);padding:0 var(--padding-xs,8px)}.van-button--mini{display:inline-block;font-size:var(--button-mini-font-size,10px);height:var(--button-mini-height,22px);min-width:var(--button-mini-min-width,50px)}.van-button--mini+.van-button--mini{margin-left:5px}.van-button--block{display:flex;width:100%}.van-button--round{border-radius:var(--button-round-border-radius,999px)}.van-button--square{border-radius:0}.van-button--disabled{opacity:var(--button-disabled-opacity,.5)}.van-button__text{display:inline}.van-button__icon+.van-button__text:not(:empty),.van-button__loading-text{margin-left:4px}.van-button__icon{line-height:inherit!important;min-width:1em;vertical-align:top}.van-button--hairline{border-width:0;padding-top:1px}.van-button--hairline:after{border-color:inherit;border-radius:calc(var(--button-border-radius, 2px)*2);border-width:1px}.van-button--hairline.van-button--round:after{border-radius:var(--button-round-border-radius,999px)}.van-button--hairline.van-button--square:after{border-radius:0}
|
|