TitanWong 2 лет назад
Родитель
Сommit
1509c16e2f
70 измененных файлов с 1765 добавлено и 534 удалено
  1. 1 1
      App.vue
  2. 27 27
      components/tab-bar/tab-bar.vue
  3. 20 12
      pages/index/index.vue
  4. 18 16
      pages/powerExchange/index.vue
  5. 1 1
      pages/ucenter/about.vue
  6. 1 1
      pages/ucenter/car.vue
  7. 1 1
      pages/ucenter/car_show.vue
  8. 3 3
      pages/ucenter/index.vue
  9. 1 1
      pages/ucenter/record.vue
  10. BIN
      static/car-bg.png
  11. BIN
      static/car.jpg
  12. 4 2
      uni_modules/zb-tooltip/components/zb-tooltip/zb-tooltip.vue
  13. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
  14. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map
  15. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
  16. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/scan-info/scan-info.js.map
  17. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/sub-title/sub-title.js.map
  18. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/tab-bar/tab-bar.js.map
  19. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/top-box/top-box.js.map
  20. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map
  21. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/powerExchange/index.js.map
  22. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/public/404.js.map
  23. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/public/login.js.map
  24. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/ucenter/about.js.map
  25. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/ucenter/car.js.map
  26. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/ucenter/car_show.js.map
  27. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/ucenter/index.js.map
  28. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/ucenter/record.js.map
  29. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/ucenter/record_show.js.map
  30. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/ucenter/set_avatar.js.map
  31. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/userAgreement/index.js.map
  32. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/mescroll-uni/components/mescroll-body/mescroll-body.js.map
  33. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/mescroll-uni/components/mescroll-empty/mescroll-empty.js.map
  34. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/mescroll-uni/components/mescroll-uni/components/mescroll-top.js.map
  35. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-icons/components/uni-icons/uni-icons.js.map
  36. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-popup/components/uni-popup/uni-popup.js.map
  37. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-steps/components/uni-steps/uni-steps.js.map
  38. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-swiper-dot/components/uni-swiper-dot/uni-swiper-dot.js.map
  39. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/zb-tooltip/components/zb-tooltip/zb-tooltip.js.map
  40. 1 1
      unpackage/dist/dev/mp-weixin/common/main.wxss
  41. 2 2
      unpackage/dist/dev/mp-weixin/common/runtime.js
  42. 820 67
      unpackage/dist/dev/mp-weixin/common/vendor.js
  43. 27 27
      unpackage/dist/dev/mp-weixin/components/tab-bar/tab-bar.js
  44. 1 345
      unpackage/dist/dev/mp-weixin/pages/index/index.js
  45. 0 0
      unpackage/dist/dev/mp-weixin/pages/index/index.wxml
  46. 9 5
      unpackage/dist/dev/mp-weixin/pages/index/index.wxss
  47. 5 0
      unpackage/dist/dev/mp-weixin/pages/powerExchange/index.js
  48. 2 1
      unpackage/dist/dev/mp-weixin/pages/powerExchange/index.json
  49. 0 0
      unpackage/dist/dev/mp-weixin/pages/powerExchange/index.wxml
  50. 16 13
      unpackage/dist/dev/mp-weixin/pages/powerExchange/index.wxss
  51. 1 1
      unpackage/dist/dev/mp-weixin/pages/ucenter/about.wxml
  52. 1 1
      unpackage/dist/dev/mp-weixin/pages/ucenter/car.wxml
  53. 0 0
      unpackage/dist/dev/mp-weixin/pages/ucenter/car_show.wxml
  54. 1 4
      unpackage/dist/dev/mp-weixin/pages/ucenter/index.js
  55. 0 1
      unpackage/dist/dev/mp-weixin/pages/ucenter/index.json
  56. 0 0
      unpackage/dist/dev/mp-weixin/pages/ucenter/index.wxml
  57. 1 1
      unpackage/dist/dev/mp-weixin/pages/ucenter/record.wxss
  58. BIN
      unpackage/dist/dev/mp-weixin/static/car-bg.png
  59. BIN
      unpackage/dist/dev/mp-weixin/static/car.jpg
  60. 79 0
      unpackage/dist/dev/mp-weixin/uni_modules/mescroll-uni/components/mescroll-body/mescroll-body.js
  61. 66 0
      unpackage/dist/dev/mp-weixin/uni_modules/mescroll-uni/components/mescroll-empty/mescroll-empty.js
  62. 66 0
      unpackage/dist/dev/mp-weixin/uni_modules/mescroll-uni/components/mescroll-uni/components/mescroll-top.js
  63. 73 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-icons/components/uni-icons/uni-icons.js
  64. 6 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-popup/components/uni-popup/uni-popup.js
  65. 6 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-steps/components/uni-steps/uni-steps.js
  66. 55 0
      unpackage/dist/dev/mp-weixin/uni_modules/uni-transition/components/uni-transition/uni-transition.js
  67. 352 0
      unpackage/dist/dev/mp-weixin/uni_modules/zb-tooltip/components/zb-tooltip/zb-tooltip.js
  68. 4 0
      unpackage/dist/dev/mp-weixin/uni_modules/zb-tooltip/components/zb-tooltip/zb-tooltip.json
  69. 1 0
      unpackage/dist/dev/mp-weixin/uni_modules/zb-tooltip/components/zb-tooltip/zb-tooltip.wxml
  70. 93 0
      unpackage/dist/dev/mp-weixin/uni_modules/zb-tooltip/components/zb-tooltip/zb-tooltip.wxss

+ 1 - 1
App.vue

@@ -15,7 +15,7 @@
 <style lang="scss">
 	/*每个页面公共css */
 	page{
-		background: linear-gradient(180deg, #FFFFFF 0%, #F8F9FB 100%);
+		background: linear-gradient(180deg, #FFFFFF 0%, #F2F3F5 100%);
 		// background-color: #d5f1da;
 		max-width: 750rpx;
 		color: #1d2129;

+ 27 - 27
components/tab-bar/tab-bar.vue

@@ -49,33 +49,33 @@
 					});
 				} else if (num === 2) {
 					if (this.$storage.getJson("token")) {
-						let stationCode='st001'
-						uni.navigateTo({
-							url:'/pages/powerchange/index?stationCode='+stationCode
-						})
-						// let that = this
-						// uni.scanCode({
-						// 	success: function(res) {
-						// 		const url = res.result
-						// 		if (url.startsWith('https://zk.li-ai.com.cn/?station_code=')) {
-						// 			const parts = url.split("=")
-						// 			if (parts.length === 2) {
-						// 				that.stationCode = parts[1]
-						// 				uni.navigateTo({
-						// 					url: '/pages/powerchange/index?stationCode=' +that.stationCode
-						// 				})
-						// 			} else {
-						// 				uni.navigateTo({
-						// 					url: '/pages/public/404?error=' + '站点编号错误!!'
-						// 				})
-						// 			}
-						// 		} else {
-						// 			uni.navigateTo({
-						// 				url: '/pages/public/404?error=' + '二维码链接错误!!'
-						// 			})
-						// 		}
-						// 	},
-						// });
+						// let stationCode='st001'
+						// uni.navigateTo({
+						// 	url:'/pages/powerchange/index?stationCode='+stationCode
+						// })
+						let that = this
+						uni.scanCode({
+							success: function(res) {
+								const url = res.result
+								if (url.startsWith('https://zk.li-ai.com.cn/?station_code=')) {
+									const parts = url.split("=")
+									if (parts.length === 2) {
+										that.stationCode = parts[1]
+										uni.navigateTo({
+											url: '/pages/powerchange/index?stationCode=' +that.stationCode
+										})
+									} else {
+										uni.navigateTo({
+											url: '/pages/public/404?error=' + '站点编号错误!!'
+										})
+									}
+								} else {
+									uni.navigateTo({
+										url: '/pages/public/404?error=' + '二维码链接错误!!'
+									})
+								}
+							},
+						});
 					} else {
 						uni.navigateTo({
 							url: '/pages/public/login',

+ 20 - 12
pages/index/index.vue

@@ -1,5 +1,5 @@
 <template>
-	<view class="main">
+	<view class="main" :style="{height:Authorize?'auto':'100vh'}">
 		<top-box :userinfo="userinfo" :days="days" keys="1"></top-box>
 		<view class="main-box">
 			<view class="carinfo">
@@ -78,8 +78,8 @@
 			<view class="change-box" v-for="(item,index) in stationDataVoList" :key="item.stationInfo.id">
 				<view class="title">{{item.stationInfo.stationName}}</view>
 				<view class="tags">
-					<view>常去地点</view>
-					<view>24小时营业</view>
+					<view v-if="item.stationInfo.frequentPlace">常去地点</view>
+					<view>{{item.stationInfo.businessHours}}</view>
 				</view>
 				<view class="piclist">
 					<view v-for="(img,index) in item.urlList" :key="index">
@@ -137,10 +137,10 @@
 				noData: null,
 				stationDataVoList: [],
 				isLoadAll: false,
-				totalPages: 1, // 总页数
+				totalPages: 0, // 总页数
 				upOption:{
 					page:{
-						size:1,
+						size:10,
 						num:0,
 					},
 					noMoreSize:2,
@@ -206,8 +206,12 @@
 					this.params.pageSize=page.size
 					console.log("params:",this.params)
 					this.$http.homeStation(this.params).then(res => {
+<<<<<<< HEAD
 						console.log("res",res)
 						console.log("data:",res.data)
+=======
+						console.log(res.data)
+>>>>>>> 51bdfa93462721aa88aa8ca3ec36637e2e332f19
 						uni.hideLoading();
 						if (res.code === 0) {
 							this.totalPages = res.data.total
@@ -215,6 +219,7 @@
 							this.stationDataVoList=this.stationDataVoList.concat(res.data.list)
 							this.mescroll.endBySize(res.data.list.length, res.data.total);
 						} else {
+							this.$utils.msg(res.msg)
 							this.mescroll.endErr();
 						}
 					})
@@ -278,7 +283,7 @@
 					},
 					fail: () => {
 						uni.hideLoading();
-						this.noposition='定位失败'
+						that.noposition='定位失败'
 						that.getMapLocation()
 						that.$utils.msg("定位失败")
 					},
@@ -346,7 +351,7 @@
 
 <style lang="scss" scoped>
 	.main{
-		height: 100vh;
+		background: linear-gradient(180deg, #FFFFFF 0%, #F2F3F5 100%);
 	}
 	.authorization {
 		width: 640rpx;
@@ -363,7 +368,7 @@
 	}
 	.main-box {
 		padding: 0 30rpx;
-		background: linear-gradient(180deg, #FFFFFF 0%, #F8F9FB 100%);
+		// background: linear-gradient(180deg, #FFFFFF 0%, #F2F3F5 100%);
 		.carinfo {
 			width: 100%;
 			height: 350rpx;
@@ -383,7 +388,7 @@
 				height: 350rpx;
 				padding: 32rpx;
 				box-sizing: border-box;
-				background-image: url('https://xcx.xnymzx.com/zkstation/car-bg.png');
+				background-image: url('https://rl-zk-image.oss-cn-hangzhou.aliyuncs.com/image/car-bg.png');
 				background-size: 100% 100%;
 				display: flex;
 				flex-direction: column;
@@ -499,8 +504,8 @@
 			padding: 0 20rpx;
 			box-sizing: border-box;
 			display: flex;
-			margin: 24rpx 0;
-			
+			margin-bottom: 24rpx;
+			margin-top: 44rpx;
 			image {
 				width: 9rpx;
 				height: 39rpx;
@@ -538,7 +543,10 @@
 
 			.tags {
 				display: flex;
-
+				:first-child{
+					background: rgba(88,190,107,0.1);
+					color: #58BE6B;
+				}
 				view {
 					background: #f5f5f5;
 					color: #979797;

+ 18 - 16
pages/powerExchange/index.vue

@@ -5,9 +5,9 @@
 			:swapConfirmDTO="swapConfirmDTO" 
 			@sendExchangeMsg="sendExchangeMsg"
 			:exchangeNo="exchangeNo"
-			v-show="pageState===2">
+			v-show="pageState===1">
 		</scan-info>
-		<view class="swapinfo" v-show="pageState===1">
+		<view class="swapinfo" v-show="pageState===2">
 			<view class="header">
 				<view @click="getTab(1)" :class="{'active':currentTab===1}">换电流程</view>
 				<view @click="getTab(2)" :class="{'active':currentTab===2}">车辆信息</view>
@@ -59,7 +59,9 @@
 					<sub-title descript="车辆电池SOC" :values="swapInfoDTO.vehSoc" unit="%"></sub-title>
 					<view class="list">
 						<view>换电电池编号:</view>
-						<view v-if="swapInfoDTO" @click="showBattery">{{swapInfoDTO.swapSn | fiterBattery}}</view>
+						<zb-tooltip :content="swapInfoDTO.swapSn"  placement="top" ref="tooltip13" color="#58be6b">
+							<view v-if="swapInfoDTO" @click="showBattery">{{swapInfoDTO.swapSn | fiterBattery}}</view>
+						</zb-tooltip>
 					</view>
 					<sub-title descript="换电电池SOC" :values="swapInfoDTO.swapSoc" unit="%"></sub-title>
 					<sub-title descript="换电量" :values="swapInfoDTO.swapCapacity" unit="(kW/h)"></sub-title>
@@ -258,19 +260,6 @@
 </script>
 
 <style lang="scss" scoped>
-	.list {
-		width: 100%;
-		display: flex;
-		height: 100rpx;
-		justify-content: space-between;
-		font-size: 30rpx;
-		view:first-child {
-			color: #86909c;
-		}
-		view:last-child {
-			color: #1d2129;
-		}
-	}
 	.swapinfo {
 
 		//顶部
@@ -401,6 +390,19 @@
 				margin: 0 auto;
 				display: flex;
 				flex-direction: column;
+				.list {
+					width: 100%;
+					display: flex;
+					height: 100rpx;
+					justify-content: space-between;
+					font-size: 30rpx;
+					view:first-child {
+						color: #86909c;
+					}
+					view:last-child {
+						color: #1d2129;
+					}
+				}
 			}
 		}
 	}

+ 1 - 1
pages/ucenter/about.vue

@@ -1,6 +1,6 @@
 <template>
 	<view class="about">
-		<image src="../../static/about.png"></image>
+		<image src="https://rl-zk-image.oss-cn-hangzhou.aliyuncs.com/image/about.png"></image>
 	</view>
 </template>
 

+ 1 - 1
pages/ucenter/car.vue

@@ -12,7 +12,7 @@
 								<view><image src="../../static/icon-car.png"></image></view>
 							</view>
 							<view class="bottom">
-								<view class="carpic"><image src="../../static/car.jpg"></image></view>
+								<view class="carpic"><image :src="item.url"></image></view>
 								<view class="list">
 									<view>车型:</view><view>{{item.vehModel || '-'}}</view>
 								</view>

+ 1 - 1
pages/ucenter/car_show.vue

@@ -1,6 +1,6 @@
 <template>
 	<view>
-		<view class="picture"><image src="../../static/car.jpg"></image></view>
+		<view class="picture"><image :src="item.vehDataVo.url"></image></view>
 		<view class="car_info">
 			<view class="category">车辆信息</view>
 			<view class="show">

+ 3 - 3
pages/ucenter/index.vue

@@ -61,7 +61,7 @@
 				</view>
 			</view>
 		</view>
-		<uni-popup ref="popup" background-color="#fff" type="bottom">
+		<!-- <uni-popup ref="popup" background-color="#fff" type="bottom">
 			<view class="popuplist">
 				<view>
 					<image src="../../static/code.jpg"></image>
@@ -70,7 +70,7 @@
 				<view><text>车辆识别码:</text> LSPR********8273</view>
 				<view>保存至相册</view>
 			</view>
-		</uni-popup>
+		</uni-popup> -->
 		<tab-bar></tab-bar>
 	</view>
 </template>
@@ -79,7 +79,7 @@
 	export default {
 		data() {
 			return {
-				qrcode: '../../static/code.jpg',
+				// qrcode: '../../static/code.jpg',
 				token: this.$store.state.users.token,
 				userinfo: this.$store.state.users,
 				serviceTel: null, //客服电话

+ 1 - 1
pages/ucenter/record.vue

@@ -522,7 +522,7 @@
 			.title {
 				width: 690rpx;
 				height: 184rpx;
-				background-image: url('https://xcx.xnymzx.com/zkstation/bgr.png');
+				background-image: url('https://rl-zk-image.oss-cn-hangzhou.aliyuncs.com/image/bgr.png');
 				background-size: 100% 100%;
 				display: flex;
 				padding: 20rpx 30rpx;

BIN
static/car-bg.png


BIN
static/car.jpg


+ 4 - 2
uni_modules/zb-tooltip/components/zb-tooltip/zb-tooltip.vue

@@ -113,9 +113,11 @@
             switch(this.placement){
               case 'top':
                 if(obj1.width > width){
-                  objStyle.left = `-${(obj1.width - width)/2}px`
+                  // objStyle.left = `-${(obj1.width - width)/2}px`
+				  objStyle.left = '-94px'
                 }else{
-                  objStyle.left = `${Math.abs(obj1.width - width)/2}px`
+                  // objStyle.left = `${Math.abs(obj1.width - width)/2}`
+				  objStyle.left = '-94px'
                 }
 
                 objStyle.bottom =`${height+8}px`

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/scan-info/scan-info.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/sub-title/sub-title.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/tab-bar/tab-bar.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/top-box/top-box.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/powerExchange/index.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/public/404.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/public/login.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/ucenter/about.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/ucenter/car.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/ucenter/car_show.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/ucenter/index.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/ucenter/record.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/ucenter/record_show.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/ucenter/set_avatar.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/userAgreement/index.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/mescroll-uni/components/mescroll-body/mescroll-body.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/mescroll-uni/components/mescroll-empty/mescroll-empty.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/mescroll-uni/components/mescroll-uni/components/mescroll-top.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-icons/components/uni-icons/uni-icons.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-popup/components/uni-popup/uni-popup.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-steps/components/uni-steps/uni-steps.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/uni-swiper-dot/components/uni-swiper-dot/uni-swiper-dot.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/zb-tooltip/components/zb-tooltip/zb-tooltip.js.map


+ 1 - 1
unpackage/dist/dev/mp-weixin/common/main.wxss

@@ -26,7 +26,7 @@
 /* 文章场景相关 */
 /*每个页面公共css */
 page {
-  background: linear-gradient(180deg, #FFFFFF 0%, #F8F9FB 100%);
+  background: linear-gradient(180deg, #FFFFFF 0%, #F2F3F5 100%);
   max-width: 750rpx;
   color: #1d2129;
 }

+ 2 - 2
unpackage/dist/dev/mp-weixin/common/runtime.js

@@ -105,11 +105,11 @@
 /******/
 /******/
 /******/ 		// mini-css-extract-plugin CSS loading
-/******/ 		var cssChunks = {"uni_modules/mescroll-uni/components/mescroll-body/mescroll-body":1,"components/tab-bar/tab-bar":1,"components/top-box/top-box":1,"uni_modules/uni-swiper-dot/components/uni-swiper-dot/uni-swiper-dot":1,"uni_modules/uni-popup/components/uni-popup/uni-popup":1,"components/scan-info/scan-info":1,"components/sub-title/sub-title":1,"uni_modules/uni-steps/components/uni-steps/uni-steps":1,"uni_modules/mescroll-uni/components/mescroll-empty/mescroll-empty":1,"uni_modules/mescroll-uni/components/mescroll-uni/components/mescroll-top":1,"uni_modules/uni-icons/components/uni-icons/uni-icons":1};
+/******/ 		var cssChunks = {"uni_modules/mescroll-uni/components/mescroll-body/mescroll-body":1,"components/tab-bar/tab-bar":1,"components/top-box/top-box":1,"uni_modules/uni-swiper-dot/components/uni-swiper-dot/uni-swiper-dot":1,"uni_modules/uni-popup/components/uni-popup/uni-popup":1,"uni_modules/zb-tooltip/components/zb-tooltip/zb-tooltip":1,"components/scan-info/scan-info":1,"components/sub-title/sub-title":1,"uni_modules/uni-steps/components/uni-steps/uni-steps":1,"uni_modules/mescroll-uni/components/mescroll-empty/mescroll-empty":1,"uni_modules/mescroll-uni/components/mescroll-uni/components/mescroll-top":1,"uni_modules/uni-icons/components/uni-icons/uni-icons":1};
 /******/ 		if(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);
 /******/ 		else if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {
 /******/ 			promises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {
-/******/ 				var href = "" + ({"uni_modules/mescroll-uni/components/mescroll-body/mescroll-body":"uni_modules/mescroll-uni/components/mescroll-body/mescroll-body","components/tab-bar/tab-bar":"components/tab-bar/tab-bar","components/top-box/top-box":"components/top-box/top-box","uni_modules/uni-swiper-dot/components/uni-swiper-dot/uni-swiper-dot":"uni_modules/uni-swiper-dot/components/uni-swiper-dot/uni-swiper-dot","uni_modules/uni-popup/components/uni-popup/uni-popup":"uni_modules/uni-popup/components/uni-popup/uni-popup","components/scan-info/scan-info":"components/scan-info/scan-info","components/sub-title/sub-title":"components/sub-title/sub-title","uni_modules/uni-steps/components/uni-steps/uni-steps":"uni_modules/uni-steps/components/uni-steps/uni-steps","uni_modules/mescroll-uni/components/mescroll-empty/mescroll-empty":"uni_modules/mescroll-uni/components/mescroll-empty/mescroll-empty","uni_modules/mescroll-uni/components/mescroll-uni/components/mescroll-top":"uni_modules/mescroll-uni/components/mescroll-uni/components/mescroll-top","uni_modules/uni-transition/components/uni-transition/uni-transition":"uni_modules/uni-transition/components/uni-transition/uni-transition","uni_modules/uni-icons/components/uni-icons/uni-icons":"uni_modules/uni-icons/components/uni-icons/uni-icons"}[chunkId]||chunkId) + ".wxss";
+/******/ 				var href = "" + ({"uni_modules/mescroll-uni/components/mescroll-body/mescroll-body":"uni_modules/mescroll-uni/components/mescroll-body/mescroll-body","components/tab-bar/tab-bar":"components/tab-bar/tab-bar","components/top-box/top-box":"components/top-box/top-box","uni_modules/uni-swiper-dot/components/uni-swiper-dot/uni-swiper-dot":"uni_modules/uni-swiper-dot/components/uni-swiper-dot/uni-swiper-dot","uni_modules/uni-popup/components/uni-popup/uni-popup":"uni_modules/uni-popup/components/uni-popup/uni-popup","uni_modules/zb-tooltip/components/zb-tooltip/zb-tooltip":"uni_modules/zb-tooltip/components/zb-tooltip/zb-tooltip","components/scan-info/scan-info":"components/scan-info/scan-info","components/sub-title/sub-title":"components/sub-title/sub-title","uni_modules/uni-steps/components/uni-steps/uni-steps":"uni_modules/uni-steps/components/uni-steps/uni-steps","uni_modules/mescroll-uni/components/mescroll-empty/mescroll-empty":"uni_modules/mescroll-uni/components/mescroll-empty/mescroll-empty","uni_modules/mescroll-uni/components/mescroll-uni/components/mescroll-top":"uni_modules/mescroll-uni/components/mescroll-uni/components/mescroll-top","uni_modules/uni-transition/components/uni-transition/uni-transition":"uni_modules/uni-transition/components/uni-transition/uni-transition","uni_modules/uni-icons/components/uni-icons/uni-icons":"uni_modules/uni-icons/components/uni-icons/uni-icons"}[chunkId]||chunkId) + ".wxss";
 /******/ 				var fullhref = __webpack_require__.p + href;
 /******/ 				var existingLinkTags = document.getElementsByTagName("link");
 /******/ 				for(var i = 0; i < existingLinkTags.length; i++) {

+ 820 - 67
unpackage/dist/dev/mp-weixin/common/vendor.js

@@ -32505,73 +32505,7 @@ webpackContext.id = 21;
 /* 160 */,
 /* 161 */,
 /* 162 */,
-/* 163 */
-/*!********************************************************************************************************************************!*\
-  !*** E:/projects/zk-driver-applet/zk-driver-wechat-applet/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js ***!
-  \********************************************************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0; // mescroll-body 和 mescroll-uni 通用
-var MescrollMixin = {
-  data: function data() {
-    return {
-      mescroll: null //mescroll实例对象
-    };
-  },
-  // 注册系统自带的下拉刷新 (配置down.native为true时生效, 还需在pages配置enablePullDownRefresh:true;详请参考mescroll-native的案例)
-  onPullDownRefresh: function onPullDownRefresh() {
-    this.mescroll && this.mescroll.onPullDownRefresh();
-  },
-  // 注册列表滚动事件,用于判定在顶部可下拉刷新,在指定位置可显示隐藏回到顶部按钮 (此方法为页面生命周期,无法在子组件中触发, 仅在mescroll-body生效)
-  onPageScroll: function onPageScroll(e) {
-    this.mescroll && this.mescroll.onPageScroll(e);
-  },
-  // 注册滚动到底部的事件,用于上拉加载 (此方法为页面生命周期,无法在子组件中触发, 仅在mescroll-body生效)
-  onReachBottom: function onReachBottom() {
-    this.mescroll && this.mescroll.onReachBottom();
-  },
-  methods: {
-    // mescroll组件初始化的回调,可获取到mescroll对象
-    mescrollInit: function mescrollInit(mescroll) {
-      this.mescroll = mescroll;
-      this.mescrollInitByRef(); // 兼容字节跳动小程序
-    },
-    // 以ref的方式初始化mescroll对象 (兼容字节跳动小程序)
-    mescrollInitByRef: function mescrollInitByRef() {
-      if (!this.mescroll || !this.mescroll.resetUpScroll) {
-        var mescrollRef = this.$refs.mescrollRef;
-        if (mescrollRef) this.mescroll = mescrollRef.mescroll;
-      }
-    },
-    // 下拉刷新的回调 (mixin默认resetUpScroll)
-    downCallback: function downCallback() {var _this = this;
-      if (this.mescroll.optUp.use) {
-        this.mescroll.resetUpScroll();
-      } else {
-        setTimeout(function () {
-          _this.mescroll.endSuccess();
-        }, 500);
-      }
-    },
-    // 上拉加载的回调
-    upCallback: function upCallback() {var _this2 = this;
-      // mixin默认延时500自动结束加载
-      setTimeout(function () {
-        _this2.mescroll.endErr();
-      }, 500);
-    } },
-
-  mounted: function mounted() {
-    this.mescrollInitByRef(); // 兼容字节跳动小程序, 避免未设置@init或@init此时未能取到ref的情况
-  } };var _default =
-
-
-
-MescrollMixin;exports.default = _default;
-
-/***/ }),
+/* 163 */,
 /* 164 */,
 /* 165 */,
 /* 166 */,
@@ -35299,6 +35233,825 @@ Object.defineProperty(exports, "__esModule", { value: true });exports.default =
     "unicode": "e631",
     "unicode_decimal": 58929 }] };exports.default = _default;
 
+/***/ }),
+/* 349 */,
+/* 350 */,
+/* 351 */,
+/* 352 */,
+/* 353 */,
+/* 354 */,
+/* 355 */,
+/* 356 */,
+/* 357 */,
+/* 358 */,
+/* 359 */,
+/* 360 */,
+/* 361 */,
+/* 362 */,
+/* 363 */,
+/* 364 */,
+/* 365 */,
+/* 366 */,
+/* 367 */,
+/* 368 */,
+/* 369 */,
+/* 370 */,
+/* 371 */,
+/* 372 */,
+/* 373 */,
+/* 374 */,
+/* 375 */,
+/* 376 */,
+/* 377 */,
+/* 378 */,
+/* 379 */,
+/* 380 */
+/*!**********************************************************!*\
+  !*** ./node_modules/@babel/runtime/regenerator/index.js ***!
+  \**********************************************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
+
+module.exports = __webpack_require__(/*! regenerator-runtime */ 381);
+
+/***/ }),
+/* 381 */
+/*!************************************************************!*\
+  !*** ./node_modules/regenerator-runtime/runtime-module.js ***!
+  \************************************************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
+
+/**
+ * Copyright (c) 2014-present, Facebook, Inc.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+// This method of obtaining a reference to the global object needs to be
+// kept identical to the way it is obtained in runtime.js
+var g = (function() {
+  return this || (typeof self === "object" && self);
+})() || Function("return this")();
+
+// Use `getOwnPropertyNames` because not all browsers support calling
+// `hasOwnProperty` on the global `self` object in a worker. See #183.
+var hadRuntime = g.regeneratorRuntime &&
+  Object.getOwnPropertyNames(g).indexOf("regeneratorRuntime") >= 0;
+
+// Save the old regeneratorRuntime in case it needs to be restored later.
+var oldRuntime = hadRuntime && g.regeneratorRuntime;
+
+// Force reevalutation of runtime.js.
+g.regeneratorRuntime = undefined;
+
+module.exports = __webpack_require__(/*! ./runtime */ 382);
+
+if (hadRuntime) {
+  // Restore the original runtime.
+  g.regeneratorRuntime = oldRuntime;
+} else {
+  // Remove the global property added by runtime.js.
+  try {
+    delete g.regeneratorRuntime;
+  } catch(e) {
+    g.regeneratorRuntime = undefined;
+  }
+}
+
+
+/***/ }),
+/* 382 */
+/*!*****************************************************!*\
+  !*** ./node_modules/regenerator-runtime/runtime.js ***!
+  \*****************************************************/
+/*! no static exports found */
+/***/ (function(module, exports) {
+
+/**
+ * Copyright (c) 2014-present, Facebook, Inc.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+!(function(global) {
+  "use strict";
+
+  var Op = Object.prototype;
+  var hasOwn = Op.hasOwnProperty;
+  var undefined; // More compressible than void 0.
+  var $Symbol = typeof Symbol === "function" ? Symbol : {};
+  var iteratorSymbol = $Symbol.iterator || "@@iterator";
+  var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
+  var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
+
+  var inModule = typeof module === "object";
+  var runtime = global.regeneratorRuntime;
+  if (runtime) {
+    if (inModule) {
+      // If regeneratorRuntime is defined globally and we're in a module,
+      // make the exports object identical to regeneratorRuntime.
+      module.exports = runtime;
+    }
+    // Don't bother evaluating the rest of this file if the runtime was
+    // already defined globally.
+    return;
+  }
+
+  // Define the runtime globally (as expected by generated code) as either
+  // module.exports (if we're in a module) or a new, empty object.
+  runtime = global.regeneratorRuntime = inModule ? module.exports : {};
+
+  function wrap(innerFn, outerFn, self, tryLocsList) {
+    // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.
+    var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
+    var generator = Object.create(protoGenerator.prototype);
+    var context = new Context(tryLocsList || []);
+
+    // The ._invoke method unifies the implementations of the .next,
+    // .throw, and .return methods.
+    generator._invoke = makeInvokeMethod(innerFn, self, context);
+
+    return generator;
+  }
+  runtime.wrap = wrap;
+
+  // Try/catch helper to minimize deoptimizations. Returns a completion
+  // record like context.tryEntries[i].completion. This interface could
+  // have been (and was previously) designed to take a closure to be
+  // invoked without arguments, but in all the cases we care about we
+  // already have an existing method we want to call, so there's no need
+  // to create a new function object. We can even get away with assuming
+  // the method takes exactly one argument, since that happens to be true
+  // in every case, so we don't have to touch the arguments object. The
+  // only additional allocation required is the completion record, which
+  // has a stable shape and so hopefully should be cheap to allocate.
+  function tryCatch(fn, obj, arg) {
+    try {
+      return { type: "normal", arg: fn.call(obj, arg) };
+    } catch (err) {
+      return { type: "throw", arg: err };
+    }
+  }
+
+  var GenStateSuspendedStart = "suspendedStart";
+  var GenStateSuspendedYield = "suspendedYield";
+  var GenStateExecuting = "executing";
+  var GenStateCompleted = "completed";
+
+  // Returning this object from the innerFn has the same effect as
+  // breaking out of the dispatch switch statement.
+  var ContinueSentinel = {};
+
+  // Dummy constructor functions that we use as the .constructor and
+  // .constructor.prototype properties for functions that return Generator
+  // objects. For full spec compliance, you may wish to configure your
+  // minifier not to mangle the names of these two functions.
+  function Generator() {}
+  function GeneratorFunction() {}
+  function GeneratorFunctionPrototype() {}
+
+  // This is a polyfill for %IteratorPrototype% for environments that
+  // don't natively support it.
+  var IteratorPrototype = {};
+  IteratorPrototype[iteratorSymbol] = function () {
+    return this;
+  };
+
+  var getProto = Object.getPrototypeOf;
+  var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
+  if (NativeIteratorPrototype &&
+      NativeIteratorPrototype !== Op &&
+      hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
+    // This environment has a native %IteratorPrototype%; use it instead
+    // of the polyfill.
+    IteratorPrototype = NativeIteratorPrototype;
+  }
+
+  var Gp = GeneratorFunctionPrototype.prototype =
+    Generator.prototype = Object.create(IteratorPrototype);
+  GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;
+  GeneratorFunctionPrototype.constructor = GeneratorFunction;
+  GeneratorFunctionPrototype[toStringTagSymbol] =
+    GeneratorFunction.displayName = "GeneratorFunction";
+
+  // Helper for defining the .next, .throw, and .return methods of the
+  // Iterator interface in terms of a single ._invoke method.
+  function defineIteratorMethods(prototype) {
+    ["next", "throw", "return"].forEach(function(method) {
+      prototype[method] = function(arg) {
+        return this._invoke(method, arg);
+      };
+    });
+  }
+
+  runtime.isGeneratorFunction = function(genFun) {
+    var ctor = typeof genFun === "function" && genFun.constructor;
+    return ctor
+      ? ctor === GeneratorFunction ||
+        // For the native GeneratorFunction constructor, the best we can
+        // do is to check its .name property.
+        (ctor.displayName || ctor.name) === "GeneratorFunction"
+      : false;
+  };
+
+  runtime.mark = function(genFun) {
+    if (Object.setPrototypeOf) {
+      Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
+    } else {
+      genFun.__proto__ = GeneratorFunctionPrototype;
+      if (!(toStringTagSymbol in genFun)) {
+        genFun[toStringTagSymbol] = "GeneratorFunction";
+      }
+    }
+    genFun.prototype = Object.create(Gp);
+    return genFun;
+  };
+
+  // Within the body of any async function, `await x` is transformed to
+  // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test
+  // `hasOwn.call(value, "__await")` to determine if the yielded value is
+  // meant to be awaited.
+  runtime.awrap = function(arg) {
+    return { __await: arg };
+  };
+
+  function AsyncIterator(generator) {
+    function invoke(method, arg, resolve, reject) {
+      var record = tryCatch(generator[method], generator, arg);
+      if (record.type === "throw") {
+        reject(record.arg);
+      } else {
+        var result = record.arg;
+        var value = result.value;
+        if (value &&
+            typeof value === "object" &&
+            hasOwn.call(value, "__await")) {
+          return Promise.resolve(value.__await).then(function(value) {
+            invoke("next", value, resolve, reject);
+          }, function(err) {
+            invoke("throw", err, resolve, reject);
+          });
+        }
+
+        return Promise.resolve(value).then(function(unwrapped) {
+          // When a yielded Promise is resolved, its final value becomes
+          // the .value of the Promise<{value,done}> result for the
+          // current iteration.
+          result.value = unwrapped;
+          resolve(result);
+        }, function(error) {
+          // If a rejected Promise was yielded, throw the rejection back
+          // into the async generator function so it can be handled there.
+          return invoke("throw", error, resolve, reject);
+        });
+      }
+    }
+
+    var previousPromise;
+
+    function enqueue(method, arg) {
+      function callInvokeWithMethodAndArg() {
+        return new Promise(function(resolve, reject) {
+          invoke(method, arg, resolve, reject);
+        });
+      }
+
+      return previousPromise =
+        // If enqueue has been called before, then we want to wait until
+        // all previous Promises have been resolved before calling invoke,
+        // so that results are always delivered in the correct order. If
+        // enqueue has not been called before, then it is important to
+        // call invoke immediately, without waiting on a callback to fire,
+        // so that the async generator function has the opportunity to do
+        // any necessary setup in a predictable way. This predictability
+        // is why the Promise constructor synchronously invokes its
+        // executor callback, and why async functions synchronously
+        // execute code before the first await. Since we implement simple
+        // async functions in terms of async generators, it is especially
+        // important to get this right, even though it requires care.
+        previousPromise ? previousPromise.then(
+          callInvokeWithMethodAndArg,
+          // Avoid propagating failures to Promises returned by later
+          // invocations of the iterator.
+          callInvokeWithMethodAndArg
+        ) : callInvokeWithMethodAndArg();
+    }
+
+    // Define the unified helper method that is used to implement .next,
+    // .throw, and .return (see defineIteratorMethods).
+    this._invoke = enqueue;
+  }
+
+  defineIteratorMethods(AsyncIterator.prototype);
+  AsyncIterator.prototype[asyncIteratorSymbol] = function () {
+    return this;
+  };
+  runtime.AsyncIterator = AsyncIterator;
+
+  // Note that simple async functions are implemented on top of
+  // AsyncIterator objects; they just return a Promise for the value of
+  // the final result produced by the iterator.
+  runtime.async = function(innerFn, outerFn, self, tryLocsList) {
+    var iter = new AsyncIterator(
+      wrap(innerFn, outerFn, self, tryLocsList)
+    );
+
+    return runtime.isGeneratorFunction(outerFn)
+      ? iter // If outerFn is a generator, return the full iterator.
+      : iter.next().then(function(result) {
+          return result.done ? result.value : iter.next();
+        });
+  };
+
+  function makeInvokeMethod(innerFn, self, context) {
+    var state = GenStateSuspendedStart;
+
+    return function invoke(method, arg) {
+      if (state === GenStateExecuting) {
+        throw new Error("Generator is already running");
+      }
+
+      if (state === GenStateCompleted) {
+        if (method === "throw") {
+          throw arg;
+        }
+
+        // Be forgiving, per 25.3.3.3.3 of the spec:
+        // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume
+        return doneResult();
+      }
+
+      context.method = method;
+      context.arg = arg;
+
+      while (true) {
+        var delegate = context.delegate;
+        if (delegate) {
+          var delegateResult = maybeInvokeDelegate(delegate, context);
+          if (delegateResult) {
+            if (delegateResult === ContinueSentinel) continue;
+            return delegateResult;
+          }
+        }
+
+        if (context.method === "next") {
+          // Setting context._sent for legacy support of Babel's
+          // function.sent implementation.
+          context.sent = context._sent = context.arg;
+
+        } else if (context.method === "throw") {
+          if (state === GenStateSuspendedStart) {
+            state = GenStateCompleted;
+            throw context.arg;
+          }
+
+          context.dispatchException(context.arg);
+
+        } else if (context.method === "return") {
+          context.abrupt("return", context.arg);
+        }
+
+        state = GenStateExecuting;
+
+        var record = tryCatch(innerFn, self, context);
+        if (record.type === "normal") {
+          // If an exception is thrown from innerFn, we leave state ===
+          // GenStateExecuting and loop back for another invocation.
+          state = context.done
+            ? GenStateCompleted
+            : GenStateSuspendedYield;
+
+          if (record.arg === ContinueSentinel) {
+            continue;
+          }
+
+          return {
+            value: record.arg,
+            done: context.done
+          };
+
+        } else if (record.type === "throw") {
+          state = GenStateCompleted;
+          // Dispatch the exception by looping back around to the
+          // context.dispatchException(context.arg) call above.
+          context.method = "throw";
+          context.arg = record.arg;
+        }
+      }
+    };
+  }
+
+  // Call delegate.iterator[context.method](context.arg) and handle the
+  // result, either by returning a { value, done } result from the
+  // delegate iterator, or by modifying context.method and context.arg,
+  // setting context.delegate to null, and returning the ContinueSentinel.
+  function maybeInvokeDelegate(delegate, context) {
+    var method = delegate.iterator[context.method];
+    if (method === undefined) {
+      // A .throw or .return when the delegate iterator has no .throw
+      // method always terminates the yield* loop.
+      context.delegate = null;
+
+      if (context.method === "throw") {
+        if (delegate.iterator.return) {
+          // If the delegate iterator has a return method, give it a
+          // chance to clean up.
+          context.method = "return";
+          context.arg = undefined;
+          maybeInvokeDelegate(delegate, context);
+
+          if (context.method === "throw") {
+            // If maybeInvokeDelegate(context) changed context.method from
+            // "return" to "throw", let that override the TypeError below.
+            return ContinueSentinel;
+          }
+        }
+
+        context.method = "throw";
+        context.arg = new TypeError(
+          "The iterator does not provide a 'throw' method");
+      }
+
+      return ContinueSentinel;
+    }
+
+    var record = tryCatch(method, delegate.iterator, context.arg);
+
+    if (record.type === "throw") {
+      context.method = "throw";
+      context.arg = record.arg;
+      context.delegate = null;
+      return ContinueSentinel;
+    }
+
+    var info = record.arg;
+
+    if (! info) {
+      context.method = "throw";
+      context.arg = new TypeError("iterator result is not an object");
+      context.delegate = null;
+      return ContinueSentinel;
+    }
+
+    if (info.done) {
+      // Assign the result of the finished delegate to the temporary
+      // variable specified by delegate.resultName (see delegateYield).
+      context[delegate.resultName] = info.value;
+
+      // Resume execution at the desired location (see delegateYield).
+      context.next = delegate.nextLoc;
+
+      // If context.method was "throw" but the delegate handled the
+      // exception, let the outer generator proceed normally. If
+      // context.method was "next", forget context.arg since it has been
+      // "consumed" by the delegate iterator. If context.method was
+      // "return", allow the original .return call to continue in the
+      // outer generator.
+      if (context.method !== "return") {
+        context.method = "next";
+        context.arg = undefined;
+      }
+
+    } else {
+      // Re-yield the result returned by the delegate method.
+      return info;
+    }
+
+    // The delegate iterator is finished, so forget it and continue with
+    // the outer generator.
+    context.delegate = null;
+    return ContinueSentinel;
+  }
+
+  // Define Generator.prototype.{next,throw,return} in terms of the
+  // unified ._invoke helper method.
+  defineIteratorMethods(Gp);
+
+  Gp[toStringTagSymbol] = "Generator";
+
+  // A Generator should always return itself as the iterator object when the
+  // @@iterator function is called on it. Some browsers' implementations of the
+  // iterator prototype chain incorrectly implement this, causing the Generator
+  // object to not be returned from this call. This ensures that doesn't happen.
+  // See https://github.com/facebook/regenerator/issues/274 for more details.
+  Gp[iteratorSymbol] = function() {
+    return this;
+  };
+
+  Gp.toString = function() {
+    return "[object Generator]";
+  };
+
+  function pushTryEntry(locs) {
+    var entry = { tryLoc: locs[0] };
+
+    if (1 in locs) {
+      entry.catchLoc = locs[1];
+    }
+
+    if (2 in locs) {
+      entry.finallyLoc = locs[2];
+      entry.afterLoc = locs[3];
+    }
+
+    this.tryEntries.push(entry);
+  }
+
+  function resetTryEntry(entry) {
+    var record = entry.completion || {};
+    record.type = "normal";
+    delete record.arg;
+    entry.completion = record;
+  }
+
+  function Context(tryLocsList) {
+    // The root entry object (effectively a try statement without a catch
+    // or a finally block) gives us a place to store values thrown from
+    // locations where there is no enclosing try statement.
+    this.tryEntries = [{ tryLoc: "root" }];
+    tryLocsList.forEach(pushTryEntry, this);
+    this.reset(true);
+  }
+
+  runtime.keys = function(object) {
+    var keys = [];
+    for (var key in object) {
+      keys.push(key);
+    }
+    keys.reverse();
+
+    // Rather than returning an object with a next method, we keep
+    // things simple and return the next function itself.
+    return function next() {
+      while (keys.length) {
+        var key = keys.pop();
+        if (key in object) {
+          next.value = key;
+          next.done = false;
+          return next;
+        }
+      }
+
+      // To avoid creating an additional object, we just hang the .value
+      // and .done properties off the next function object itself. This
+      // also ensures that the minifier will not anonymize the function.
+      next.done = true;
+      return next;
+    };
+  };
+
+  function values(iterable) {
+    if (iterable) {
+      var iteratorMethod = iterable[iteratorSymbol];
+      if (iteratorMethod) {
+        return iteratorMethod.call(iterable);
+      }
+
+      if (typeof iterable.next === "function") {
+        return iterable;
+      }
+
+      if (!isNaN(iterable.length)) {
+        var i = -1, next = function next() {
+          while (++i < iterable.length) {
+            if (hasOwn.call(iterable, i)) {
+              next.value = iterable[i];
+              next.done = false;
+              return next;
+            }
+          }
+
+          next.value = undefined;
+          next.done = true;
+
+          return next;
+        };
+
+        return next.next = next;
+      }
+    }
+
+    // Return an iterator with no values.
+    return { next: doneResult };
+  }
+  runtime.values = values;
+
+  function doneResult() {
+    return { value: undefined, done: true };
+  }
+
+  Context.prototype = {
+    constructor: Context,
+
+    reset: function(skipTempReset) {
+      this.prev = 0;
+      this.next = 0;
+      // Resetting context._sent for legacy support of Babel's
+      // function.sent implementation.
+      this.sent = this._sent = undefined;
+      this.done = false;
+      this.delegate = null;
+
+      this.method = "next";
+      this.arg = undefined;
+
+      this.tryEntries.forEach(resetTryEntry);
+
+      if (!skipTempReset) {
+        for (var name in this) {
+          // Not sure about the optimal order of these conditions:
+          if (name.charAt(0) === "t" &&
+              hasOwn.call(this, name) &&
+              !isNaN(+name.slice(1))) {
+            this[name] = undefined;
+          }
+        }
+      }
+    },
+
+    stop: function() {
+      this.done = true;
+
+      var rootEntry = this.tryEntries[0];
+      var rootRecord = rootEntry.completion;
+      if (rootRecord.type === "throw") {
+        throw rootRecord.arg;
+      }
+
+      return this.rval;
+    },
+
+    dispatchException: function(exception) {
+      if (this.done) {
+        throw exception;
+      }
+
+      var context = this;
+      function handle(loc, caught) {
+        record.type = "throw";
+        record.arg = exception;
+        context.next = loc;
+
+        if (caught) {
+          // If the dispatched exception was caught by a catch block,
+          // then let that catch block handle the exception normally.
+          context.method = "next";
+          context.arg = undefined;
+        }
+
+        return !! caught;
+      }
+
+      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
+        var entry = this.tryEntries[i];
+        var record = entry.completion;
+
+        if (entry.tryLoc === "root") {
+          // Exception thrown outside of any try block that could handle
+          // it, so set the completion value of the entire function to
+          // throw the exception.
+          return handle("end");
+        }
+
+        if (entry.tryLoc <= this.prev) {
+          var hasCatch = hasOwn.call(entry, "catchLoc");
+          var hasFinally = hasOwn.call(entry, "finallyLoc");
+
+          if (hasCatch && hasFinally) {
+            if (this.prev < entry.catchLoc) {
+              return handle(entry.catchLoc, true);
+            } else if (this.prev < entry.finallyLoc) {
+              return handle(entry.finallyLoc);
+            }
+
+          } else if (hasCatch) {
+            if (this.prev < entry.catchLoc) {
+              return handle(entry.catchLoc, true);
+            }
+
+          } else if (hasFinally) {
+            if (this.prev < entry.finallyLoc) {
+              return handle(entry.finallyLoc);
+            }
+
+          } else {
+            throw new Error("try statement without catch or finally");
+          }
+        }
+      }
+    },
+
+    abrupt: function(type, arg) {
+      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
+        var entry = this.tryEntries[i];
+        if (entry.tryLoc <= this.prev &&
+            hasOwn.call(entry, "finallyLoc") &&
+            this.prev < entry.finallyLoc) {
+          var finallyEntry = entry;
+          break;
+        }
+      }
+
+      if (finallyEntry &&
+          (type === "break" ||
+           type === "continue") &&
+          finallyEntry.tryLoc <= arg &&
+          arg <= finallyEntry.finallyLoc) {
+        // Ignore the finally entry if control is not jumping to a
+        // location outside the try/catch block.
+        finallyEntry = null;
+      }
+
+      var record = finallyEntry ? finallyEntry.completion : {};
+      record.type = type;
+      record.arg = arg;
+
+      if (finallyEntry) {
+        this.method = "next";
+        this.next = finallyEntry.finallyLoc;
+        return ContinueSentinel;
+      }
+
+      return this.complete(record);
+    },
+
+    complete: function(record, afterLoc) {
+      if (record.type === "throw") {
+        throw record.arg;
+      }
+
+      if (record.type === "break" ||
+          record.type === "continue") {
+        this.next = record.arg;
+      } else if (record.type === "return") {
+        this.rval = this.arg = record.arg;
+        this.method = "return";
+        this.next = "end";
+      } else if (record.type === "normal" && afterLoc) {
+        this.next = afterLoc;
+      }
+
+      return ContinueSentinel;
+    },
+
+    finish: function(finallyLoc) {
+      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
+        var entry = this.tryEntries[i];
+        if (entry.finallyLoc === finallyLoc) {
+          this.complete(entry.completion, entry.afterLoc);
+          resetTryEntry(entry);
+          return ContinueSentinel;
+        }
+      }
+    },
+
+    "catch": function(tryLoc) {
+      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
+        var entry = this.tryEntries[i];
+        if (entry.tryLoc === tryLoc) {
+          var record = entry.completion;
+          if (record.type === "throw") {
+            var thrown = record.arg;
+            resetTryEntry(entry);
+          }
+          return thrown;
+        }
+      }
+
+      // The context.catch method must only be called with a location
+      // argument that corresponds to a known catch block.
+      throw new Error("illegal catch attempt");
+    },
+
+    delegateYield: function(iterable, resultName, nextLoc) {
+      this.delegate = {
+        iterator: values(iterable),
+        resultName: resultName,
+        nextLoc: nextLoc
+      };
+
+      if (this.method === "next") {
+        // Deliberately forget the last sent value so that we don't
+        // accidentally pass it on to the delegate.
+        this.arg = undefined;
+      }
+
+      return ContinueSentinel;
+    }
+  };
+})(
+  // In sloppy mode, unbound `this` refers to the global object, fallback to
+  // Function constructor if we're in global strict mode. That is sadly a form
+  // of indirect eval which violates Content Security Policy.
+  (function() {
+    return this || (typeof self === "object" && self);
+  })() || Function("return this")()
+);
+
+
 /***/ })
 ]]);
 //# sourceMappingURL=../../.sourcemap/mp-weixin/common/vendor.js.map

+ 27 - 27
unpackage/dist/dev/mp-weixin/components/tab-bar/tab-bar.js

@@ -174,33 +174,33 @@ var _default =
 
       } else if (num === 2) {
         if (this.$storage.getJson("token")) {
-          var stationCode = 'st001';
-          uni.navigateTo({
-            url: '/pages/powerchange/index?stationCode=' + stationCode });
-
-          // let that = this
-          // uni.scanCode({
-          // 	success: function(res) {
-          // 		const url = res.result
-          // 		if (url.startsWith('https://zk.li-ai.com.cn/?station_code=')) {
-          // 			const parts = url.split("=")
-          // 			if (parts.length === 2) {
-          // 				that.stationCode = parts[1]
-          // 				uni.navigateTo({
-          // 					url: '/pages/powerchange/index?stationCode=' +that.stationCode
-          // 				})
-          // 			} else {
-          // 				uni.navigateTo({
-          // 					url: '/pages/public/404?error=' + '站点编号错误!!'
-          // 				})
-          // 			}
-          // 		} else {
-          // 			uni.navigateTo({
-          // 				url: '/pages/public/404?error=' + '二维码链接错误!!'
-          // 			})
-          // 		}
-          // 	},
-          // });
+          // let stationCode='st001'
+          // uni.navigateTo({
+          // 	url:'/pages/powerchange/index?stationCode='+stationCode
+          // })
+          var that = this;
+          uni.scanCode({
+            success: function success(res) {
+              var url = res.result;
+              if (url.startsWith('https://zk.li-ai.com.cn/?station_code=')) {
+                var parts = url.split("=");
+                if (parts.length === 2) {
+                  that.stationCode = parts[1];
+                  uni.navigateTo({
+                    url: '/pages/powerchange/index?stationCode=' + that.stationCode });
+
+                } else {
+                  uni.navigateTo({
+                    url: '/pages/public/404?error=' + '站点编号错误!!' });
+
+                }
+              } else {
+                uni.navigateTo({
+                  url: '/pages/public/404?error=' + '二维码链接错误!!' });
+
+              }
+            } });
+
         } else {
           uni.navigateTo({
             url: '/pages/public/login' });

Разница между файлами не показана из-за своего большого размера
+ 1 - 345
unpackage/dist/dev/mp-weixin/pages/index/index.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/mp-weixin/pages/index/index.wxml


+ 9 - 5
unpackage/dist/dev/mp-weixin/pages/index/index.wxss

@@ -25,7 +25,7 @@
 /* 透明度 */
 /* 文章场景相关 */
 .main.data-v-57280228 {
-  height: 100vh;
+  background: linear-gradient(180deg, #FFFFFF 0%, #F2F3F5 100%);
 }
 .authorization.data-v-57280228 {
   width: 640rpx;
@@ -41,8 +41,7 @@
   color: #979797;
 }
 .main-box.data-v-57280228 {
-  padding: 0 30rpx;
-  background: linear-gradient(180deg, #FFFFFF 0%, #F8F9FB 100%);
+  padding: 0 30rpx;
 }
 .main-box .carinfo.data-v-57280228 {
   width: 100%;
@@ -62,7 +61,7 @@
   height: 350rpx;
   padding: 32rpx;
   box-sizing: border-box;
-  background-image: url("https://xcx.xnymzx.com/zkstation/car-bg.png");
+  background-image: url("https://rl-zk-image.oss-cn-hangzhou.aliyuncs.com/image/car-bg.png");
   background-size: 100% 100%;
   display: flex;
   flex-direction: column;
@@ -159,7 +158,8 @@
   padding: 0 20rpx;
   box-sizing: border-box;
   display: flex;
-  margin: 24rpx 0;
+  margin-bottom: 24rpx;
+  margin-top: 44rpx;
 }
 .main-box .change-title image.data-v-57280228 {
   width: 9rpx;
@@ -196,6 +196,10 @@
 .main-box .change-box .tags.data-v-57280228 {
   display: flex;
 }
+.main-box .change-box .tags.data-v-57280228 :first-child {
+  background: rgba(88, 190, 107, 0.1);
+  color: #58BE6B;
+}
 .main-box .change-box .tags view.data-v-57280228 {
   background: #f5f5f5;
   color: #979797;

+ 5 - 0
unpackage/dist/dev/mp-weixin/pages/powerExchange/index.js

@@ -105,6 +105,9 @@ try {
     },
     subTitle: function() {
       return __webpack_require__.e(/*! import() | components/sub-title/sub-title */ "components/sub-title/sub-title").then(__webpack_require__.bind(null, /*! @/components/sub-title/sub-title.vue */ 316))
+    },
+    zbTooltip: function() {
+      return Promise.all(/*! import() | uni_modules/zb-tooltip/components/zb-tooltip/zb-tooltip */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/zb-tooltip/components/zb-tooltip/zb-tooltip")]).then(__webpack_require__.bind(null, /*! @/uni_modules/zb-tooltip/components/zb-tooltip/zb-tooltip.vue */ 375))
     }
   }
 } catch (e) {
@@ -257,6 +260,8 @@ __webpack_require__.r(__webpack_exports__);
 //
 //
 //
+//
+//
 var _default =
 {
   data: function data() {

+ 2 - 1
unpackage/dist/dev/mp-weixin/pages/powerExchange/index.json

@@ -4,6 +4,7 @@
   "usingComponents": {
     "scan-info": "/components/scan-info/scan-info",
     "uni-steps": "/uni_modules/uni-steps/components/uni-steps/uni-steps",
-    "sub-title": "/components/sub-title/sub-title"
+    "sub-title": "/components/sub-title/sub-title",
+    "zb-tooltip": "/uni_modules/zb-tooltip/components/zb-tooltip/zb-tooltip"
   }
 }

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/mp-weixin/pages/powerExchange/index.wxml


+ 16 - 13
unpackage/dist/dev/mp-weixin/pages/powerExchange/index.wxss

@@ -24,19 +24,6 @@
 /* 垂直间距 */
 /* 透明度 */
 /* 文章场景相关 */
-.list.data-v-4e08b1e2 {
-  width: 100%;
-  display: flex;
-  height: 100rpx;
-  justify-content: space-between;
-  font-size: 30rpx;
-}
-.list view.data-v-4e08b1e2:first-child {
-  color: #86909c;
-}
-.list view.data-v-4e08b1e2:last-child {
-  color: #1d2129;
-}
 .swapinfo .header.data-v-4e08b1e2 {
   display: flex;
   padding: 30rpx;
@@ -149,5 +136,21 @@
   margin: 0 auto;
   display: flex;
   flex-direction: column;
+}
+.swapinfo .changeCar .info-box .list.data-v-4e08b1e2,
+.swapinfo .changeBattery .info-box .list.data-v-4e08b1e2 {
+  width: 100%;
+  display: flex;
+  height: 100rpx;
+  justify-content: space-between;
+  font-size: 30rpx;
+}
+.swapinfo .changeCar .info-box .list view.data-v-4e08b1e2:first-child,
+.swapinfo .changeBattery .info-box .list view.data-v-4e08b1e2:first-child {
+  color: #86909c;
+}
+.swapinfo .changeCar .info-box .list view.data-v-4e08b1e2:last-child,
+.swapinfo .changeBattery .info-box .list view.data-v-4e08b1e2:last-child {
+  color: #1d2129;
 }
 

+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/ucenter/about.wxml

@@ -1 +1 @@
-<view class="about data-v-7688929f"><image src="../../static/about.png" class="data-v-7688929f"></image></view>
+<view class="about data-v-7688929f"><image src="https://rl-zk-image.oss-cn-hangzhou.aliyuncs.com/image/about.png" class="data-v-7688929f"></image></view>

+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/ucenter/car.wxml

@@ -1 +1 @@
-<view class="data-v-27c9e9e6"><view class="car-box data-v-27c9e9e6"><uni-swiper-dot vue-id="5d185840-1" info="{{datalist}}" current="{{current}}" field="content" mode="indexes" dots-styles="{{dotsStyles}}" class="data-v-27c9e9e6" bind:__l="__l" vue-slots="{{['default']}}"><swiper data-event-opts="{{[['change',[['change',['$event']]]]]}}" class="swiper-box data-v-27c9e9e6" bindchange="__e"><block wx:for="{{datalist}}" wx:for-item="item" wx:for-index="index" wx:key="id"><swiper-item data-event-opts="{{[['tap',[['e0',['$event']]]]]}}" data-event-params="{{({item})}}" bindtap="__e" class="data-v-27c9e9e6"><view class="swiper-item data-v-27c9e9e6"><view class="top data-v-27c9e9e6"><view class="data-v-27c9e9e6">{{item.plate||'-'}}</view><view class="data-v-27c9e9e6"><image src="../../static/icon-car.png" class="data-v-27c9e9e6"></image></view></view><view class="bottom data-v-27c9e9e6"><view class="carpic data-v-27c9e9e6"><image src="../../static/car.jpg" class="data-v-27c9e9e6"></image></view><view class="list data-v-27c9e9e6"><view class="data-v-27c9e9e6">车型:</view><view class="data-v-27c9e9e6">{{item.vehModel||'-'}}</view></view><view class="list data-v-27c9e9e6"><view class="data-v-27c9e9e6">VIN码:</view><view class="data-v-27c9e9e6">{{item.vin||'-'}}</view></view><view class="list data-v-27c9e9e6"><view class="data-v-27c9e9e6">累计行驶里程:</view><view class="data-v-27c9e9e6">{{(item.totalMileage||'-')+"km"}}</view></view><view class="list data-v-27c9e9e6"><view class="data-v-27c9e9e6">累计换电次数:</view><view class="data-v-27c9e9e6">{{(item.totalExchangeCnt||'-')+"次"}}</view></view><view class="list data-v-27c9e9e6"><view class="data-v-27c9e9e6">累计换电量:</view><view class="data-v-27c9e9e6">{{(item.totalExchangePower||'-')+"(kW/h)"}}</view></view></view></view></swiper-item></block></swiper></uni-swiper-dot></view><tab-bar vue-id="5d185840-2" class="data-v-27c9e9e6" bind:__l="__l"></tab-bar></view>
+<view class="data-v-27c9e9e6"><view class="car-box data-v-27c9e9e6"><uni-swiper-dot vue-id="5d185840-1" info="{{datalist}}" current="{{current}}" field="content" mode="indexes" dots-styles="{{dotsStyles}}" class="data-v-27c9e9e6" bind:__l="__l" vue-slots="{{['default']}}"><swiper data-event-opts="{{[['change',[['change',['$event']]]]]}}" class="swiper-box data-v-27c9e9e6" bindchange="__e"><block wx:for="{{datalist}}" wx:for-item="item" wx:for-index="index" wx:key="id"><swiper-item data-event-opts="{{[['tap',[['e0',['$event']]]]]}}" data-event-params="{{({item})}}" bindtap="__e" class="data-v-27c9e9e6"><view class="swiper-item data-v-27c9e9e6"><view class="top data-v-27c9e9e6"><view class="data-v-27c9e9e6">{{item.plate||'-'}}</view><view class="data-v-27c9e9e6"><image src="../../static/icon-car.png" class="data-v-27c9e9e6"></image></view></view><view class="bottom data-v-27c9e9e6"><view class="carpic data-v-27c9e9e6"><image src="{{item.url}}" class="data-v-27c9e9e6"></image></view><view class="list data-v-27c9e9e6"><view class="data-v-27c9e9e6">车型:</view><view class="data-v-27c9e9e6">{{item.vehModel||'-'}}</view></view><view class="list data-v-27c9e9e6"><view class="data-v-27c9e9e6">VIN码:</view><view class="data-v-27c9e9e6">{{item.vin||'-'}}</view></view><view class="list data-v-27c9e9e6"><view class="data-v-27c9e9e6">累计行驶里程:</view><view class="data-v-27c9e9e6">{{(item.totalMileage||'-')+"km"}}</view></view><view class="list data-v-27c9e9e6"><view class="data-v-27c9e9e6">累计换电次数:</view><view class="data-v-27c9e9e6">{{(item.totalExchangeCnt||'-')+"次"}}</view></view><view class="list data-v-27c9e9e6"><view class="data-v-27c9e9e6">累计换电量:</view><view class="data-v-27c9e9e6">{{(item.totalExchangePower||'-')+"(kW/h)"}}</view></view></view></view></swiper-item></block></swiper></uni-swiper-dot></view><tab-bar vue-id="5d185840-2" class="data-v-27c9e9e6" bind:__l="__l"></tab-bar></view>

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/mp-weixin/pages/ucenter/car_show.wxml


+ 1 - 4
unpackage/dist/dev/mp-weixin/pages/ucenter/index.js

@@ -100,9 +100,6 @@ try {
     topBox: function() {
       return __webpack_require__.e(/*! import() | components/top-box/top-box */ "components/top-box/top-box").then(__webpack_require__.bind(null, /*! @/components/top-box/top-box.vue */ 261))
     },
-    uniPopup: function() {
-      return __webpack_require__.e(/*! import() | uni_modules/uni-popup/components/uni-popup/uni-popup */ "uni_modules/uni-popup/components/uni-popup/uni-popup").then(__webpack_require__.bind(null, /*! @/uni_modules/uni-popup/components/uni-popup/uni-popup.vue */ 295))
-    },
     tabBar: function() {
       return __webpack_require__.e(/*! import() | components/tab-bar/tab-bar */ "components/tab-bar/tab-bar").then(__webpack_require__.bind(null, /*! @/components/tab-bar/tab-bar.vue */ 288))
     }
@@ -253,7 +250,7 @@ var _default =
 {
   data: function data() {
     return {
-      qrcode: '../../static/code.jpg',
+      // qrcode: '../../static/code.jpg',
       token: this.$store.state.users.token,
       userinfo: this.$store.state.users,
       serviceTel: null, //客服电话

+ 0 - 1
unpackage/dist/dev/mp-weixin/pages/ucenter/index.json

@@ -3,7 +3,6 @@
   "enablePullDownRefresh": false,
   "usingComponents": {
     "top-box": "/components/top-box/top-box",
-    "uni-popup": "/uni_modules/uni-popup/components/uni-popup/uni-popup",
     "tab-bar": "/components/tab-bar/tab-bar"
   }
 }

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
unpackage/dist/dev/mp-weixin/pages/ucenter/index.wxml


+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/ucenter/record.wxss

@@ -186,7 +186,7 @@
 .records .month .title.data-v-33b2a2af {
   width: 690rpx;
   height: 184rpx;
-  background-image: url("https://xcx.xnymzx.com/zkstation/bgr.png");
+  background-image: url("https://rl-zk-image.oss-cn-hangzhou.aliyuncs.com/image/bgr.png");
   background-size: 100% 100%;
   display: flex;
   padding: 20rpx 30rpx;

BIN
unpackage/dist/dev/mp-weixin/static/car-bg.png


BIN
unpackage/dist/dev/mp-weixin/static/car.jpg


+ 79 - 0
unpackage/dist/dev/mp-weixin/uni_modules/mescroll-uni/components/mescroll-body/mescroll-body.js

@@ -84,9 +84,15 @@ __webpack_require__.r(__webpack_exports__);
 var components
 try {
   components = {
+<<<<<<< HEAD
     mescrollEmpty: function() {
       return __webpack_require__.e(/*! import() | uni_modules/mescroll-uni/components/mescroll-empty/mescroll-empty */ "uni_modules/mescroll-uni/components/mescroll-empty/mescroll-empty").then(__webpack_require__.bind(null, /*! @/uni_modules/mescroll-uni/components/mescroll-empty/mescroll-empty.vue */ 323))
     }
+=======
+    mescrollEmpty: function () {
+      return __webpack_require__.e(/*! import() | uni_modules/mescroll-uni/components/mescroll-empty/mescroll-empty */ "uni_modules/mescroll-uni/components/mescroll-empty/mescroll-empty").then(__webpack_require__.bind(null, /*! @/uni_modules/mescroll-uni/components/mescroll-empty/mescroll-empty.vue */ 354))
+    },
+>>>>>>> 51bdfa93462721aa88aa8ca3ec36637e2e332f19
   }
 } catch (e) {
   if (
@@ -309,6 +315,7 @@ var _mixins = _interopRequireDefault(__webpack_require__(/*! ../mescroll-uni/wxs
 // 引入mescroll-uni.js,处理核心逻辑
 // 引入全局配置
 // 引入国际化工具类
+<<<<<<< HEAD
 var MescrollTop = function MescrollTop() {__webpack_require__.e(/*! require.ensure | uni_modules/mescroll-uni/components/mescroll-uni/components/mescroll-top */ "uni_modules/mescroll-uni/components/mescroll-uni/components/mescroll-top").then((function () {return resolve(__webpack_require__(/*! ../mescroll-uni/components/mescroll-top.vue */ 330));}).bind(null, __webpack_require__)).catch(__webpack_require__.oe);}; /**
                                                                                                                                                                                                                                     * mescroll-body 基于page滚动的下拉刷新和上拉加载组件, 支持嵌套原生组件, 性能好
                                                                                                                                                                                                                                     * @property {Object} down 下拉刷新的参数配置
@@ -338,6 +345,78 @@ var MescrollTop = function MescrollTop() {__webpack_require__.e(/*! require.ensu
       isShowToTop: false, // 是否显示回到顶部按钮
       windowHeight: 0, // 可使用窗口的高度
       windowBottom: 0, // 可使用窗口的底部位置
+=======
+var MescrollTop = function MescrollTop() {
+  __webpack_require__.e(/*! require.ensure | uni_modules/mescroll-uni/components/mescroll-uni/components/mescroll-top */ "uni_modules/mescroll-uni/components/mescroll-uni/components/mescroll-top").then((function () {
+    return resolve(__webpack_require__(/*! ../mescroll-uni/components/mescroll-top.vue */ 361));
+  }).bind(null, __webpack_require__)).catch(__webpack_require__.oe);
+};
+/**
+ * mescroll-body 基于page滚动的下拉刷新和上拉加载组件, 支持嵌套原生组件, 性能好
+ * @property {Object} down 下拉刷新的参数配置
+ * @property {Object} up 上拉加载的参数配置
+ * @property {Object} i18n 国际化的参数配置
+ * @property {String, Number} top 下拉布局往下的偏移量 (支持20, "20rpx", "20px", "20%"格式的值, 其中纯数字则默认单位rpx, 百分比则相对于windowHeight)
+ * @property {Boolean, String} topbar 偏移量top是否加上状态栏高度, 默认false (使用场景:取消原生导航栏时,配置此项可留出状态栏的占位, 支持传入字符串背景,如色值,背景图,渐变)
+ * @property {String, Number} bottom 上拉布局往上的偏移量 (支持20, "20rpx", "20px", "20%"格式的值, 其中纯数字则默认单位rpx, 百分比则相对于windowHeight)
+ * @property {Boolean} safearea 偏移量bottom是否加上底部安全区的距离, 默认false (需要适配iPhoneX时使用)
+ * @property {Boolean} fixed 是否通过fixed固定mescroll的高度, 默认true
+ * @property {String, Number} height 指定mescroll最小高度,默认windowHeight,使列表不满屏仍可下拉
+ * @property {Boolean} bottombar 底部是否偏移TabBar的高度 (仅在H5端的tab页生效)
+ * @property {Boolean} sticky 是否支持sticky,默认false; 当值配置true时,需避免在mescroll-body标签前面加非定位的元素,否则下拉区域无法隐藏
+ * @event {Function} init 初始化完成的回调 
+ * @event {Function} down 下拉刷新的回调
+ * @event {Function} up 上拉加载的回调 
+ * @event {Function} emptyclick 点击empty配置的btnText按钮回调
+ * @event {Function} topclick 点击回到顶部的按钮回调
+ * @event {Function} scroll 滚动监听 (需在 up 配置 onScroll:true 才生效)
+ * @example <mescroll-body ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback"> ... </mescroll-body>
+ */
+var _default = {
+  name: 'mescroll-body',
+  mixins: [_mixins.default],
+  components: {
+    MescrollTop: MescrollTop
+  },
+  props: {
+    down: Object,
+    up: Object,
+    i18n: Object,
+    top: [String, Number],
+    topbar: [Boolean, String],
+    bottom: [String, Number],
+    safearea: Boolean,
+    height: [String, Number],
+    bottombar: {
+      type: Boolean,
+      default: true
+    },
+    sticky: Boolean
+  },
+  data: function data() {
+    return {
+      mescroll: {
+        optDown: {},
+        optUp: {}
+      },
+      // mescroll实例
+      downHight: 0,
+      //下拉刷新: 容器高度
+      downRate: 0,
+      // 下拉比率(inOffset: rate<1; outOffset: rate>=1)
+      downLoadType: 0,
+      // 下拉刷新状态: 0(loading前), 1(inOffset), 2(outOffset), 3(showLoading), 4(endDownScroll)
+      upLoadType: 0,
+      // 上拉加载状态:0(loading前),1(loading中),2(没有更多了,显示END文本提示),3(没有更多了,不显示END文本提示)
+      isShowEmpty: false,
+      // 是否显示空布局
+      isShowToTop: false,
+      // 是否显示回到顶部按钮
+      windowHeight: 0,
+      // 可使用窗口的高度
+      windowBottom: 0,
+      // 可使用窗口的底部位置
+>>>>>>> 51bdfa93462721aa88aa8ca3ec36637e2e332f19
       statusBarHeight: 0 // 状态栏高度
     };}, computed: { // mescroll最小高度,默认windowHeight,使列表不满屏仍可下拉
     minHeight: function minHeight() {return this.toPx(this.height || '100%') + 'px';}, // 下拉布局往下偏移的距离 (px)

Разница между файлами не показана из-за своего большого размера
+ 66 - 0
unpackage/dist/dev/mp-weixin/uni_modules/mescroll-uni/components/mescroll-empty/mescroll-empty.js


Разница между файлами не показана из-за своего большого размера
+ 66 - 0
unpackage/dist/dev/mp-weixin/uni_modules/mescroll-uni/components/mescroll-uni/components/mescroll-top.js


Разница между файлами не показана из-за своего большого размера
+ 73 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-icons/components/uni-icons/uni-icons.js


+ 6 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-popup/components/uni-popup/uni-popup.js

@@ -79,9 +79,15 @@ __webpack_require__.r(__webpack_exports__);
 var components
 try {
   components = {
+<<<<<<< HEAD
     uniTransition: function() {
       return Promise.all(/*! import() | uni_modules/uni-transition/components/uni-transition/uni-transition */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/uni-transition/components/uni-transition/uni-transition")]).then(__webpack_require__.bind(null, /*! @/uni_modules/uni-transition/components/uni-transition/uni-transition.vue */ 337))
     }
+=======
+    uniTransition: function () {
+      return Promise.all(/*! import() | uni_modules/uni-transition/components/uni-transition/uni-transition */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/uni-transition/components/uni-transition/uni-transition")]).then(__webpack_require__.bind(null, /*! @/uni_modules/uni-transition/components/uni-transition/uni-transition.vue */ 368))
+    },
+>>>>>>> 51bdfa93462721aa88aa8ca3ec36637e2e332f19
   }
 } catch (e) {
   if (

+ 6 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-steps/components/uni-steps/uni-steps.js

@@ -79,9 +79,15 @@ __webpack_require__.r(__webpack_exports__);
 var components
 try {
   components = {
+<<<<<<< HEAD
     uniIcons: function() {
       return Promise.all(/*! import() | uni_modules/uni-icons/components/uni-icons/uni-icons */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/uni-icons/components/uni-icons/uni-icons")]).then(__webpack_require__.bind(null, /*! @/uni_modules/uni-icons/components/uni-icons/uni-icons.vue */ 343))
     }
+=======
+    uniIcons: function () {
+      return Promise.all(/*! import() | uni_modules/uni-icons/components/uni-icons/uni-icons */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/uni-icons/components/uni-icons/uni-icons")]).then(__webpack_require__.bind(null, /*! @/uni_modules/uni-icons/components/uni-icons/uni-icons.vue */ 374))
+    },
+>>>>>>> 51bdfa93462721aa88aa8ca3ec36637e2e332f19
   }
 } catch (e) {
   if (

Разница между файлами не показана из-за своего большого размера
+ 55 - 0
unpackage/dist/dev/mp-weixin/uni_modules/uni-transition/components/uni-transition/uni-transition.js


Разница между файлами не показана из-за своего большого размера
+ 352 - 0
unpackage/dist/dev/mp-weixin/uni_modules/zb-tooltip/components/zb-tooltip/zb-tooltip.js


+ 4 - 0
unpackage/dist/dev/mp-weixin/uni_modules/zb-tooltip/components/zb-tooltip/zb-tooltip.json

@@ -0,0 +1,4 @@
+{
+  "usingComponents": {},
+  "component": true
+}

+ 1 - 0
unpackage/dist/dev/mp-weixin/uni_modules/zb-tooltip/components/zb-tooltip/zb-tooltip.wxml

@@ -0,0 +1 @@
+<view class="zb-tooltip data-v-5c27e2dc" style="{{'--theme-bg-color:'+(color)+';'}}"><view data-event-opts="{{[['tap',[['handleClick',['$event']]]]]}}" class="zb_tooltip_content data-v-5c27e2dc" catchtap="__e"><slot></slot><view data-event-opts="{{[['tap',[['e0',['$event']]]]]}}" class="zb_tooltip__popper data-v-5c27e2dc" style="{{$root.s0}}" catchtap="__e"><block wx:if="{{$slots.content}}"><slot name="content"></slot></block><block wx:else>{{content}}</block><view class="{{['zb_popper__icon','data-v-5c27e2dc',[($root.g0===0)?'zb_popper__up':'',($root.g1===0)?'zb_popper__arrow':'',($root.g2===0)?'zb_popper__right':'',($root.g3===0)?'zb_popper__left':'']]}}" style="{{$root.s1}}"></view></view></view></view>

+ 93 - 0
unpackage/dist/dev/mp-weixin/uni_modules/zb-tooltip/components/zb-tooltip/zb-tooltip.wxss

@@ -0,0 +1,93 @@
+@charset "UTF-8";
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.zb-tooltip.data-v-5c27e2dc {
+  position: relative;
+}
+.zb_tooltip_content.data-v-5c27e2dc {
+  height: 100%;
+  /* float: left; */
+  position: relative;
+  display: inline-block;
+  /* overflow: hidden; */
+}
+.zb_tooltip__popper.data-v-5c27e2dc {
+  /* transform-origin: center top; */
+  background: var(--theme-bg-color);
+  visibility: hidden;
+  position: absolute;
+  border-radius: 4px;
+  font-size: 12px;
+  padding: 10px;
+  min-width: 10px;
+  word-wrap: break-word;
+  display: inline-block;
+  white-space: nowrap;
+  z-index: 9;
+}
+.zb_popper__icon.data-v-5c27e2dc {
+  width: 0;
+  height: 0;
+  z-index: 9;
+  position: absolute;
+}
+.zb_popper__arrow.data-v-5c27e2dc {
+  bottom: -5px;
+  /* transform-origin: center top; */
+  border-left: 6px solid transparent;
+  border-right: 6px solid transparent;
+  border-top: 6px solid var(--theme-bg-color);
+}
+.zb_popper__right.data-v-5c27e2dc {
+  border-top: 6px solid transparent;
+  border-bottom: 6px solid transparent;
+  border-right: 6px solid var(--theme-bg-color);
+  left: -5px;
+}
+.zb_popper__left.data-v-5c27e2dc {
+  border-top: 6px solid transparent;
+  border-bottom: 6px solid transparent;
+  border-left: 6px solid var(--theme-bg-color);
+  right: -5px;
+}
+.zb_popper__up.data-v-5c27e2dc {
+  border-left: 6px solid transparent;
+  border-right: 6px solid transparent;
+  border-bottom: 6px solid var(--theme-bg-color);
+  top: -5px;
+}
+.fixed.data-v-5c27e2dc {
+  position: absolute;
+  width: 100vw;
+  height: 100vh;
+  position: fixed;
+  left: 0;
+  top: 0;
+  pointer-events: auto;
+  background: red;
+  z-index: -1;
+}
+

Некоторые файлы не были показаны из-за большого количества измененных файлов