diff --git a/pages/reservation/index.vue b/pages/reservation/index.vue index b97f652..bc90911 100644 --- a/pages/reservation/index.vue +++ b/pages/reservation/index.vue @@ -78,6 +78,8 @@ + + 过闸日期 @@ -106,6 +108,7 @@ + @@ -121,7 +124,8 @@ import wx from 'jweixin-module' // #endif export default { name: 'ReservationPage', - geofenceToleranceMeters: 20, + geofenceToleranceMeters: 1000, + geofenceAccuracyWarningMeters: 1000, components: { NavBar }, data() { return { @@ -149,6 +153,17 @@ export default { userLocation: null, // 用户位置信息 {latitude, longitude} isInGeofence: null, // 是否在围栏范围内,null表示未检查,true表示在范围内,false表示不在范围内 geofenceRequestSeq: 0, // 方向切换时用于丢弃过期围栏响应 + geofenceDebug: { + direction: '', + locationSource: '', + stage: '', + result: null, + message: '', + updatedAt: '', + location: null, + rawGeofences: null, + evaluations: [], + }, unitPrice: '', // 单价 calculationDescription: '', // 计算规则 } @@ -241,6 +256,36 @@ export default { // #endif return Promise.resolve(null); }, + handleLocationAccuracyNotice(location) { + const accuracy = location && typeof location.accuracy === 'number' ? location.accuracy : null; + if (accuracy !== null && accuracy > (this.$options.geofenceAccuracyWarningMeters || 1000)) { + uni.showToast({ + title: `当前定位误差约${accuracy.toFixed(0)}米`, + icon: 'none', + duration: 2500 + }); + } + }, + async refreshUserLocation() { + uni.showLoading({ title: '重新获取定位...' }); + const location = await this.getUserLocation(); + uni.hideLoading(); + + if (!location) { + uni.showToast({ title: '重新获取定位失败', icon: 'none' }); + return; + } + + this.handleLocationAccuracyNotice(location); + + if (this.direction) { + await this.fetchGeofenceByDirection({ + showModal: false, + direction: this.direction, + location, + }); + } + }, // 微信 H5 获取位置 getWeixinLocation() { // #ifdef H5 @@ -309,11 +354,25 @@ export default { accuracy: res.accuracy }; this.userLocation = location; + this.updateGeofenceDebug({ + locationSource: '微信 JSSDK gcj02', + location, + message: '微信定位成功', + stage: '定位完成', + }); + this.handleLocationAccuracyNotice(location); console.log('[WeixinLocation] 已保存 userLocation =', this.userLocation); resolve(location); }, fail: (err) => { console.error('[WeixinLocation] wx.getLocation fail:', err); + this.updateGeofenceDebug({ + locationSource: '微信 JSSDK gcj02', + location: null, + result: null, + message: '微信定位失败', + stage: '定位失败', + }); uni.showModal({ title: '提示', content: '获取位置失败,请允许访问位置信息', @@ -352,11 +411,25 @@ export default { speed: position.coords.speed }; this.userLocation = location; + this.updateGeofenceDebug({ + locationSource: '浏览器 geolocation', + location, + message: '浏览器定位成功', + stage: '定位完成', + }); + this.handleLocationAccuracyNotice(location); console.log('浏览器获取位置成功:', this.userLocation); resolve(location); }, (error) => { console.error('浏览器获取位置失败:', error); + this.updateGeofenceDebug({ + locationSource: '浏览器 geolocation', + location: null, + result: null, + message: '浏览器定位失败:' + (error && error.message ? error.message : '未知错误'), + stage: '定位失败', + }); let errorMsg = '获取位置失败'; switch(error.code) { case error.PERMISSION_DENIED: @@ -400,11 +473,25 @@ export default { accuracy: res.accuracy }; this.userLocation = location; + this.updateGeofenceDebug({ + locationSource: '微信小程序 gcj02', + location, + message: '小程序定位成功', + stage: '定位完成', + }); + this.handleLocationAccuracyNotice(location); console.log('小程序获取位置成功:', this.userLocation); resolve(location); }, fail: (err) => { console.error('小程序获取位置失败:', err); + this.updateGeofenceDebug({ + locationSource: '微信小程序 gcj02', + location: null, + result: null, + message: '小程序定位失败', + stage: '定位失败', + }); uni.showModal({ title: '提示', content: '获取位置失败,请在设置中允许位置权限', @@ -443,6 +530,11 @@ export default { if (!token || !direction) { return null; } + this.updateGeofenceDebug({ + direction, + stage: '请求围栏', + location: location || null, + }); try { const res = await new Promise((resolve, reject) => { uni.request({ @@ -455,6 +547,13 @@ export default { if (res.data && res.data.errcode === 0) { const geofenceData = res.data.data; console.log(geofenceData); + this.updateGeofenceDebug({ + direction, + rawGeofences: geofenceData, + stage: '围栏已返回', + location: location || null, + message: `获取到 ${Array.isArray(geofenceData) ? geofenceData.length : 0} 个围栏`, + }); const result = this.checkLocationInGeofence(geofenceData, { showModal, location, @@ -476,6 +575,12 @@ export default { if (requestSeq === null || requestSeq === this.geofenceRequestSeq) { this.isInGeofence = null; } + this.updateGeofenceDebug({ + direction, + result: null, + stage: '围栏请求失败', + message: e && e.message ? e.message : '围栏请求失败', + }); return null; } return null; @@ -489,6 +594,13 @@ export default { // 检查用户位置是否存在 if (!location || !location.latitude || !location.longitude) { console.warn('用户位置信息不存在,无法进行范围判断'); + this.updateGeofenceDebug({ + location: location || null, + result: null, + stage: '无法计算', + message: '用户位置信息不存在,无法进行范围判断', + evaluations: [], + }); return null; } @@ -497,20 +609,54 @@ export default { // 如果数组为空,不做操作,允许提交 if (!geofenceData || !Array.isArray(geofenceData) || geofenceData.length === 0) { + this.updateGeofenceDebug({ + location, + rawGeofences: geofenceData, + result: true, + stage: '围栏计算完成', + message: '未配置围栏,默认放行', + evaluations: [], + }); return true; } + const evaluations = []; + // 遍历围栏数据,查找 coordinates 字段 for (let i = 0; i < geofenceData.length; i++) { const item = geofenceData[i]; if (item && item.coordinates && Array.isArray(item.coordinates) && item.coordinates.length > 0) { - // 判断用户位置是否在当前围栏范围内 - if (this.isPointInPolygon(userLng, userLat, item.coordinates)) { + const evaluation = this.evaluatePointAgainstPolygon(userLng, userLat, item.coordinates); + evaluations.push({ + geofenceId: item.id || null, + geofenceName: item.name || '', + pointCount: item.coordinates.length, + ...evaluation + }); + + if (evaluation.inside) { console.log('用户位置在围栏范围内'); + this.updateGeofenceDebug({ + location, + rawGeofences: geofenceData, + result: true, + stage: '围栏计算完成', + message: `命中围栏 ${item.name || item.id || i + 1}`, + evaluations, + }); return true; } } } + + this.updateGeofenceDebug({ + location, + rawGeofences: geofenceData, + result: false, + stage: '围栏计算完成', + message: '未命中任何围栏', + evaluations, + }); // 只有在选择方向时(showModal为true)才显示提示,提交时(showModal为false)不显示,由onReserve统一处理 if (showModal) { @@ -524,11 +670,22 @@ export default { }, // 判断点是否在多边形内(使用射线法) isPointInPolygon(lng, lat, coordinates) { + return this.evaluatePointAgainstPolygon(lng, lat, coordinates).inside; + }, + evaluatePointAgainstPolygon(lng, lat, coordinates) { + const toleranceMeters = this.$options.geofenceToleranceMeters || 20; if (!coordinates || coordinates.length < 3) { - return false; + return { + inside: false, + toleranceMeters, + polygonPointCount: 0, + onBoundary: false, + withinTolerance: false, + rayCastingInside: false, + minDistanceMeters: null, + }; } - - // 将字符串坐标转换为数字 + const polygon = coordinates.map(coord => { if (Array.isArray(coord) && coord.length >= 2) { return [ @@ -538,42 +695,71 @@ export default { } return null; }).filter(coord => coord !== null); - + if (polygon.length < 3) { - return false; + return { + inside: false, + toleranceMeters, + polygonPointCount: polygon.length, + onBoundary: false, + withinTolerance: false, + rayCastingInside: false, + minDistanceMeters: null, + }; } - if (this.isPointOnPolygonBoundary(lng, lat, polygon)) { - return true; - } - + const boundaryInfo = this.inspectPolygonBoundary(lng, lat, polygon, toleranceMeters); + const rayCastingInside = this.isPointInsidePolygonByRayCasting(lng, lat, polygon); + + return { + inside: boundaryInfo.onBoundary || boundaryInfo.withinTolerance || rayCastingInside, + toleranceMeters, + polygonPointCount: polygon.length, + onBoundary: boundaryInfo.onBoundary, + withinTolerance: boundaryInfo.withinTolerance, + nearestSegmentIndex: boundaryInfo.nearestSegmentIndex, + minDistanceMeters: boundaryInfo.minDistanceMeters, + rayCastingInside, + }; + }, + isPointInsidePolygonByRayCasting(lng, lat, polygon) { let inside = false; const x = lng; const y = lat; - - // 射线法:从点向右发射一条射线,统计与多边形边界的交点数 + for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) { const xi = polygon[i][0]; const yi = polygon[i][1]; const xj = polygon[j][0]; const yj = polygon[j][1]; - - // 检查射线是否与边相交 - const intersect = ((yi > y) !== (yj > y)) && + + const intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); - + if (intersect) { inside = !inside; } } - + return inside; }, isPointOnPolygonBoundary(lng, lat, polygon, toleranceMeters = this.$options.geofenceToleranceMeters || 20) { + const boundaryInfo = this.inspectPolygonBoundary(lng, lat, polygon, toleranceMeters); + return boundaryInfo.onBoundary || boundaryInfo.withinTolerance; + }, + inspectPolygonBoundary(lng, lat, polygon, toleranceMeters = this.$options.geofenceToleranceMeters || 20) { if (!polygon || polygon.length < 2) { - return false; + return { + onBoundary: false, + withinTolerance: false, + minDistanceMeters: null, + nearestSegmentIndex: null, + }; } + let minDistanceMeters = null; + let nearestSegmentIndex = null; + for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) { const start = polygon[j]; const end = polygon[i]; @@ -583,15 +769,27 @@ export default { } if (this.isPointOnSegment(lng, lat, start[0], start[1], end[0], end[1])) { - return true; + return { + onBoundary: true, + withinTolerance: true, + minDistanceMeters: 0, + nearestSegmentIndex: i, + }; } - if (this.getDistanceToSegmentMeters(lng, lat, start[0], start[1], end[0], end[1]) <= toleranceMeters) { - return true; + const distanceMeters = this.getDistanceToSegmentMeters(lng, lat, start[0], start[1], end[0], end[1]); + if (minDistanceMeters === null || distanceMeters < minDistanceMeters) { + minDistanceMeters = distanceMeters; + nearestSegmentIndex = i; } } - return false; + return { + onBoundary: false, + withinTolerance: minDistanceMeters !== null && minDistanceMeters <= toleranceMeters, + minDistanceMeters: minDistanceMeters !== null ? Number(minDistanceMeters.toFixed(3)) : null, + nearestSegmentIndex, + }; }, isPointOnSegment(px, py, x1, y1, x2, y2, epsilon = 1e-10) { const cross = (px - x1) * (y2 - y1) - (py - y1) * (x2 - x1); @@ -634,6 +832,23 @@ export default { return Math.hypot(pxMeters - closestX, pyMeters - closestY); }, + updateGeofenceDebug(payload = {}) { + this.geofenceDebug = { + ...this.geofenceDebug, + ...payload, + updatedAt: new Date().toLocaleString(), + }; + }, + formatDebug(value) { + if (value === null || typeof value === 'undefined') { + return 'null'; + } + try { + return JSON.stringify(value, null, 2); + } catch (error) { + return String(value); + } + }, async fetchDailyReservationDeadline() { const token = uni.getStorageSync('token'); if (!token) return; @@ -1099,6 +1314,21 @@ export default { font-size: 24rpx; font-weight: 600; } +.location-refresh-btn { + margin-top: 20rpx; + height: 76rpx; + line-height: 76rpx; + border-radius: 999rpx; + background: #fff7ed; + color: #c2410c; + border: 1rpx solid #fff7ed; + font-size: 26rpx; +} +.location-refresh-btn--standalone { + display: block; + width: calc(100% - 64rpx); + margin: 20rpx 32rpx 0; +} .water-info-row { display: flex; justify-content: center; diff --git a/unpackage/dist/build/web/index.html b/unpackage/dist/build/web/index.html index 76a9040..395a3b4 100644 --- a/unpackage/dist/build/web/index.html +++ b/unpackage/dist/build/web/index.html @@ -1,2 +1,2 @@ 胥口闸站购票
\ No newline at end of file + document.write('')
\ No newline at end of file diff --git a/unpackage/dist/build/web/static/js/index.0b6926c6.js b/unpackage/dist/build/web/static/js/index.b1d5013e.js similarity index 99% rename from unpackage/dist/build/web/static/js/index.0b6926c6.js rename to unpackage/dist/build/web/static/js/index.b1d5013e.js index a6be041..546c057 100644 --- a/unpackage/dist/build/web/static/js/index.0b6926c6.js +++ b/unpackage/dist/build/web/static/js/index.b1d5013e.js @@ -1 +1 @@ -(function(t){function n(n){for(var a,e,p=n[0],d=n[1],u=n[2],g=0,s=[];g=0},range:function(t,n){return t>=n[0]&&t<=n[1]},rangeLength:function(t,n){return t.length>=n[0]&&t.length<=n[1]},empty:o,isEmpty:o,jsonString:function(t){if("string"==typeof t)try{var n=JSON.parse(t);return!("object"!=(0,r.default)(n)||!n)}catch(i){return!1}return!1},landline:function(t){return/^\d{3,4}-\d{7,8}(-\d{3,4})?$/.test(t)},object:function(t){return"[object Object]"===Object.prototype.toString.call(t)},array:function(t){return"function"===typeof Array.isArray?Array.isArray(t):"[object Array]"===Object.prototype.toString.call(t)},code:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:6;return new RegExp("^\\d{".concat(n,"}$")).test(t)}};n.default=e},"0154":function(t,n,i){"use strict";i("6a54"),Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;n.default={toast:10090,noNetwork:10080,popup:10075,mask:10070,navbar:980,topTips:975,sticky:970,indexListSticky:965}},"033e":function(t,n,i){"use strict";i("6a54"),Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0,i("4100");var a=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return t.sort((function(){return Math.random()-.5}))};n.default=a},"068c":function(t,n,i){var a=i("c86c");n=a(!1),n.push([t.i,'@charset "UTF-8";\n/* 颜色变量 */\n/* 行为相关颜色 */\n/* 文字基本颜色 */\n/* 背景颜色 */\n/* 边框颜色 */\n/* 尺寸变量 */\n/* 文字尺寸 */\n/* 图片尺寸 */\n/* Border Radius */\n/* 水平间距 */\n/* 垂直间距 */\n/* 透明度 */\n/* 文章场景相关 */\n/* uni.scss */\n/*每个页面公共css */.u-relative,\n.u-rela{position:relative}.u-absolute,\n.u-abso{position:absolute}\nuni-image{display:inline-block}uni-view,\nuni-text{box-sizing:border-box}\n.u-font-xs{font-size:%?22?%}.u-font-sm{font-size:%?26?%}.u-font-md{font-size:%?28?%}.u-font-lg{font-size:%?30?%}.u-font-xl{font-size:%?34?%}.u-flex{\ndisplay:flex;\nflex-direction:row;align-items:center}.u-flex-wrap{flex-wrap:wrap}.u-flex-nowrap{flex-wrap:nowrap}.u-col-center{align-items:center}.u-col-top{align-items:flex-start}.u-col-bottom{align-items:flex-end}.u-row-center{justify-content:center}.u-row-left{justify-content:flex-start}.u-row-right{justify-content:flex-end}.u-row-between{justify-content:space-between}.u-row-around{justify-content:space-around}.u-text-left{text-align:left}.u-text-center{text-align:center}.u-text-right{text-align:right}.u-flex-col{\ndisplay:flex;\nflex-direction:column}.u-flex-0{flex:0}.u-flex-1{flex:1}.u-flex-2{flex:2}.u-flex-3{flex:3}.u-flex-4{flex:4}.u-flex-5{flex:5}.u-flex-6{flex:6}.u-flex-7{flex:7}.u-flex-8{flex:8}.u-flex-9{flex:9}.u-flex-10{flex:10}.u-flex-11{flex:11}.u-flex-12{flex:12}.u-font-9{font-size:9px}.u-font-10{font-size:10px}.u-font-11{font-size:11px}.u-font-12{font-size:12px}.u-font-13{font-size:13px}.u-font-14{font-size:14px}.u-font-15{font-size:15px}.u-font-16{font-size:16px}.u-font-17{font-size:17px}.u-font-18{font-size:18px}.u-font-19{font-size:19px}.u-font-20{font-size:%?20?%}.u-font-21{font-size:%?21?%}.u-font-22{font-size:%?22?%}.u-font-23{font-size:%?23?%}.u-font-24{font-size:%?24?%}.u-font-25{font-size:%?25?%}.u-font-26{font-size:%?26?%}.u-font-27{font-size:%?27?%}.u-font-28{font-size:%?28?%}.u-font-29{font-size:%?29?%}.u-font-30{font-size:%?30?%}.u-font-31{font-size:%?31?%}.u-font-32{font-size:%?32?%}.u-font-33{font-size:%?33?%}.u-font-34{font-size:%?34?%}.u-font-35{font-size:%?35?%}.u-font-36{font-size:%?36?%}.u-font-37{font-size:%?37?%}.u-font-38{font-size:%?38?%}.u-font-39{font-size:%?39?%}.u-font-40{font-size:%?40?%}.u-margin-0, .u-m-0{margin:%?0?%!important}.u-padding-0, .u-p-0{padding:%?0?%!important}.u-m-l-0{margin-left:%?0?%!important}.u-p-l-0{padding-left:%?0?%!important}.u-margin-left-0{margin-left:%?0?%!important}.u-padding-left-0{padding-left:%?0?%!important}.u-m-t-0{margin-top:%?0?%!important}.u-p-t-0{padding-top:%?0?%!important}.u-margin-top-0{margin-top:%?0?%!important}.u-padding-top-0{padding-top:%?0?%!important}.u-m-r-0{margin-right:%?0?%!important}.u-p-r-0{padding-right:%?0?%!important}.u-margin-right-0{margin-right:%?0?%!important}.u-padding-right-0{padding-right:%?0?%!important}.u-m-b-0{margin-bottom:%?0?%!important}.u-p-b-0{padding-bottom:%?0?%!important}.u-margin-bottom-0{margin-bottom:%?0?%!important}.u-padding-bottom-0{padding-bottom:%?0?%!important}.u-margin-2, .u-m-2{margin:%?2?%!important}.u-padding-2, .u-p-2{padding:%?2?%!important}.u-m-l-2{margin-left:%?2?%!important}.u-p-l-2{padding-left:%?2?%!important}.u-margin-left-2{margin-left:%?2?%!important}.u-padding-left-2{padding-left:%?2?%!important}.u-m-t-2{margin-top:%?2?%!important}.u-p-t-2{padding-top:%?2?%!important}.u-margin-top-2{margin-top:%?2?%!important}.u-padding-top-2{padding-top:%?2?%!important}.u-m-r-2{margin-right:%?2?%!important}.u-p-r-2{padding-right:%?2?%!important}.u-margin-right-2{margin-right:%?2?%!important}.u-padding-right-2{padding-right:%?2?%!important}.u-m-b-2{margin-bottom:%?2?%!important}.u-p-b-2{padding-bottom:%?2?%!important}.u-margin-bottom-2{margin-bottom:%?2?%!important}.u-padding-bottom-2{padding-bottom:%?2?%!important}.u-margin-4, .u-m-4{margin:%?4?%!important}.u-padding-4, .u-p-4{padding:%?4?%!important}.u-m-l-4{margin-left:%?4?%!important}.u-p-l-4{padding-left:%?4?%!important}.u-margin-left-4{margin-left:%?4?%!important}.u-padding-left-4{padding-left:%?4?%!important}.u-m-t-4{margin-top:%?4?%!important}.u-p-t-4{padding-top:%?4?%!important}.u-margin-top-4{margin-top:%?4?%!important}.u-padding-top-4{padding-top:%?4?%!important}.u-m-r-4{margin-right:%?4?%!important}.u-p-r-4{padding-right:%?4?%!important}.u-margin-right-4{margin-right:%?4?%!important}.u-padding-right-4{padding-right:%?4?%!important}.u-m-b-4{margin-bottom:%?4?%!important}.u-p-b-4{padding-bottom:%?4?%!important}.u-margin-bottom-4{margin-bottom:%?4?%!important}.u-padding-bottom-4{padding-bottom:%?4?%!important}.u-margin-5, .u-m-5{margin:%?5?%!important}.u-padding-5, .u-p-5{padding:%?5?%!important}.u-m-l-5{margin-left:%?5?%!important}.u-p-l-5{padding-left:%?5?%!important}.u-margin-left-5{margin-left:%?5?%!important}.u-padding-left-5{padding-left:%?5?%!important}.u-m-t-5{margin-top:%?5?%!important}.u-p-t-5{padding-top:%?5?%!important}.u-margin-top-5{margin-top:%?5?%!important}.u-padding-top-5{padding-top:%?5?%!important}.u-m-r-5{margin-right:%?5?%!important}.u-p-r-5{padding-right:%?5?%!important}.u-margin-right-5{margin-right:%?5?%!important}.u-padding-right-5{padding-right:%?5?%!important}.u-m-b-5{margin-bottom:%?5?%!important}.u-p-b-5{padding-bottom:%?5?%!important}.u-margin-bottom-5{margin-bottom:%?5?%!important}.u-padding-bottom-5{padding-bottom:%?5?%!important}.u-margin-6, .u-m-6{margin:%?6?%!important}.u-padding-6, .u-p-6{padding:%?6?%!important}.u-m-l-6{margin-left:%?6?%!important}.u-p-l-6{padding-left:%?6?%!important}.u-margin-left-6{margin-left:%?6?%!important}.u-padding-left-6{padding-left:%?6?%!important}.u-m-t-6{margin-top:%?6?%!important}.u-p-t-6{padding-top:%?6?%!important}.u-margin-top-6{margin-top:%?6?%!important}.u-padding-top-6{padding-top:%?6?%!important}.u-m-r-6{margin-right:%?6?%!important}.u-p-r-6{padding-right:%?6?%!important}.u-margin-right-6{margin-right:%?6?%!important}.u-padding-right-6{padding-right:%?6?%!important}.u-m-b-6{margin-bottom:%?6?%!important}.u-p-b-6{padding-bottom:%?6?%!important}.u-margin-bottom-6{margin-bottom:%?6?%!important}.u-padding-bottom-6{padding-bottom:%?6?%!important}.u-margin-8, .u-m-8{margin:%?8?%!important}.u-padding-8, .u-p-8{padding:%?8?%!important}.u-m-l-8{margin-left:%?8?%!important}.u-p-l-8{padding-left:%?8?%!important}.u-margin-left-8{margin-left:%?8?%!important}.u-padding-left-8{padding-left:%?8?%!important}.u-m-t-8{margin-top:%?8?%!important}.u-p-t-8{padding-top:%?8?%!important}.u-margin-top-8{margin-top:%?8?%!important}.u-padding-top-8{padding-top:%?8?%!important}.u-m-r-8{margin-right:%?8?%!important}.u-p-r-8{padding-right:%?8?%!important}.u-margin-right-8{margin-right:%?8?%!important}.u-padding-right-8{padding-right:%?8?%!important}.u-m-b-8{margin-bottom:%?8?%!important}.u-p-b-8{padding-bottom:%?8?%!important}.u-margin-bottom-8{margin-bottom:%?8?%!important}.u-padding-bottom-8{padding-bottom:%?8?%!important}.u-margin-10, .u-m-10{margin:%?10?%!important}.u-padding-10, .u-p-10{padding:%?10?%!important}.u-m-l-10{margin-left:%?10?%!important}.u-p-l-10{padding-left:%?10?%!important}.u-margin-left-10{margin-left:%?10?%!important}.u-padding-left-10{padding-left:%?10?%!important}.u-m-t-10{margin-top:%?10?%!important}.u-p-t-10{padding-top:%?10?%!important}.u-margin-top-10{margin-top:%?10?%!important}.u-padding-top-10{padding-top:%?10?%!important}.u-m-r-10{margin-right:%?10?%!important}.u-p-r-10{padding-right:%?10?%!important}.u-margin-right-10{margin-right:%?10?%!important}.u-padding-right-10{padding-right:%?10?%!important}.u-m-b-10{margin-bottom:%?10?%!important}.u-p-b-10{padding-bottom:%?10?%!important}.u-margin-bottom-10{margin-bottom:%?10?%!important}.u-padding-bottom-10{padding-bottom:%?10?%!important}.u-margin-12, .u-m-12{margin:%?12?%!important}.u-padding-12, .u-p-12{padding:%?12?%!important}.u-m-l-12{margin-left:%?12?%!important}.u-p-l-12{padding-left:%?12?%!important}.u-margin-left-12{margin-left:%?12?%!important}.u-padding-left-12{padding-left:%?12?%!important}.u-m-t-12{margin-top:%?12?%!important}.u-p-t-12{padding-top:%?12?%!important}.u-margin-top-12{margin-top:%?12?%!important}.u-padding-top-12{padding-top:%?12?%!important}.u-m-r-12{margin-right:%?12?%!important}.u-p-r-12{padding-right:%?12?%!important}.u-margin-right-12{margin-right:%?12?%!important}.u-padding-right-12{padding-right:%?12?%!important}.u-m-b-12{margin-bottom:%?12?%!important}.u-p-b-12{padding-bottom:%?12?%!important}.u-margin-bottom-12{margin-bottom:%?12?%!important}.u-padding-bottom-12{padding-bottom:%?12?%!important}.u-margin-14, .u-m-14{margin:%?14?%!important}.u-padding-14, .u-p-14{padding:%?14?%!important}.u-m-l-14{margin-left:%?14?%!important}.u-p-l-14{padding-left:%?14?%!important}.u-margin-left-14{margin-left:%?14?%!important}.u-padding-left-14{padding-left:%?14?%!important}.u-m-t-14{margin-top:%?14?%!important}.u-p-t-14{padding-top:%?14?%!important}.u-margin-top-14{margin-top:%?14?%!important}.u-padding-top-14{padding-top:%?14?%!important}.u-m-r-14{margin-right:%?14?%!important}.u-p-r-14{padding-right:%?14?%!important}.u-margin-right-14{margin-right:%?14?%!important}.u-padding-right-14{padding-right:%?14?%!important}.u-m-b-14{margin-bottom:%?14?%!important}.u-p-b-14{padding-bottom:%?14?%!important}.u-margin-bottom-14{margin-bottom:%?14?%!important}.u-padding-bottom-14{padding-bottom:%?14?%!important}.u-margin-15, .u-m-15{margin:%?15?%!important}.u-padding-15, .u-p-15{padding:%?15?%!important}.u-m-l-15{margin-left:%?15?%!important}.u-p-l-15{padding-left:%?15?%!important}.u-margin-left-15{margin-left:%?15?%!important}.u-padding-left-15{padding-left:%?15?%!important}.u-m-t-15{margin-top:%?15?%!important}.u-p-t-15{padding-top:%?15?%!important}.u-margin-top-15{margin-top:%?15?%!important}.u-padding-top-15{padding-top:%?15?%!important}.u-m-r-15{margin-right:%?15?%!important}.u-p-r-15{padding-right:%?15?%!important}.u-margin-right-15{margin-right:%?15?%!important}.u-padding-right-15{padding-right:%?15?%!important}.u-m-b-15{margin-bottom:%?15?%!important}.u-p-b-15{padding-bottom:%?15?%!important}.u-margin-bottom-15{margin-bottom:%?15?%!important}.u-padding-bottom-15{padding-bottom:%?15?%!important}.u-margin-16, .u-m-16{margin:%?16?%!important}.u-padding-16, .u-p-16{padding:%?16?%!important}.u-m-l-16{margin-left:%?16?%!important}.u-p-l-16{padding-left:%?16?%!important}.u-margin-left-16{margin-left:%?16?%!important}.u-padding-left-16{padding-left:%?16?%!important}.u-m-t-16{margin-top:%?16?%!important}.u-p-t-16{padding-top:%?16?%!important}.u-margin-top-16{margin-top:%?16?%!important}.u-padding-top-16{padding-top:%?16?%!important}.u-m-r-16{margin-right:%?16?%!important}.u-p-r-16{padding-right:%?16?%!important}.u-margin-right-16{margin-right:%?16?%!important}.u-padding-right-16{padding-right:%?16?%!important}.u-m-b-16{margin-bottom:%?16?%!important}.u-p-b-16{padding-bottom:%?16?%!important}.u-margin-bottom-16{margin-bottom:%?16?%!important}.u-padding-bottom-16{padding-bottom:%?16?%!important}.u-margin-18, .u-m-18{margin:%?18?%!important}.u-padding-18, .u-p-18{padding:%?18?%!important}.u-m-l-18{margin-left:%?18?%!important}.u-p-l-18{padding-left:%?18?%!important}.u-margin-left-18{margin-left:%?18?%!important}.u-padding-left-18{padding-left:%?18?%!important}.u-m-t-18{margin-top:%?18?%!important}.u-p-t-18{padding-top:%?18?%!important}.u-margin-top-18{margin-top:%?18?%!important}.u-padding-top-18{padding-top:%?18?%!important}.u-m-r-18{margin-right:%?18?%!important}.u-p-r-18{padding-right:%?18?%!important}.u-margin-right-18{margin-right:%?18?%!important}.u-padding-right-18{padding-right:%?18?%!important}.u-m-b-18{margin-bottom:%?18?%!important}.u-p-b-18{padding-bottom:%?18?%!important}.u-margin-bottom-18{margin-bottom:%?18?%!important}.u-padding-bottom-18{padding-bottom:%?18?%!important}.u-margin-20, .u-m-20{margin:%?20?%!important}.u-padding-20, .u-p-20{padding:%?20?%!important}.u-m-l-20{margin-left:%?20?%!important}.u-p-l-20{padding-left:%?20?%!important}.u-margin-left-20{margin-left:%?20?%!important}.u-padding-left-20{padding-left:%?20?%!important}.u-m-t-20{margin-top:%?20?%!important}.u-p-t-20{padding-top:%?20?%!important}.u-margin-top-20{margin-top:%?20?%!important}.u-padding-top-20{padding-top:%?20?%!important}.u-m-r-20{margin-right:%?20?%!important}.u-p-r-20{padding-right:%?20?%!important}.u-margin-right-20{margin-right:%?20?%!important}.u-padding-right-20{padding-right:%?20?%!important}.u-m-b-20{margin-bottom:%?20?%!important}.u-p-b-20{padding-bottom:%?20?%!important}.u-margin-bottom-20{margin-bottom:%?20?%!important}.u-padding-bottom-20{padding-bottom:%?20?%!important}.u-margin-22, .u-m-22{margin:%?22?%!important}.u-padding-22, .u-p-22{padding:%?22?%!important}.u-m-l-22{margin-left:%?22?%!important}.u-p-l-22{padding-left:%?22?%!important}.u-margin-left-22{margin-left:%?22?%!important}.u-padding-left-22{padding-left:%?22?%!important}.u-m-t-22{margin-top:%?22?%!important}.u-p-t-22{padding-top:%?22?%!important}.u-margin-top-22{margin-top:%?22?%!important}.u-padding-top-22{padding-top:%?22?%!important}.u-m-r-22{margin-right:%?22?%!important}.u-p-r-22{padding-right:%?22?%!important}.u-margin-right-22{margin-right:%?22?%!important}.u-padding-right-22{padding-right:%?22?%!important}.u-m-b-22{margin-bottom:%?22?%!important}.u-p-b-22{padding-bottom:%?22?%!important}.u-margin-bottom-22{margin-bottom:%?22?%!important}.u-padding-bottom-22{padding-bottom:%?22?%!important}.u-margin-24, .u-m-24{margin:%?24?%!important}.u-padding-24, .u-p-24{padding:%?24?%!important}.u-m-l-24{margin-left:%?24?%!important}.u-p-l-24{padding-left:%?24?%!important}.u-margin-left-24{margin-left:%?24?%!important}.u-padding-left-24{padding-left:%?24?%!important}.u-m-t-24{margin-top:%?24?%!important}.u-p-t-24{padding-top:%?24?%!important}.u-margin-top-24{margin-top:%?24?%!important}.u-padding-top-24{padding-top:%?24?%!important}.u-m-r-24{margin-right:%?24?%!important}.u-p-r-24{padding-right:%?24?%!important}.u-margin-right-24{margin-right:%?24?%!important}.u-padding-right-24{padding-right:%?24?%!important}.u-m-b-24{margin-bottom:%?24?%!important}.u-p-b-24{padding-bottom:%?24?%!important}.u-margin-bottom-24{margin-bottom:%?24?%!important}.u-padding-bottom-24{padding-bottom:%?24?%!important}.u-margin-25, .u-m-25{margin:%?25?%!important}.u-padding-25, .u-p-25{padding:%?25?%!important}.u-m-l-25{margin-left:%?25?%!important}.u-p-l-25{padding-left:%?25?%!important}.u-margin-left-25{margin-left:%?25?%!important}.u-padding-left-25{padding-left:%?25?%!important}.u-m-t-25{margin-top:%?25?%!important}.u-p-t-25{padding-top:%?25?%!important}.u-margin-top-25{margin-top:%?25?%!important}.u-padding-top-25{padding-top:%?25?%!important}.u-m-r-25{margin-right:%?25?%!important}.u-p-r-25{padding-right:%?25?%!important}.u-margin-right-25{margin-right:%?25?%!important}.u-padding-right-25{padding-right:%?25?%!important}.u-m-b-25{margin-bottom:%?25?%!important}.u-p-b-25{padding-bottom:%?25?%!important}.u-margin-bottom-25{margin-bottom:%?25?%!important}.u-padding-bottom-25{padding-bottom:%?25?%!important}.u-margin-26, .u-m-26{margin:%?26?%!important}.u-padding-26, .u-p-26{padding:%?26?%!important}.u-m-l-26{margin-left:%?26?%!important}.u-p-l-26{padding-left:%?26?%!important}.u-margin-left-26{margin-left:%?26?%!important}.u-padding-left-26{padding-left:%?26?%!important}.u-m-t-26{margin-top:%?26?%!important}.u-p-t-26{padding-top:%?26?%!important}.u-margin-top-26{margin-top:%?26?%!important}.u-padding-top-26{padding-top:%?26?%!important}.u-m-r-26{margin-right:%?26?%!important}.u-p-r-26{padding-right:%?26?%!important}.u-margin-right-26{margin-right:%?26?%!important}.u-padding-right-26{padding-right:%?26?%!important}.u-m-b-26{margin-bottom:%?26?%!important}.u-p-b-26{padding-bottom:%?26?%!important}.u-margin-bottom-26{margin-bottom:%?26?%!important}.u-padding-bottom-26{padding-bottom:%?26?%!important}.u-margin-28, .u-m-28{margin:%?28?%!important}.u-padding-28, .u-p-28{padding:%?28?%!important}.u-m-l-28{margin-left:%?28?%!important}.u-p-l-28{padding-left:%?28?%!important}.u-margin-left-28{margin-left:%?28?%!important}.u-padding-left-28{padding-left:%?28?%!important}.u-m-t-28{margin-top:%?28?%!important}.u-p-t-28{padding-top:%?28?%!important}.u-margin-top-28{margin-top:%?28?%!important}.u-padding-top-28{padding-top:%?28?%!important}.u-m-r-28{margin-right:%?28?%!important}.u-p-r-28{padding-right:%?28?%!important}.u-margin-right-28{margin-right:%?28?%!important}.u-padding-right-28{padding-right:%?28?%!important}.u-m-b-28{margin-bottom:%?28?%!important}.u-p-b-28{padding-bottom:%?28?%!important}.u-margin-bottom-28{margin-bottom:%?28?%!important}.u-padding-bottom-28{padding-bottom:%?28?%!important}.u-margin-30, .u-m-30{margin:%?30?%!important}.u-padding-30, .u-p-30{padding:%?30?%!important}.u-m-l-30{margin-left:%?30?%!important}.u-p-l-30{padding-left:%?30?%!important}.u-margin-left-30{margin-left:%?30?%!important}.u-padding-left-30{padding-left:%?30?%!important}.u-m-t-30{margin-top:%?30?%!important}.u-p-t-30{padding-top:%?30?%!important}.u-margin-top-30{margin-top:%?30?%!important}.u-padding-top-30{padding-top:%?30?%!important}.u-m-r-30{margin-right:%?30?%!important}.u-p-r-30{padding-right:%?30?%!important}.u-margin-right-30{margin-right:%?30?%!important}.u-padding-right-30{padding-right:%?30?%!important}.u-m-b-30{margin-bottom:%?30?%!important}.u-p-b-30{padding-bottom:%?30?%!important}.u-margin-bottom-30{margin-bottom:%?30?%!important}.u-padding-bottom-30{padding-bottom:%?30?%!important}.u-margin-32, .u-m-32{margin:%?32?%!important}.u-padding-32, .u-p-32{padding:%?32?%!important}.u-m-l-32{margin-left:%?32?%!important}.u-p-l-32{padding-left:%?32?%!important}.u-margin-left-32{margin-left:%?32?%!important}.u-padding-left-32{padding-left:%?32?%!important}.u-m-t-32{margin-top:%?32?%!important}.u-p-t-32{padding-top:%?32?%!important}.u-margin-top-32{margin-top:%?32?%!important}.u-padding-top-32{padding-top:%?32?%!important}.u-m-r-32{margin-right:%?32?%!important}.u-p-r-32{padding-right:%?32?%!important}.u-margin-right-32{margin-right:%?32?%!important}.u-padding-right-32{padding-right:%?32?%!important}.u-m-b-32{margin-bottom:%?32?%!important}.u-p-b-32{padding-bottom:%?32?%!important}.u-margin-bottom-32{margin-bottom:%?32?%!important}.u-padding-bottom-32{padding-bottom:%?32?%!important}.u-margin-34, .u-m-34{margin:%?34?%!important}.u-padding-34, .u-p-34{padding:%?34?%!important}.u-m-l-34{margin-left:%?34?%!important}.u-p-l-34{padding-left:%?34?%!important}.u-margin-left-34{margin-left:%?34?%!important}.u-padding-left-34{padding-left:%?34?%!important}.u-m-t-34{margin-top:%?34?%!important}.u-p-t-34{padding-top:%?34?%!important}.u-margin-top-34{margin-top:%?34?%!important}.u-padding-top-34{padding-top:%?34?%!important}.u-m-r-34{margin-right:%?34?%!important}.u-p-r-34{padding-right:%?34?%!important}.u-margin-right-34{margin-right:%?34?%!important}.u-padding-right-34{padding-right:%?34?%!important}.u-m-b-34{margin-bottom:%?34?%!important}.u-p-b-34{padding-bottom:%?34?%!important}.u-margin-bottom-34{margin-bottom:%?34?%!important}.u-padding-bottom-34{padding-bottom:%?34?%!important}.u-margin-35, .u-m-35{margin:%?35?%!important}.u-padding-35, .u-p-35{padding:%?35?%!important}.u-m-l-35{margin-left:%?35?%!important}.u-p-l-35{padding-left:%?35?%!important}.u-margin-left-35{margin-left:%?35?%!important}.u-padding-left-35{padding-left:%?35?%!important}.u-m-t-35{margin-top:%?35?%!important}.u-p-t-35{padding-top:%?35?%!important}.u-margin-top-35{margin-top:%?35?%!important}.u-padding-top-35{padding-top:%?35?%!important}.u-m-r-35{margin-right:%?35?%!important}.u-p-r-35{padding-right:%?35?%!important}.u-margin-right-35{margin-right:%?35?%!important}.u-padding-right-35{padding-right:%?35?%!important}.u-m-b-35{margin-bottom:%?35?%!important}.u-p-b-35{padding-bottom:%?35?%!important}.u-margin-bottom-35{margin-bottom:%?35?%!important}.u-padding-bottom-35{padding-bottom:%?35?%!important}.u-margin-36, .u-m-36{margin:%?36?%!important}.u-padding-36, .u-p-36{padding:%?36?%!important}.u-m-l-36{margin-left:%?36?%!important}.u-p-l-36{padding-left:%?36?%!important}.u-margin-left-36{margin-left:%?36?%!important}.u-padding-left-36{padding-left:%?36?%!important}.u-m-t-36{margin-top:%?36?%!important}.u-p-t-36{padding-top:%?36?%!important}.u-margin-top-36{margin-top:%?36?%!important}.u-padding-top-36{padding-top:%?36?%!important}.u-m-r-36{margin-right:%?36?%!important}.u-p-r-36{padding-right:%?36?%!important}.u-margin-right-36{margin-right:%?36?%!important}.u-padding-right-36{padding-right:%?36?%!important}.u-m-b-36{margin-bottom:%?36?%!important}.u-p-b-36{padding-bottom:%?36?%!important}.u-margin-bottom-36{margin-bottom:%?36?%!important}.u-padding-bottom-36{padding-bottom:%?36?%!important}.u-margin-38, .u-m-38{margin:%?38?%!important}.u-padding-38, .u-p-38{padding:%?38?%!important}.u-m-l-38{margin-left:%?38?%!important}.u-p-l-38{padding-left:%?38?%!important}.u-margin-left-38{margin-left:%?38?%!important}.u-padding-left-38{padding-left:%?38?%!important}.u-m-t-38{margin-top:%?38?%!important}.u-p-t-38{padding-top:%?38?%!important}.u-margin-top-38{margin-top:%?38?%!important}.u-padding-top-38{padding-top:%?38?%!important}.u-m-r-38{margin-right:%?38?%!important}.u-p-r-38{padding-right:%?38?%!important}.u-margin-right-38{margin-right:%?38?%!important}.u-padding-right-38{padding-right:%?38?%!important}.u-m-b-38{margin-bottom:%?38?%!important}.u-p-b-38{padding-bottom:%?38?%!important}.u-margin-bottom-38{margin-bottom:%?38?%!important}.u-padding-bottom-38{padding-bottom:%?38?%!important}.u-margin-40, .u-m-40{margin:%?40?%!important}.u-padding-40, .u-p-40{padding:%?40?%!important}.u-m-l-40{margin-left:%?40?%!important}.u-p-l-40{padding-left:%?40?%!important}.u-margin-left-40{margin-left:%?40?%!important}.u-padding-left-40{padding-left:%?40?%!important}.u-m-t-40{margin-top:%?40?%!important}.u-p-t-40{padding-top:%?40?%!important}.u-margin-top-40{margin-top:%?40?%!important}.u-padding-top-40{padding-top:%?40?%!important}.u-m-r-40{margin-right:%?40?%!important}.u-p-r-40{padding-right:%?40?%!important}.u-margin-right-40{margin-right:%?40?%!important}.u-padding-right-40{padding-right:%?40?%!important}.u-m-b-40{margin-bottom:%?40?%!important}.u-p-b-40{padding-bottom:%?40?%!important}.u-margin-bottom-40{margin-bottom:%?40?%!important}.u-padding-bottom-40{padding-bottom:%?40?%!important}.u-margin-42, .u-m-42{margin:%?42?%!important}.u-padding-42, .u-p-42{padding:%?42?%!important}.u-m-l-42{margin-left:%?42?%!important}.u-p-l-42{padding-left:%?42?%!important}.u-margin-left-42{margin-left:%?42?%!important}.u-padding-left-42{padding-left:%?42?%!important}.u-m-t-42{margin-top:%?42?%!important}.u-p-t-42{padding-top:%?42?%!important}.u-margin-top-42{margin-top:%?42?%!important}.u-padding-top-42{padding-top:%?42?%!important}.u-m-r-42{margin-right:%?42?%!important}.u-p-r-42{padding-right:%?42?%!important}.u-margin-right-42{margin-right:%?42?%!important}.u-padding-right-42{padding-right:%?42?%!important}.u-m-b-42{margin-bottom:%?42?%!important}.u-p-b-42{padding-bottom:%?42?%!important}.u-margin-bottom-42{margin-bottom:%?42?%!important}.u-padding-bottom-42{padding-bottom:%?42?%!important}.u-margin-44, .u-m-44{margin:%?44?%!important}.u-padding-44, .u-p-44{padding:%?44?%!important}.u-m-l-44{margin-left:%?44?%!important}.u-p-l-44{padding-left:%?44?%!important}.u-margin-left-44{margin-left:%?44?%!important}.u-padding-left-44{padding-left:%?44?%!important}.u-m-t-44{margin-top:%?44?%!important}.u-p-t-44{padding-top:%?44?%!important}.u-margin-top-44{margin-top:%?44?%!important}.u-padding-top-44{padding-top:%?44?%!important}.u-m-r-44{margin-right:%?44?%!important}.u-p-r-44{padding-right:%?44?%!important}.u-margin-right-44{margin-right:%?44?%!important}.u-padding-right-44{padding-right:%?44?%!important}.u-m-b-44{margin-bottom:%?44?%!important}.u-p-b-44{padding-bottom:%?44?%!important}.u-margin-bottom-44{margin-bottom:%?44?%!important}.u-padding-bottom-44{padding-bottom:%?44?%!important}.u-margin-45, .u-m-45{margin:%?45?%!important}.u-padding-45, .u-p-45{padding:%?45?%!important}.u-m-l-45{margin-left:%?45?%!important}.u-p-l-45{padding-left:%?45?%!important}.u-margin-left-45{margin-left:%?45?%!important}.u-padding-left-45{padding-left:%?45?%!important}.u-m-t-45{margin-top:%?45?%!important}.u-p-t-45{padding-top:%?45?%!important}.u-margin-top-45{margin-top:%?45?%!important}.u-padding-top-45{padding-top:%?45?%!important}.u-m-r-45{margin-right:%?45?%!important}.u-p-r-45{padding-right:%?45?%!important}.u-margin-right-45{margin-right:%?45?%!important}.u-padding-right-45{padding-right:%?45?%!important}.u-m-b-45{margin-bottom:%?45?%!important}.u-p-b-45{padding-bottom:%?45?%!important}.u-margin-bottom-45{margin-bottom:%?45?%!important}.u-padding-bottom-45{padding-bottom:%?45?%!important}.u-margin-46, .u-m-46{margin:%?46?%!important}.u-padding-46, .u-p-46{padding:%?46?%!important}.u-m-l-46{margin-left:%?46?%!important}.u-p-l-46{padding-left:%?46?%!important}.u-margin-left-46{margin-left:%?46?%!important}.u-padding-left-46{padding-left:%?46?%!important}.u-m-t-46{margin-top:%?46?%!important}.u-p-t-46{padding-top:%?46?%!important}.u-margin-top-46{margin-top:%?46?%!important}.u-padding-top-46{padding-top:%?46?%!important}.u-m-r-46{margin-right:%?46?%!important}.u-p-r-46{padding-right:%?46?%!important}.u-margin-right-46{margin-right:%?46?%!important}.u-padding-right-46{padding-right:%?46?%!important}.u-m-b-46{margin-bottom:%?46?%!important}.u-p-b-46{padding-bottom:%?46?%!important}.u-margin-bottom-46{margin-bottom:%?46?%!important}.u-padding-bottom-46{padding-bottom:%?46?%!important}.u-margin-48, .u-m-48{margin:%?48?%!important}.u-padding-48, .u-p-48{padding:%?48?%!important}.u-m-l-48{margin-left:%?48?%!important}.u-p-l-48{padding-left:%?48?%!important}.u-margin-left-48{margin-left:%?48?%!important}.u-padding-left-48{padding-left:%?48?%!important}.u-m-t-48{margin-top:%?48?%!important}.u-p-t-48{padding-top:%?48?%!important}.u-margin-top-48{margin-top:%?48?%!important}.u-padding-top-48{padding-top:%?48?%!important}.u-m-r-48{margin-right:%?48?%!important}.u-p-r-48{padding-right:%?48?%!important}.u-margin-right-48{margin-right:%?48?%!important}.u-padding-right-48{padding-right:%?48?%!important}.u-m-b-48{margin-bottom:%?48?%!important}.u-p-b-48{padding-bottom:%?48?%!important}.u-margin-bottom-48{margin-bottom:%?48?%!important}.u-padding-bottom-48{padding-bottom:%?48?%!important}.u-margin-50, .u-m-50{margin:%?50?%!important}.u-padding-50, .u-p-50{padding:%?50?%!important}.u-m-l-50{margin-left:%?50?%!important}.u-p-l-50{padding-left:%?50?%!important}.u-margin-left-50{margin-left:%?50?%!important}.u-padding-left-50{padding-left:%?50?%!important}.u-m-t-50{margin-top:%?50?%!important}.u-p-t-50{padding-top:%?50?%!important}.u-margin-top-50{margin-top:%?50?%!important}.u-padding-top-50{padding-top:%?50?%!important}.u-m-r-50{margin-right:%?50?%!important}.u-p-r-50{padding-right:%?50?%!important}.u-margin-right-50{margin-right:%?50?%!important}.u-padding-right-50{padding-right:%?50?%!important}.u-m-b-50{margin-bottom:%?50?%!important}.u-p-b-50{padding-bottom:%?50?%!important}.u-margin-bottom-50{margin-bottom:%?50?%!important}.u-padding-bottom-50{padding-bottom:%?50?%!important}.u-margin-52, .u-m-52{margin:%?52?%!important}.u-padding-52, .u-p-52{padding:%?52?%!important}.u-m-l-52{margin-left:%?52?%!important}.u-p-l-52{padding-left:%?52?%!important}.u-margin-left-52{margin-left:%?52?%!important}.u-padding-left-52{padding-left:%?52?%!important}.u-m-t-52{margin-top:%?52?%!important}.u-p-t-52{padding-top:%?52?%!important}.u-margin-top-52{margin-top:%?52?%!important}.u-padding-top-52{padding-top:%?52?%!important}.u-m-r-52{margin-right:%?52?%!important}.u-p-r-52{padding-right:%?52?%!important}.u-margin-right-52{margin-right:%?52?%!important}.u-padding-right-52{padding-right:%?52?%!important}.u-m-b-52{margin-bottom:%?52?%!important}.u-p-b-52{padding-bottom:%?52?%!important}.u-margin-bottom-52{margin-bottom:%?52?%!important}.u-padding-bottom-52{padding-bottom:%?52?%!important}.u-margin-54, .u-m-54{margin:%?54?%!important}.u-padding-54, .u-p-54{padding:%?54?%!important}.u-m-l-54{margin-left:%?54?%!important}.u-p-l-54{padding-left:%?54?%!important}.u-margin-left-54{margin-left:%?54?%!important}.u-padding-left-54{padding-left:%?54?%!important}.u-m-t-54{margin-top:%?54?%!important}.u-p-t-54{padding-top:%?54?%!important}.u-margin-top-54{margin-top:%?54?%!important}.u-padding-top-54{padding-top:%?54?%!important}.u-m-r-54{margin-right:%?54?%!important}.u-p-r-54{padding-right:%?54?%!important}.u-margin-right-54{margin-right:%?54?%!important}.u-padding-right-54{padding-right:%?54?%!important}.u-m-b-54{margin-bottom:%?54?%!important}.u-p-b-54{padding-bottom:%?54?%!important}.u-margin-bottom-54{margin-bottom:%?54?%!important}.u-padding-bottom-54{padding-bottom:%?54?%!important}.u-margin-55, .u-m-55{margin:%?55?%!important}.u-padding-55, .u-p-55{padding:%?55?%!important}.u-m-l-55{margin-left:%?55?%!important}.u-p-l-55{padding-left:%?55?%!important}.u-margin-left-55{margin-left:%?55?%!important}.u-padding-left-55{padding-left:%?55?%!important}.u-m-t-55{margin-top:%?55?%!important}.u-p-t-55{padding-top:%?55?%!important}.u-margin-top-55{margin-top:%?55?%!important}.u-padding-top-55{padding-top:%?55?%!important}.u-m-r-55{margin-right:%?55?%!important}.u-p-r-55{padding-right:%?55?%!important}.u-margin-right-55{margin-right:%?55?%!important}.u-padding-right-55{padding-right:%?55?%!important}.u-m-b-55{margin-bottom:%?55?%!important}.u-p-b-55{padding-bottom:%?55?%!important}.u-margin-bottom-55{margin-bottom:%?55?%!important}.u-padding-bottom-55{padding-bottom:%?55?%!important}.u-margin-56, .u-m-56{margin:%?56?%!important}.u-padding-56, .u-p-56{padding:%?56?%!important}.u-m-l-56{margin-left:%?56?%!important}.u-p-l-56{padding-left:%?56?%!important}.u-margin-left-56{margin-left:%?56?%!important}.u-padding-left-56{padding-left:%?56?%!important}.u-m-t-56{margin-top:%?56?%!important}.u-p-t-56{padding-top:%?56?%!important}.u-margin-top-56{margin-top:%?56?%!important}.u-padding-top-56{padding-top:%?56?%!important}.u-m-r-56{margin-right:%?56?%!important}.u-p-r-56{padding-right:%?56?%!important}.u-margin-right-56{margin-right:%?56?%!important}.u-padding-right-56{padding-right:%?56?%!important}.u-m-b-56{margin-bottom:%?56?%!important}.u-p-b-56{padding-bottom:%?56?%!important}.u-margin-bottom-56{margin-bottom:%?56?%!important}.u-padding-bottom-56{padding-bottom:%?56?%!important}.u-margin-58, .u-m-58{margin:%?58?%!important}.u-padding-58, .u-p-58{padding:%?58?%!important}.u-m-l-58{margin-left:%?58?%!important}.u-p-l-58{padding-left:%?58?%!important}.u-margin-left-58{margin-left:%?58?%!important}.u-padding-left-58{padding-left:%?58?%!important}.u-m-t-58{margin-top:%?58?%!important}.u-p-t-58{padding-top:%?58?%!important}.u-margin-top-58{margin-top:%?58?%!important}.u-padding-top-58{padding-top:%?58?%!important}.u-m-r-58{margin-right:%?58?%!important}.u-p-r-58{padding-right:%?58?%!important}.u-margin-right-58{margin-right:%?58?%!important}.u-padding-right-58{padding-right:%?58?%!important}.u-m-b-58{margin-bottom:%?58?%!important}.u-p-b-58{padding-bottom:%?58?%!important}.u-margin-bottom-58{margin-bottom:%?58?%!important}.u-padding-bottom-58{padding-bottom:%?58?%!important}.u-margin-60, .u-m-60{margin:%?60?%!important}.u-padding-60, .u-p-60{padding:%?60?%!important}.u-m-l-60{margin-left:%?60?%!important}.u-p-l-60{padding-left:%?60?%!important}.u-margin-left-60{margin-left:%?60?%!important}.u-padding-left-60{padding-left:%?60?%!important}.u-m-t-60{margin-top:%?60?%!important}.u-p-t-60{padding-top:%?60?%!important}.u-margin-top-60{margin-top:%?60?%!important}.u-padding-top-60{padding-top:%?60?%!important}.u-m-r-60{margin-right:%?60?%!important}.u-p-r-60{padding-right:%?60?%!important}.u-margin-right-60{margin-right:%?60?%!important}.u-padding-right-60{padding-right:%?60?%!important}.u-m-b-60{margin-bottom:%?60?%!important}.u-p-b-60{padding-bottom:%?60?%!important}.u-margin-bottom-60{margin-bottom:%?60?%!important}.u-padding-bottom-60{padding-bottom:%?60?%!important}.u-margin-62, .u-m-62{margin:%?62?%!important}.u-padding-62, .u-p-62{padding:%?62?%!important}.u-m-l-62{margin-left:%?62?%!important}.u-p-l-62{padding-left:%?62?%!important}.u-margin-left-62{margin-left:%?62?%!important}.u-padding-left-62{padding-left:%?62?%!important}.u-m-t-62{margin-top:%?62?%!important}.u-p-t-62{padding-top:%?62?%!important}.u-margin-top-62{margin-top:%?62?%!important}.u-padding-top-62{padding-top:%?62?%!important}.u-m-r-62{margin-right:%?62?%!important}.u-p-r-62{padding-right:%?62?%!important}.u-margin-right-62{margin-right:%?62?%!important}.u-padding-right-62{padding-right:%?62?%!important}.u-m-b-62{margin-bottom:%?62?%!important}.u-p-b-62{padding-bottom:%?62?%!important}.u-margin-bottom-62{margin-bottom:%?62?%!important}.u-padding-bottom-62{padding-bottom:%?62?%!important}.u-margin-64, .u-m-64{margin:%?64?%!important}.u-padding-64, .u-p-64{padding:%?64?%!important}.u-m-l-64{margin-left:%?64?%!important}.u-p-l-64{padding-left:%?64?%!important}.u-margin-left-64{margin-left:%?64?%!important}.u-padding-left-64{padding-left:%?64?%!important}.u-m-t-64{margin-top:%?64?%!important}.u-p-t-64{padding-top:%?64?%!important}.u-margin-top-64{margin-top:%?64?%!important}.u-padding-top-64{padding-top:%?64?%!important}.u-m-r-64{margin-right:%?64?%!important}.u-p-r-64{padding-right:%?64?%!important}.u-margin-right-64{margin-right:%?64?%!important}.u-padding-right-64{padding-right:%?64?%!important}.u-m-b-64{margin-bottom:%?64?%!important}.u-p-b-64{padding-bottom:%?64?%!important}.u-margin-bottom-64{margin-bottom:%?64?%!important}.u-padding-bottom-64{padding-bottom:%?64?%!important}.u-margin-65, .u-m-65{margin:%?65?%!important}.u-padding-65, .u-p-65{padding:%?65?%!important}.u-m-l-65{margin-left:%?65?%!important}.u-p-l-65{padding-left:%?65?%!important}.u-margin-left-65{margin-left:%?65?%!important}.u-padding-left-65{padding-left:%?65?%!important}.u-m-t-65{margin-top:%?65?%!important}.u-p-t-65{padding-top:%?65?%!important}.u-margin-top-65{margin-top:%?65?%!important}.u-padding-top-65{padding-top:%?65?%!important}.u-m-r-65{margin-right:%?65?%!important}.u-p-r-65{padding-right:%?65?%!important}.u-margin-right-65{margin-right:%?65?%!important}.u-padding-right-65{padding-right:%?65?%!important}.u-m-b-65{margin-bottom:%?65?%!important}.u-p-b-65{padding-bottom:%?65?%!important}.u-margin-bottom-65{margin-bottom:%?65?%!important}.u-padding-bottom-65{padding-bottom:%?65?%!important}.u-margin-66, .u-m-66{margin:%?66?%!important}.u-padding-66, .u-p-66{padding:%?66?%!important}.u-m-l-66{margin-left:%?66?%!important}.u-p-l-66{padding-left:%?66?%!important}.u-margin-left-66{margin-left:%?66?%!important}.u-padding-left-66{padding-left:%?66?%!important}.u-m-t-66{margin-top:%?66?%!important}.u-p-t-66{padding-top:%?66?%!important}.u-margin-top-66{margin-top:%?66?%!important}.u-padding-top-66{padding-top:%?66?%!important}.u-m-r-66{margin-right:%?66?%!important}.u-p-r-66{padding-right:%?66?%!important}.u-margin-right-66{margin-right:%?66?%!important}.u-padding-right-66{padding-right:%?66?%!important}.u-m-b-66{margin-bottom:%?66?%!important}.u-p-b-66{padding-bottom:%?66?%!important}.u-margin-bottom-66{margin-bottom:%?66?%!important}.u-padding-bottom-66{padding-bottom:%?66?%!important}.u-margin-68, .u-m-68{margin:%?68?%!important}.u-padding-68, .u-p-68{padding:%?68?%!important}.u-m-l-68{margin-left:%?68?%!important}.u-p-l-68{padding-left:%?68?%!important}.u-margin-left-68{margin-left:%?68?%!important}.u-padding-left-68{padding-left:%?68?%!important}.u-m-t-68{margin-top:%?68?%!important}.u-p-t-68{padding-top:%?68?%!important}.u-margin-top-68{margin-top:%?68?%!important}.u-padding-top-68{padding-top:%?68?%!important}.u-m-r-68{margin-right:%?68?%!important}.u-p-r-68{padding-right:%?68?%!important}.u-margin-right-68{margin-right:%?68?%!important}.u-padding-right-68{padding-right:%?68?%!important}.u-m-b-68{margin-bottom:%?68?%!important}.u-p-b-68{padding-bottom:%?68?%!important}.u-margin-bottom-68{margin-bottom:%?68?%!important}.u-padding-bottom-68{padding-bottom:%?68?%!important}.u-margin-70, .u-m-70{margin:%?70?%!important}.u-padding-70, .u-p-70{padding:%?70?%!important}.u-m-l-70{margin-left:%?70?%!important}.u-p-l-70{padding-left:%?70?%!important}.u-margin-left-70{margin-left:%?70?%!important}.u-padding-left-70{padding-left:%?70?%!important}.u-m-t-70{margin-top:%?70?%!important}.u-p-t-70{padding-top:%?70?%!important}.u-margin-top-70{margin-top:%?70?%!important}.u-padding-top-70{padding-top:%?70?%!important}.u-m-r-70{margin-right:%?70?%!important}.u-p-r-70{padding-right:%?70?%!important}.u-margin-right-70{margin-right:%?70?%!important}.u-padding-right-70{padding-right:%?70?%!important}.u-m-b-70{margin-bottom:%?70?%!important}.u-p-b-70{padding-bottom:%?70?%!important}.u-margin-bottom-70{margin-bottom:%?70?%!important}.u-padding-bottom-70{padding-bottom:%?70?%!important}.u-margin-72, .u-m-72{margin:%?72?%!important}.u-padding-72, .u-p-72{padding:%?72?%!important}.u-m-l-72{margin-left:%?72?%!important}.u-p-l-72{padding-left:%?72?%!important}.u-margin-left-72{margin-left:%?72?%!important}.u-padding-left-72{padding-left:%?72?%!important}.u-m-t-72{margin-top:%?72?%!important}.u-p-t-72{padding-top:%?72?%!important}.u-margin-top-72{margin-top:%?72?%!important}.u-padding-top-72{padding-top:%?72?%!important}.u-m-r-72{margin-right:%?72?%!important}.u-p-r-72{padding-right:%?72?%!important}.u-margin-right-72{margin-right:%?72?%!important}.u-padding-right-72{padding-right:%?72?%!important}.u-m-b-72{margin-bottom:%?72?%!important}.u-p-b-72{padding-bottom:%?72?%!important}.u-margin-bottom-72{margin-bottom:%?72?%!important}.u-padding-bottom-72{padding-bottom:%?72?%!important}.u-margin-74, .u-m-74{margin:%?74?%!important}.u-padding-74, .u-p-74{padding:%?74?%!important}.u-m-l-74{margin-left:%?74?%!important}.u-p-l-74{padding-left:%?74?%!important}.u-margin-left-74{margin-left:%?74?%!important}.u-padding-left-74{padding-left:%?74?%!important}.u-m-t-74{margin-top:%?74?%!important}.u-p-t-74{padding-top:%?74?%!important}.u-margin-top-74{margin-top:%?74?%!important}.u-padding-top-74{padding-top:%?74?%!important}.u-m-r-74{margin-right:%?74?%!important}.u-p-r-74{padding-right:%?74?%!important}.u-margin-right-74{margin-right:%?74?%!important}.u-padding-right-74{padding-right:%?74?%!important}.u-m-b-74{margin-bottom:%?74?%!important}.u-p-b-74{padding-bottom:%?74?%!important}.u-margin-bottom-74{margin-bottom:%?74?%!important}.u-padding-bottom-74{padding-bottom:%?74?%!important}.u-margin-75, .u-m-75{margin:%?75?%!important}.u-padding-75, .u-p-75{padding:%?75?%!important}.u-m-l-75{margin-left:%?75?%!important}.u-p-l-75{padding-left:%?75?%!important}.u-margin-left-75{margin-left:%?75?%!important}.u-padding-left-75{padding-left:%?75?%!important}.u-m-t-75{margin-top:%?75?%!important}.u-p-t-75{padding-top:%?75?%!important}.u-margin-top-75{margin-top:%?75?%!important}.u-padding-top-75{padding-top:%?75?%!important}.u-m-r-75{margin-right:%?75?%!important}.u-p-r-75{padding-right:%?75?%!important}.u-margin-right-75{margin-right:%?75?%!important}.u-padding-right-75{padding-right:%?75?%!important}.u-m-b-75{margin-bottom:%?75?%!important}.u-p-b-75{padding-bottom:%?75?%!important}.u-margin-bottom-75{margin-bottom:%?75?%!important}.u-padding-bottom-75{padding-bottom:%?75?%!important}.u-margin-76, .u-m-76{margin:%?76?%!important}.u-padding-76, .u-p-76{padding:%?76?%!important}.u-m-l-76{margin-left:%?76?%!important}.u-p-l-76{padding-left:%?76?%!important}.u-margin-left-76{margin-left:%?76?%!important}.u-padding-left-76{padding-left:%?76?%!important}.u-m-t-76{margin-top:%?76?%!important}.u-p-t-76{padding-top:%?76?%!important}.u-margin-top-76{margin-top:%?76?%!important}.u-padding-top-76{padding-top:%?76?%!important}.u-m-r-76{margin-right:%?76?%!important}.u-p-r-76{padding-right:%?76?%!important}.u-margin-right-76{margin-right:%?76?%!important}.u-padding-right-76{padding-right:%?76?%!important}.u-m-b-76{margin-bottom:%?76?%!important}.u-p-b-76{padding-bottom:%?76?%!important}.u-margin-bottom-76{margin-bottom:%?76?%!important}.u-padding-bottom-76{padding-bottom:%?76?%!important}.u-margin-78, .u-m-78{margin:%?78?%!important}.u-padding-78, .u-p-78{padding:%?78?%!important}.u-m-l-78{margin-left:%?78?%!important}.u-p-l-78{padding-left:%?78?%!important}.u-margin-left-78{margin-left:%?78?%!important}.u-padding-left-78{padding-left:%?78?%!important}.u-m-t-78{margin-top:%?78?%!important}.u-p-t-78{padding-top:%?78?%!important}.u-margin-top-78{margin-top:%?78?%!important}.u-padding-top-78{padding-top:%?78?%!important}.u-m-r-78{margin-right:%?78?%!important}.u-p-r-78{padding-right:%?78?%!important}.u-margin-right-78{margin-right:%?78?%!important}.u-padding-right-78{padding-right:%?78?%!important}.u-m-b-78{margin-bottom:%?78?%!important}.u-p-b-78{padding-bottom:%?78?%!important}.u-margin-bottom-78{margin-bottom:%?78?%!important}.u-padding-bottom-78{padding-bottom:%?78?%!important}.u-margin-80, .u-m-80{margin:%?80?%!important}.u-padding-80, .u-p-80{padding:%?80?%!important}.u-m-l-80{margin-left:%?80?%!important}.u-p-l-80{padding-left:%?80?%!important}.u-margin-left-80{margin-left:%?80?%!important}.u-padding-left-80{padding-left:%?80?%!important}.u-m-t-80{margin-top:%?80?%!important}.u-p-t-80{padding-top:%?80?%!important}.u-margin-top-80{margin-top:%?80?%!important}.u-padding-top-80{padding-top:%?80?%!important}.u-m-r-80{margin-right:%?80?%!important}.u-p-r-80{padding-right:%?80?%!important}.u-margin-right-80{margin-right:%?80?%!important}.u-padding-right-80{padding-right:%?80?%!important}.u-m-b-80{margin-bottom:%?80?%!important}.u-p-b-80{padding-bottom:%?80?%!important}.u-margin-bottom-80{margin-bottom:%?80?%!important}.u-padding-bottom-80{padding-bottom:%?80?%!important}.u-reset-nvue{flex-direction:row;align-items:center}.u-type-primary-light{color:#ecf5ff}.u-type-warning-light{color:#fdf6ec}.u-type-success-light{color:#dbf1e1}.u-type-error-light{color:#fef0f0}.u-type-info-light{color:#f4f4f5}.u-type-primary-light-bg{background-color:#ecf5ff}.u-type-warning-light-bg{background-color:#fdf6ec}.u-type-success-light-bg{background-color:#dbf1e1}.u-type-error-light-bg{background-color:#fef0f0}.u-type-info-light-bg{background-color:#f4f4f5}.u-type-primary-dark{color:#2b85e4}.u-type-warning-dark{color:#f29100}.u-type-success-dark{color:#18b566}.u-type-error-dark{color:#dd6161}.u-type-info-dark{color:#82848a}.u-type-primary-dark-bg{background-color:#2b85e4}.u-type-warning-dark-bg{background-color:#f29100}.u-type-success-dark-bg{background-color:#18b566}.u-type-error-dark-bg{background-color:#dd6161}.u-type-info-dark-bg{background-color:#82848a}.u-type-primary-disabled{color:#a0cfff}.u-type-warning-disabled{color:#fcbd71}.u-type-success-disabled{color:#71d5a1}.u-type-error-disabled{color:#fab6b6}.u-type-info-disabled{color:#c8c9cc}.u-type-primary{color:#2979ff}.u-type-warning{color:#f90}.u-type-success{color:#19be6b}.u-type-error{color:#fa3534}.u-type-info{color:#909399}.u-type-primary-bg{background-color:#2979ff}.u-type-warning-bg{background-color:#f90}.u-type-success-bg{background-color:#19be6b}.u-type-error-bg{background-color:#fa3534}.u-type-info-bg{background-color:#909399}.u-main-color{color:#303133}.u-content-color{color:#606266}.u-tips-color{color:#909399}.u-light-color{color:#c0c4cc}uni-page-body{color:#303133;font-size:%?28?%}\n/* start--去除webkit的默认样式--start */.u-fix-ios-appearance{-webkit-appearance:none}\n/* end--去除webkit的默认样式--end */\n/* start--icon图标外层套一个view,让其达到更好的垂直居中的效果--start */.u-icon-wrap{display:flex;align-items:center}\n/* end-icon图标外层套一个view,让其达到更好的垂直居中的效果--end */\n/* start--iPhoneX底部安全区定义--start */.safe-area-inset-bottom{padding-bottom:0;padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}\n/* end-iPhoneX底部安全区定义--end */\n/* start--各种hover点击反馈相关的类名-start */.u-hover-class{opacity:.6}.u-cell-hover{background-color:#f7f8f9!important}\n/* end--各种hover点击反馈相关的类名--end */\n/* start--文本行数限制--start */.u-line-1{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.u-line-2{-webkit-line-clamp:2}.u-line-3{-webkit-line-clamp:3}.u-line-4{-webkit-line-clamp:4}.u-line-5{-webkit-line-clamp:5}.u-line-2, .u-line-3, .u-line-4, .u-line-5{overflow:hidden;word-break:break-all;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical}\n/* end--文本行数限制--end */\n/* start--Retina 屏幕下的 1px 边框--start */.u-border,\n.u-border-bottom,\n.u-border-left,\n.u-border-right,\n.u-border-top,\n.u-border-top-bottom{position:relative}.u-border-bottom:after,\n.u-border-left:after,\n.u-border-right:after,\n.u-border-top-bottom:after,\n.u-border-top:after,\n.u-border:after{\ncontent:" ";\nposition:absolute;left:0;top:0;pointer-events:none;box-sizing:border-box;-webkit-transform-origin:0 0;transform-origin:0 0;width:199.8%;height:199.7%;-webkit-transform:scale(.5);transform:scale(.5);border:0 solid #e4e7ed;z-index:2}.u-border-top:after{border-top-width:1px}.u-border-left:after{border-left-width:1px}.u-border-right:after{border-right-width:1px}.u-border-bottom:after{border-bottom-width:1px}.u-border-top-bottom:after{border-width:1px 0}.u-border:after{border-width:1px}\n/* end--Retina 屏幕下的 1px 边框--end */\n/* start--clearfix--start */.u-clearfix:after,\n.clearfix:after{\ncontent:"";\ndisplay:table;clear:both}\n/* end--clearfix--end */\n/* start--高斯模糊tabbar底部处理--start */.u-blur-effect-inset{width:%?750?%;height:var(--window-bottom);background-color:#fff}\n/* end--高斯模糊tabbar底部处理--end */\n/* start--提升H5端uni.toast()的层级,避免被uView的modal等遮盖--start */\nuni-toast{z-index:10090}uni-toast .uni-toast{z-index:10090}\n\n/* end--提升H5端uni.toast()的层级,避免被uView的modal等遮盖--end */\n/* start--去除button的所有默认样式--start */.u-reset-button{padding:0;font-size:inherit;line-height:inherit;background-color:initial;color:inherit}.u-reset-button::after{border:none}\n/* end--去除button的所有默认样式--end */\n/* H5的时候,隐藏滚动条 */::-webkit-scrollbar{display:none;width:0!important;height:0!important;-webkit-appearance:none;background:transparent}',""]),t.exports=n},"06e9":function(t,n,i){"use strict";i("6a54");var a=i("f5bd").default;Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0,i("8f71"),i("bf0f");var r=a(i("8d18")),o=a(i("5ea2")),e=a(i("4331")),p=a(i("4e76")),d=a(i("3f10")),u=a(i("b907")),m=a(i("80d3")),g=a(i("184a")),s=a(i("8f8a")),l=a(i("3f93")),c=a(i("033e")),f=a(i("b599")),b=a(i("f77c")),h=a(i("64e9")),y=a(i("0041")),_=a(i("959a")),v=a(i("8e3b")),x=a(i("23da")),w=a(i("6798")),S=a(i("7f1d")),j=i("5e3f"),k=a(i("2a4a")),T=a(i("d4d4")),C=a(i("1d2a")),P=a(i("0154"));var A={queryParams:e.default,route:p.default,timeFormat:d.default,date:d.default,timeFrom:u.default,colorGradient:m.default.colorGradient,colorToRgba:m.default.colorToRgba,guid:g.default,color:s.default,sys:j.sys,os:j.os,type2icon:l.default,randomArray:c.default,wranning:function(t){0},get:o.default.get,post:o.default.post,put:o.default.put,delete:o.default.delete,hexToRgb:m.default.hexToRgb,rgbToHex:m.default.rgbToHex,test:y.default,random:_.default,deepClone:f.default,deepMerge:b.default,getParent:w.default,$parent:S.default,addUnit:h.default,trim:v.default,type:["primary","success","error","warning","info"],http:o.default,toast:x.default,config:C.default,zIndex:P.default,debounce:k.default,throttle:T.default};uni.$u=A;var O={install:function(t){t.mixin(r.default),t.prototype.openShare&&t.mixin(mpShare),t.filter("timeFormat",(function(t,n){return(0,d.default)(t,n)})),t.filter("date",(function(t,n){return(0,d.default)(t,n)})),t.filter("timeFrom",(function(t,n){return(0,u.default)(t,n)})),t.prototype.$u=A}};n.default=O},"184a":function(t,n,i){"use strict";i("6a54"),Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var a=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:32,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),r=[];if(i=i||a.length,t)for(var o=0;o1&&void 0!==arguments[1]?arguments[1]:1500;uni.showToast({title:t,icon:"none",duration:n})};n.default=a},2742:function(t,n,i){"use strict";var a=i("f5bd").default,r=a(i("9b1b"));i("3dde"),i("a8b2"),i("1480"),i("6e4a"),i("4d3a"),i("9337");var o=a(i("dbdb")),e=a(i("9b8e")),p=a(i("5b93")),d=a(i("06e9")),u=i("96dd"),m=a(i("9508")),g=a(i("bf8f")),s=a(i("1189"));e.default.use(d.default);var l=i("cb3c");e.default.mixin(l),e.default.config.productionTip=!1,o.default.mpType="app";var c=new e.default((0,r.default)({store:p.default},o.default));e.default.prototype.base=u.base,e.default.use(m.default,c),e.default.use(g.default,c),e.default.prototype.$moment=s.default,c.$mount()},"2a4a":function(t,n,i){"use strict";i("6a54"),Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var a=null;var r=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:500,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(null!==a&&clearTimeout(a),i){var r=!a;a=setTimeout((function(){a=null}),n),r&&"function"===typeof t&&t()}else a=setTimeout((function(){"function"===typeof t&&t()}),n)};n.default=r},"3f10":function(t,n,i){"use strict";i("6a54"),Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0,i("795c"),i("bf0f"),i("7a76"),i("c9b5"),i("f7a5"),i("64aa"),i("ab80"),i("5c47"),i("23f4"),i("7d2f"),i("9c4e"),i("a1c1"),String.prototype.padStart||(String.prototype.padStart=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:" ";if("[object String]"!==Object.prototype.toString.call(n))throw new TypeError("fillString must be String");var i=this;if(i.length>=t)return String(i);var a=t-i.length,r=Math.ceil(a/n.length);while(r>>=1)n+=n,1===r&&(n+=n);return n.slice(0,a)+i});var a=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"yyyy-mm-dd";t||(t=Number(new Date)),10==t.toString().length&&(t*=1e3);var i,a=new Date(t),r={"y+":a.getFullYear().toString(),"m+":(a.getMonth()+1).toString(),"d+":a.getDate().toString(),"h+":a.getHours().toString(),"M+":a.getMinutes().toString(),"s+":a.getSeconds().toString()};for(var o in r)i=new RegExp("("+o+")").exec(n),i&&(n=n.replace(i[1],1==i[1].length?r[o]:r[o].padStart(i[1].length,"0")));return n};n.default=a},"3f93":function(t,n,i){"use strict";i("6a54"),Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0,i("5ef2");var a=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"success",n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];-1==["primary","info","error","warning","success"].indexOf(t)&&(t="success");var i="";switch(t){case"primary":i="info-circle";break;case"info":i="info-circle";break;case"error":i="close-circle";break;case"warning":i="error-circle";break;case"success":i="checkmark-circle";break;default:i="checkmark-circle"}return n&&(i+="-fill"),i};n.default=a},4331:function(t,n,i){"use strict";i("6a54"),Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0,i("5ef2"),i("aa9c"),i("bf0f"),i("2797");var a=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"brackets",a=n?"?":"",r=[];-1==["indices","brackets","repeat","comma"].indexOf(i)&&(i="brackets");var o=function(n){var a=t[n];if(["",void 0,null].indexOf(a)>=0)return"continue";if(a.constructor===Array)switch(i){case"indices":for(var o=0;o0&&void 0!==e[0]?e[0]:{},i=e.length>1&&void 0!==e[1]?e[1]:{},a={},"string"===typeof n?(a.url=this.mixinParam(n,i),a.type="navigateTo"):(a=uni.$u.deepClone(n,this.config),a.url=this.mixinParam(n.url,n.params)),i.intercept&&(this.config.intercept=i.intercept),a.params=i,a=uni.$u.deepMerge(this.config,a),"function"!==typeof uni.$u.routeIntercept){t.next=14;break}return t.next=10,new Promise((function(t,n){uni.$u.routeIntercept(a,t)}));case 10:o=t.sent,o&&this.openPage(a),t.next=15;break;case 14:this.openPage(a);case 15:case"end":return t.stop()}}),t,this)})));return function(){return t.apply(this,arguments)}}()},{key:"openPage",value:function(t){var n=t.url,i=(t.type,t.delta),a=t.animationType,r=t.animationDuration;"navigateTo"!=t.type&&"to"!=t.type||uni.navigateTo({url:n,animationType:a,animationDuration:r}),"redirectTo"!=t.type&&"redirect"!=t.type||uni.redirectTo({url:n}),"switchTab"!=t.type&&"tab"!=t.type||uni.switchTab({url:n}),"reLaunch"!=t.type&&"launch"!=t.type||uni.reLaunch({url:n}),"navigateBack"!=t.type&&"back"!=t.type||uni.navigateBack({delta:i})}}]),t}(),u=(new d).route;n.default=u},"55fc":function(t,n,i){"use strict";i.d(n,"b",(function(){return a})),i.d(n,"c",(function(){return r})),i.d(n,"a",(function(){}));var a=function(){var t=this.$createElement,n=this._self._c||t;return n("App",{attrs:{keepAliveInclude:this.keepAliveInclude}})},r=[]},"5b93":function(t,n,i){"use strict";i("6a54");var a=i("f5bd").default;Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0,i("5ef2");var r=a(i("9b8e")),o=a(i("8f59"));r.default.use(o.default);var e={};try{e=uni.getStorageSync("lifeData")}catch(m){}var p=["vuex_user","vuex_token","vuex_share"],d=new o.default.Store({state:{vuex_user:e.vuex_user?e.vuex_user:{},vuex_token:e.vuex_token?e.vuex_token:"",vuex_version:"1.0.0",vuex_default_icon:"/static/logo-mini.png",vuex_sign_base64:"",vuex_point_id:""},mutations:{$uStore:function(t,n){var i=n.name.split("."),a="",r=i.length;if(i.length>=2){for(var o=t[i[0]],e=1;e1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return n.request({method:"GET",url:t,header:a,data:i})},this.post=function(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return n.request({url:t,method:"POST",header:a,data:i})},this.put=function(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return n.request({url:t,method:"PUT",header:a,data:i})},this.delete=function(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return n.request({url:t,method:"DELETE",header:a,data:i})}}return(0,o.default)(t,[{key:"setConfig",value:function(t){this.config=(0,e.default)(this.config,t)}},{key:"request",value:function(){var t=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.interceptor.request&&"function"===typeof this.interceptor.request){var i=this.interceptor.request(n);if(!1===i)return new Promise((function(){}));this.options=i}return n.dataType=n.dataType||this.config.dataType,n.responseType=n.responseType||this.config.responseType,n.url=n.url||"",n.params=n.params||{},n.header=Object.assign({},this.config.header,n.header),n.method=n.method||this.config.method,new Promise((function(i,a){n.complete=function(n){if(uni.hideLoading(),clearTimeout(t.config.timer),t.config.timer=null,t.config.originalData)if(t.interceptor.response&&"function"===typeof t.interceptor.response){var r=t.interceptor.response(n);!1!==r?i(r):a(n)}else i(n);else if(200==n.statusCode)if(t.interceptor.response&&"function"===typeof t.interceptor.response){var o=t.interceptor.response(n.data);!1!==o?i(o):a(n.data)}else i(n.data);else a(n)},n.url=p.default.url(n.url)?n.url:t.config.baseUrl+(0==n.url.indexOf("/")?n.url:"/"+n.url),t.config.showLoading&&!t.config.timer&&(t.config.timer=setTimeout((function(){uni.showLoading({title:t.config.loadingText,mask:t.config.loadingMask}),t.config.timer=null}),t.config.loadingTime)),uni.request(n)}))}}]),t}(),u=new d;n.default=u},"64e9":function(t,n,i){"use strict";i("6a54");var a=i("f5bd").default;Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"auto",n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"rpx";return t=String(t),r.default.number(t)?"".concat(t).concat(n):t},i("c223");var r=a(i("0041"))},6798:function(t,n,i){"use strict";i("6a54");var a=i("f5bd").default;Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(t,n){var i=this.$parent;while(i)if(i.$options.name!==t)i=i.$parent;else{var a=function(){var t={};if(Array.isArray(n))n.map((function(n){t[n]=i[n]?i[n]:""}));else for(var a in n)Array.isArray(n[a])?n[a].length?t[a]=n[a]:t[a]=i[a]:n[a].constructor===Object?Object.keys(n[a]).length?t[a]=n[a]:t[a]=i[a]:t[a]=n[a]||!1===n[a]?n[a]:i[a];return{v:t}}();if("object"===(0,r.default)(a))return a.v}return{}};var r=a(i("fcf3"));i("fd3c"),i("dc8a")},"6c2f":function(t,n,i){"use strict";i("6a54"),Object.defineProperty(n,"__esModule",{value:!0}),n.ROOTPATH=void 0,i("7a76"),i("c9b5");var a="https://vr.ali251.langye.net";switch(n.ROOTPATH=a,"production"){case"devLocal":n.ROOTPATH=a=a;break;case"devOnline":n.ROOTPATH=a=a;break;case"production":n.ROOTPATH=a=a;break;default:throw new Error("未配置环境")}},"7c99":function(t,n,i){"use strict";i("6a54"),Object.defineProperty(n,"__esModule",{value:!0}),n.BASE_URL=n.API=void 0;var a="https://xukoushuniu.115.langye.net";n.BASE_URL=a;var r={WECHAT_JSSDK_CONFIG:"".concat(a,"/api/customer/wechat/jssdk-config"),LOGIN:"".concat(a,"/api/customer/login-by-code"),WX_LOGIN:"".concat(a,"/api/customer/login-by-wechat-code"),STATISTICS:"".concat(a,"/api/customer/reservation/statistics"),LOGIN_ACCOUNT:"".concat(a,"/api/customer/login"),GET_USER_INFO:"".concat(a,"/api/customer/me"),UPDATE_USER_INFO:"".concat(a,"/api/customer/profile/update"),UPLOAD_FILE:"".concat(a,"/api/customer/upload-file"),SHIP_CREATE:"".concat(a,"/api/customer/ship/create"),SHIP_CHECK_NAME:"".concat(a,"/api/customer/ship/check-ship-number"),SHIP_INDEX:"".concat(a,"/api/customer/ship/index"),SHIP_DETAIL:"".concat(a,"/api/customer/ship/get-one"),SHIP_PROPERTY_ENUM:"".concat(a,"/api/customer/ship/get-property-enum"),SHIP_DELETE:"".concat(a,"/api/customer/ship/delete"),RESERVATION_STATUS_ENUM:"".concat(a,"/api/customer/reservation/get-status-enum"),RESERVATION_CREATE:"".concat(a,"/api/customer/reservation/create"),RESERVATION_LIST:"".concat(a,"/api/customer/reservation/index"),RESERVATION_DETAIL:"".concat(a,"/api/customer/reservation/get-one"),AVAILABLE_SHIPS:"".concat(a,"/api/customer/reservation/get-available-ships"),AVAILABLE_SHIP:"".concat(a,"/api/customer/reservation/get-available-ship"),GET_PAYMENT_QRCODE:"".concat(a,"/api/customer/reservation/fake-pay"),FAKE_PAY:"".concat(a,"/api/customer/reservation/fake-pay"),NOTIFICATION_LIST:"".concat(a,"/api/customer/notifications/index"),CANCEL_RESERVATION:"".concat(a,"/api/customer/reservation/cancel"),GET_DIRECTION_ENUM:"".concat(a,"/api/customer/reservation/get-direction-enum"),SHIP_UPDATE:"".concat(a,"/api/customer/ship/update"),GET_INVOICE:"".concat(a,"/api/customer/reservation/get-invoice"),GET_DAILY_RESERVATION_DEADLINE:"".concat(a,"/api/customer/setting/get-daily-reservation-deadline"),GET_GEOFENCE_BY_DIRECTION:"".concat(a,"/api/customer/geofence/get-by-direction"),GET_WATER_LEVEL:"".concat(a,"/api/customer/setting/get-water-level"),GET_UNIT_PRICE:"".concat(a,"/api/customer/setting/get-price"),GET_SHIP_INSPECTION_EXAMPLES:"".concat(a,"/api/customer/setting/get-ship-inspection-examples"),PROFILE_SEND_PHONE_CODE:"".concat(a,"/api/customer/profile/send-phone-code")};n.API=r},"7f1d":function(t,n,i){"use strict";i("6a54"),Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,n=this.$parent;while(n){if(!n.$options||n.$options.name===t)return n;n=n.$parent}return!1}},"80d3":function(t,n,i){"use strict";function a(t){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;if(t=t.toLowerCase(),t&&i.test(t)){if(4===t.length){for(var a="#",r=1;r<4;r+=1)a+=t.slice(r,r+1).concat(t.slice(r,r+1));t=a}for(var o=[],e=1;e<7;e+=2)o.push(parseInt("0x"+t.slice(e,e+2)));return n?"rgb(".concat(o[0],",").concat(o[1],",").concat(o[2],")"):o}if(/^(rgb|RGB)/.test(t)){var p=t.replace(/(?:\(|\)|rgb|RGB)*/g,"").split(",");return p.map((function(t){return Number(t)}))}return t}function r(t){var n=t;if(/^(rgb|RGB)/.test(n)){for(var i=n.replace(/(?:\(|\)|rgb|RGB)*/g,"").split(","),a="#",r=0;r0&&void 0!==arguments[0]?arguments[0]:"rgb(0, 0, 0)",n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"rgb(255, 255, 255)",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,o=a(t,!1),e=o[0],p=o[1],d=o[2],u=a(n,!1),m=u[0],g=u[1],s=u[2],l=(m-e)/i,c=(g-p)/i,f=(s-d)/i,b=[],h=0;h1&&void 0!==arguments[1]?arguments[1]:.3;t=r(t);var i=/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/,a=t.toLowerCase();if(a&&i.test(a)){if(4===a.length){for(var o="#",e=1;e<4;e+=1)o+=a.slice(e,e+1).concat(a.slice(e,e+1));a=o}for(var p=[],d=1;d<7;d+=2)p.push(parseInt("0x"+a.slice(d,d+2)));return"rgba("+p.join(",")+","+n+")"}return a}};n.default=o},"8d18":function(t,n,i){i("bf0f"),i("5c47"),i("fd3c"),i("dc8a"),i("0506"),i("dd2b"),t.exports={data:function(){return{}},onLoad:function(){this.$u.getRect=this.$uGetRect},methods:{$uGetRect:function(t,n){var i=this;return new Promise((function(a){uni.createSelectorQuery().in(i)[n?"selectAll":"select"](t).boundingClientRect((function(t){n&&Array.isArray(t)&&t.length&&a(t),!n&&t&&a(t)})).exec()}))},getParentData:function(){var t=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";this.parent||(this.parent=!1),this.parent=this.$u.$parent.call(this,n),this.parent&&Object.keys(this.parentData).map((function(n){t.parentData[n]=t.parent[n]}))},preventEvent:function(t){t&&t.stopPropagation&&t.stopPropagation()}},onReachBottom:function(){uni.$emit("uOnReachBottom")},beforeDestroy:function(){var t=this;if(this.parent&&uni.$u.test.array(this.parent.children)){var n=this.parent.children;n.map((function(i,a){i===t&&n.splice(a,1)}))}}}},"8e3b":function(t,n,i){"use strict";i("6a54"),Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0,i("5c47"),i("a1c1");var a=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"both";return"both"==n?t.replace(/^\s+|\s+$/g,""):"left"==n?t.replace(/^\s*/,""):"right"==n?t.replace(/(\s*$)/g,""):"all"==n?t.replace(/\s+/g,""):t};n.default=a},"8f8a":function(t,n,i){"use strict";i("6a54"),Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var a={primary:"#2979ff",primaryDark:"#2b85e4",primaryDisabled:"#a0cfff",primaryLight:"#ecf5ff",bgColor:"#f3f4f6",info:"#909399",infoDark:"#82848a",infoDisabled:"#c8c9cc",infoLight:"#f4f4f5",warning:"#ff9900",warningDark:"#f29100",warningDisabled:"#fcbd71",warningLight:"#fdf6ec",error:"#fa3534",errorDark:"#dd6161",errorDisabled:"#fab6b6",errorLight:"#fef0f0",success:"#19be6b",successDark:"#18b566",successDisabled:"#71d5a1",successLight:"#dbf1e1",mainColor:"#303133",contentColor:"#606266",tipsColor:"#909399",lightColor:"#c0c4cc",borderColor:"#e4e7ed"};n.default=a},9508:function(t,n,i){"use strict";i("6a54"),Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var a=i("6c2f"),r={install:function(t,n){t.prototype.$u.http.setConfig({baseUrl:a.ROOTPATH,showLoading:!0,loadingMask:!0,loadingText:"加载中",loadingTime:2e3,originalData:!0,header:{"content-type":"application/json;charset=UTF-8"}}),t.prototype.$u.http.interceptor.request=function(t){var i,a=n.vuex_token?n.vuex_token:null===(i=uni.getStorageSync("lifeData"))||void 0===i?void 0:i.vuex_token;return a&&(t.header["Authorization"]="Bearer ".concat(a)),t},t.prototype.$u.http.interceptor.response=function(n){return 200!==n.statusCode?(uni.showToast({icon:"fail",title:"系统错误"}),!1):n.data.hasOwnProperty("errcode")?40001!==n.data.errcode?(uni.showToast({icon:"none",title:n.data.errmsg||"系统错误"}),!1):void t.prototype.$u.debounce((function(){uni.showToast({icon:"none",title:"登陆过期,请重新登录"}),setTimeout((function(){uni.redirectTo({})}),1500)})):n.data}}};n.default=r},"959a":function(t,n,i){"use strict";i("6a54"),Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var a=function(t,n){if(t>=0&&n>0&&n>=t){var i=n-t+1;return Math.floor(Math.random()*i+t)}return 0};n.default=a},"96dd":function(t,n,i){"use strict";i("6a54");var a=i("f5bd").default;Object.defineProperty(n,"__esModule",{value:!0}),n.urlUtils=n.base=void 0,i("4626"),i("5ac7"),i("5c47"),i("a1c1"),i("795c"),i("c223"),i("bf0f"),i("18f7"),i("de6c"),i("dc89"),i("2425"),i("af8f"),i("2797"),i("dc8a"),i("d4b5"),i("c9b5"),i("ab80");a(i("1189")),i("6c2f");var r={toast:function(t,n,i){uni.showToast({icon:"none",title:t,duration:n||2e3,success:function(t){i&&"function"==typeof i&&(console.log(i),i())}})},isNull:function(t){return""==t||void 0==t||null==t||"undefined"==t||"null"==t},getAgeFromId:function(t){if(!t||18!==t.length)return"";var n=new Date,i=new Date(t.substring(6,10),t.substring(10,12)-1,t.substring(12,14)),a=n.getFullYear()-i.getFullYear(),r=n.getMonth()-i.getMonth();return(r<0||0===r&&n.getDate()1&&void 0!==arguments[1]?arguments[1]:["code","state","access_token"];try{var i=new URL(t),a=new URLSearchParams(i.search),r={};if(n.forEach((function(t){a.has(t)&&(r[t]=a.get(t),a.delete(t))})),Object.keys(r).length>0){var o="sensitive_params_".concat(Date.now()),e={params:r,timestamp:Date.now(),expires:Date.now()+3e5};return localStorage.setItem(o,JSON.stringify(e)),i.search=a.toString(),{url:i.toString(),storageKey:o}}return{url:t,storageKey:null}}catch(p){return console.warn("处理敏感参数时出错:",p),{url:t,storageKey:null}}},generateSafeShareUrl:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{var i=this.handleSensitiveParams(t),a=new URL(i.url);return Object.keys(n).forEach((function(t){a.searchParams.set(t,n[t])})),a.toString()}catch(r){return console.warn("生成安全分享链接时出错:",r),t}},restoreSensitiveParams:function(t,n){try{if(!n)return t;var i=localStorage.getItem(n);if(!i)return t;var a=JSON.parse(i);if(Date.now()>a.expires)return localStorage.removeItem(n),t;var r=new URL(t);return Object.keys(a.params).forEach((function(t){r.searchParams.set(t,a.params[t])})),r.toString()}catch(o){return console.warn("恢复敏感参数时出错:",o),t}}};n.urlUtils=o},b599:function(t,n,i){"use strict";i("6a54");var a=i("f5bd").default;Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var r=a(i("fcf3"));i("bf0f"),i("4626");var o=function t(n){if([null,void 0,NaN,!1].includes(n))return n;if("object"!==(0,r.default)(n)&&"function"!==typeof n)return n;var i=function(t){return"[object Array]"===Object.prototype.toString.call(t)}(n)?[]:{};for(var a in n)n.hasOwnProperty(a)&&(i[a]="object"===(0,r.default)(n[a])?t(n[a]):n[a]);return i};n.default=o},b907:function(t,n,i){"use strict";i("6a54");var a=i("f5bd").default;Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0,i("64aa"),i("c9b5"),i("bf0f"),i("ab80"),i("e966");var r=a(i("3f10"));var o=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"yyyy-mm-dd";t||(t=Number(new Date)),10==t.toString().length&&(t*=1e3);var i=+new Date(Number(t)),a=(Number(new Date)-i)/1e3,o="";switch(!0){case a<300:o="刚刚";break;case a>=300&&a<3600:o=parseInt(a/60)+"分钟前";break;case a>=3600&&a<86400:o=parseInt(a/3600)+"小时前";break;case a>=86400&&a<2592e3:o=parseInt(a/86400)+"天前";break;default:o=!1===n?a>=2592e3&&a<31536e3?parseInt(a/2592e3)+"个月前":parseInt(a/31536e3)+"年前":(0,r.default)(i,n)}return o};n.default=o},bf8f:function(t,n,i){"use strict";i("6a54"),Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var a={install:function(t,n){n.$u.api={}}};n.default=a},cb3c:function(t,n,i){"use strict";var a=i("f5bd").default,r=a(i("9b1b"));i("dc8a");var o=i("8f59"),e=a(i("5b93")),p=[];try{p=e.default.state?Object.keys(e.default.state):[]}catch(d){}t.exports={created:function(){var t=this;this.$u.vuex=function(n,i){t.$store.commit("$uStore",{name:n,value:i})}},computed:(0,r.default)({},(0,o.mapState)(p))}},d4d4:function(t,n,i){"use strict";var a;i("6a54"),Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var r=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:500,i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];i?a||(a=!0,"function"===typeof t&&t(),setTimeout((function(){a=!1}),n)):a||(a=!0,setTimeout((function(){a=!1,"function"===typeof t&&t()}),n))};n.default=r},db73:function(t,n,i){"use strict";i.r(n);var a=i("e074"),r=i.n(a);for(var o in a)["default"].indexOf(o)<0&&function(t){i.d(n,t,(function(){return a[t]}))}(o);n["default"]=r.a},dbdb:function(t,n,i){"use strict";i.r(n);var a=i("55fc"),r=i("db73");for(var o in r)["default"].indexOf(o)<0&&function(t){i.d(n,t,(function(){return r[t]}))}(o);i("f61f");var e=i("828b"),p=Object(e["a"])(r["default"],a["b"],a["c"],!1,null,null,null,!1,a["a"],void 0);n["default"]=p.exports},e074:function(t,n,i){"use strict";i("6a54");var a=i("f5bd").default;Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var r=a(i("fcf3"));i("5c47"),i("0506"),i("bf0f"),i("18f7"),i("de6c"),i("2425"),i("dc89"),i("2c10"),i("a1c1"),i("23f4"),i("7d2f"),i("9c4e"),i("ab80"),i("c9b5"),i("c223");var o=i("7c99"),e=i("96dd"),p=a(i("608d")),d={onLaunch:function(){console.log("App Launch");var t=/MicroMessenger/i.test(navigator.userAgent);console.log("[App] H5 onLaunch, isWeixinBrowser =",t,", typeof wx =",(0,r.default)(p.default)),"undefined"!==typeof window&&"undefined"!==typeof p.default?(window.wx=p.default,console.log("[App] 已将 wx 挂载到 window.wx")):console.warn("[App] 未找到 wx 对象,jweixin-module 可能未正确加载"),this.wxH5AuthLogin(),this.configWechatJSSDK()},onShow:function(){console.log("App Show");var t=/MicroMessenger/i.test(navigator.userAgent);if(t){var n=uni.getStorageSync("token");n||(console.log("[App] onShow 检测到没有 token,重新尝试登录"),this.wxH5AuthLogin())}},onHide:function(){console.log("App Hide")},onLoad:function(){console.log("App Load")},methods:{wxLogin:function(){uni.login({provider:"weixin",success:function(t){var n=t.code;console.log("微信登录成功,code:",n),uni.request({url:o.API.LOGIN,method:"POST",data:{code:n},success:function(t){var n=t.data;if(0===n.errcode){var i=n.data.access_token;console.log("获取 token 成功:",i),uni.setStorageSync("token",i)}else console.error("登录失败:",n.errmsg)},fail:function(t){console.error("获取 token 失败:",t)}})},fail:function(t){console.error("微信登录失败:",t)}})},wxAuthLogin:function(){uni.getUserProfile({desc:"用于完善用户资料",success:function(t){console.log("获取用户信息成功:",t.userInfo);var n=t.userInfo;uni.setStorageSync("userInfo",n);var i=uni.getStorageSync("token");i?uni.request({url:o.API.GET_USER_INFO,method:"POST",data:{token:i,userInfo:n},success:function(t){console.log("上传用户信息成功:",t.data),uni.showToast({title:"授权成功",icon:"success"})},fail:function(t){console.error("上传用户信息失败:",t),uni.showToast({title:"授权失败",icon:"none"})}}):uni.showToast({title:"请先登录",icon:"none"})},fail:function(t){console.error("获取用户信息失败:",t),uni.showToast({title:"获取用户信息失败",icon:"none"})}})},wxH5AuthLogin:function(){var t=/MicroMessenger/i.test(navigator.userAgent);if(t){var n=uni.getStorageSync("token");if(n)console.log("[App] 已存在 token,跳过登录");else{var i=window.location.href;console.log("[App] 当前 URL:",i);var a=null;try{if("undefined"!==typeof URLSearchParams){var r=new URL(i);a=r.searchParams.get("code")}if(!a){var e=i.match(/[?&]code=([^&?#]+)/);e&&e[1]&&(a=decodeURIComponent(e[1].replace(/\+/g,"%20")))}if(!a){var p=new RegExp("[?|&]code=([^&;]+?)(&|#|;|$)"),d=p.exec(i);d&&d[1]&&(a=decodeURIComponent(d[1].replace(/\+/g,"%20")))}}catch(l){console.error("[App] 提取 code 失败:",l)}if(console.log("[App] 提取到的 code:",a),a){try{var u=new URL(i);u.searchParams.delete("code"),u.searchParams.delete("state"),window.history&&window.history.replaceState&&window.history.replaceState({},"",u.toString())}catch(l){console.warn("[App] 清理 URL 参数失败:",l)}console.log("[App] 开始调用登录接口,code:",a),uni.request({url:o.API.WX_LOGIN,method:"POST",data:{code:a},success:function(t){console.log("[App] 登录接口响应:",t.data);var n=t.data;if(0===n.errcode){var i=n.data.access_token;console.log("[App] 获取 token 成功:",i),uni.setStorageSync("token",i),uni.$emit("loginSuccess",{token:i})}else console.error("[App] 登录失败:",n.errmsg),uni.showToast({title:n.errmsg||"登录失败",icon:"none"})},fail:function(t){console.error("[App] 获取 token 失败:",t),uni.showToast({title:"网络错误,请重试",icon:"none"})}})}else{console.log("[App] 未找到 code,跳转到授权页面");var m=window.location.href.split("#")[0];m=m.replace(/[?&]code=[^&]*/g,"").replace(/[?&]state=[^&]*/g,""),m=m.replace(/\?$/,"");var g=encodeURIComponent(m);console.log("[App] redirectUri:",g);var s="https://open.weixin.qq.com/connect/oauth2/authorize?appid=".concat("wx9538bc740fe87fce","&redirect_uri=").concat(g,"&response_type=code&scope=").concat("snsapi_userinfo","&state=").concat("STATE","#wechat_redirect");console.log("[App] 跳转到授权页面:",s),window.location.href=s}}}else console.log("[App] 非微信环境,跳过登录")},mockAccountLogin:function(t,n){uni.setStorageSync("token","eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3h1a291c2h1bml1LjExNS5sYW5neWUubmV0L2FwaS9jdXN0b21lci9sb2dpbi1ieS13ZWNoYXQtY29kZSIsImlhdCI6MTc2OTY3OTExMCwiZXhwIjoxNzY5NjgyNzEwLCJuYmYiOjE3Njk2NzkxMTAsImp0aSI6Iks5MmRBc3Q5TDZaWUlMZ0EiLCJzdWIiOiIxNiIsInBydiI6IjFkMGEwMjBhY2Y1YzRiNmM0OTc5ODlkZjFhYmYwZmJkNGU4YzhkNjMifQ.FpSIvyHtemsAVM4cymHp18kysPyeonqIgl-y-jdI4d0")},configWechatJSSDK:function(){var t=this,n=/MicroMessenger/i.test(navigator.userAgent);if(console.log("[App] configWechatJSSDK 调用,isWeixinBrowser =",n,", typeof wx =",(0,r.default)(p.default),", has window.wx =","undefined"!==typeof window&&!!window.wx),n&&"undefined"!==typeof window&&"undefined"!==typeof p.default){var i=window.location.href.split("#")[0],a=encodeURIComponent(i);console.log("[App] 当前用于签名的 URL =",i,",编码后 =",a),uni.request({url:"".concat(o.API.WECHAT_JSSDK_CONFIG,"?url=").concat(a),method:"GET",success:function(n){if(console.log("[App] WECHAT_JSSDK_CONFIG 响应:",n.data),n.data)if(0===n.data.errcode&&n.data.data){var i=n.data.data;t.initWechatJSSDK(i)}else console.warn("[App] 获取微信 JSSDK 配置失败,errcode =",n.data.errcode,"errmsg =",n.data.errmsg);else console.warn("[App] WECHAT_JSSDK_CONFIG 返回为空")},fail:function(t){console.error("[App] 调用 WECHAT_JSSDK_CONFIG 接口失败:",t)}})}else console.log("[App] 非微信环境或微信JS-SDK未加载,跳过配置")},initWechatJSSDK:function(t){var n=this;"undefined"!==typeof p.default?(p.default.config({debug:!1,appId:t.appId,timestamp:t.timestamp,nonceStr:t.nonceStr,signature:t.signature,jsApiList:["getLocation","onMenuShareTimeline","onMenuShareAppMessage","onMenuShareQQ","onMenuShareWeibo"]}),p.default.ready((function(){console.log("微信 JS-SDK 配置成功"),n.setupGlobalWechatShare()})),p.default.error((function(t){console.error("微信 JS-SDK 配置失败:",t),uni.showToast({title:"微信功能配置失败",icon:"none"})}))):console.error("微信 JS-SDK 未加载")},setupGlobalWechatShare:function(){var t=/MicroMessenger/i.test(navigator.userAgent);if(t&&"undefined"!==typeof window){var n=window.wx||p.default;if(n){var i=window.location.href,a=i.split("#")[0],r="".concat(window.location.origin,"/h5/static/icon_logo.png"),o={title:"胥口枢纽闸站公众号",desc:"主要功能为胥口闸站船只过闸预约、支付等功能",link:a,imgUrl:r,type:"link"},d=o.link;try{d=e.urlUtils.generateSafeShareUrl(o.link,{source:"share",timestamp:Date.now()})}catch(m){console.warn("生成安全分享链接时出错:",m),d=o.link}var u=function(){console.log("微信JS-SDK准备就绪,配置全局分享"),n.onMenuShareTimeline({title:o.title,desc:o.desc,link:d,imgUrl:o.imgUrl,success:function(){console.log("分享到朋友圈成功"),uni.showToast({title:"分享到朋友圈成功",icon:"success"})},cancel:function(){console.log("取消分享到朋友圈")}}),n.onMenuShareAppMessage({title:o.title,desc:o.desc,link:d,imgUrl:o.imgUrl,type:o.type,dataUrl:"",success:function(){console.log("分享给朋友成功"),uni.showToast({title:"分享给朋友成功",icon:"success"})},cancel:function(){console.log("取消分享给朋友")}}),n.onMenuShareQQ({title:o.title,desc:o.desc,link:d,imgUrl:o.imgUrl,success:function(){console.log("分享到QQ成功"),uni.showToast({title:"分享到QQ成功",icon:"success"})},cancel:function(){console.log("取消分享到QQ")}}),n.onMenuShareWeibo({title:o.title,desc:o.desc,link:d,imgUrl:o.imgUrl,success:function(){console.log("分享到微博成功"),uni.showToast({title:"分享到微博成功",icon:"success"})},cancel:function(){console.log("取消分享到微博")}}),console.log("全局微信分享配置完成")};n.ready?n.ready(u):u(),n.error&&n.error((function(t){console.error("微信JS-SDK配置失败:",t)}))}else console.log("微信JS-SDK未加载,跳过分享配置")}else console.log("非微信环境,跳过分享配置")}}};n.default=d},e34a:function(t,n,i){var a=i("068c");a.__esModule&&(a=a.default),"string"===typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);var r=i("967d").default;r("70dae20a",a,!0,{sourceMap:!1,shadowMode:!1})},e8b4:function(t,n,i){var a={"./af":"06fc","./af.js":"06fc","./ar":"afa5","./ar-dz":"a3f8","./ar-dz.js":"a3f8","./ar-kw":"5466","./ar-kw.js":"5466","./ar-ly":"6a17","./ar-ly.js":"6a17","./ar-ma":"ebd0","./ar-ma.js":"ebd0","./ar-ps":"4144","./ar-ps.js":"4144","./ar-sa":"6506","./ar-sa.js":"6506","./ar-tn":"b68b","./ar-tn.js":"b68b","./ar.js":"afa5","./az":"aee0","./az.js":"aee0","./be":"6428","./be.js":"6428","./bg":"8893","./bg.js":"8893","./bm":"5229","./bm.js":"5229","./bn":"a9fe","./bn-bd":"1e26","./bn-bd.js":"1e26","./bn.js":"a9fe","./bo":"232e","./bo.js":"232e","./br":"ffb6","./br.js":"ffb6","./bs":"8058","./bs.js":"8058","./ca":"157f","./ca.js":"157f","./cs":"1db4","./cs.js":"1db4","./cv":"9bf2","./cv.js":"9bf2","./cy":"23d3","./cy.js":"23d3","./da":"949a","./da.js":"949a","./de":"4355","./de-at":"8112","./de-at.js":"8112","./de-ch":"49c4","./de-ch.js":"49c4","./de.js":"4355","./dv":"3134","./dv.js":"3134","./el":"3a2a","./el.js":"3a2a","./en-au":"de00","./en-au.js":"de00","./en-ca":"894e","./en-ca.js":"894e","./en-gb":"6ade","./en-gb.js":"6ade","./en-ie":"1f6f","./en-ie.js":"1f6f","./en-il":"b4ca","./en-il.js":"b4ca","./en-in":"14e8","./en-in.js":"14e8","./en-nz":"9eeb","./en-nz.js":"9eeb","./en-sg":"ea98","./en-sg.js":"ea98","./eo":"8934","./eo.js":"8934","./es":"8d2d","./es-do":"230b","./es-do.js":"230b","./es-mx":"4b18","./es-mx.js":"4b18","./es-us":"1cfa","./es-us.js":"1cfa","./es.js":"8d2d","./et":"1b15","./et.js":"1b15","./eu":"f2c8","./eu.js":"f2c8","./fa":"5571","./fa.js":"5571","./fi":"e371","./fi.js":"e371","./fil":"1621","./fil.js":"1621","./fo":"df2f","./fo.js":"df2f","./fr":"f0e7","./fr-ca":"4502","./fr-ca.js":"4502","./fr-ch":"210a","./fr-ch.js":"210a","./fr.js":"f0e7","./fy":"08d5","./fy.js":"08d5","./ga":"0734","./ga.js":"0734","./gd":"dca4","./gd.js":"dca4","./gl":"2978","./gl.js":"2978","./gom-deva":"4aed","./gom-deva.js":"4aed","./gom-latn":"b914","./gom-latn.js":"b914","./gu":"b308","./gu.js":"b308","./he":"5811","./he.js":"5811","./hi":"babe","./hi.js":"babe","./hr":"5d94","./hr.js":"5d94","./hu":"9114","./hu.js":"9114","./hy-am":"fd9d","./hy-am.js":"fd9d","./id":"dfb8","./id.js":"dfb8","./is":"eced","./is.js":"eced","./it":"ada2","./it-ch":"6163","./it-ch.js":"6163","./it.js":"ada2","./ja":"10b5","./ja.js":"10b5","./jv":"7f36","./jv.js":"7f36","./ka":"f49a","./ka.js":"f49a","./kk":"c60f","./kk.js":"c60f","./km":"3e64","./km.js":"3e64","./kn":"53b4","./kn.js":"53b4","./ko":"3327","./ko.js":"3327","./ku":"be6b","./ku-kmr":"12d6","./ku-kmr.js":"12d6","./ku.js":"be6b","./ky":"44a9","./ky.js":"44a9","./lb":"cdf4","./lb.js":"cdf4","./lo":"4cb5","./lo.js":"4cb5","./lt":"c86b6","./lt.js":"c86b6","./lv":"6b14","./lv.js":"6b14","./me":"80df","./me.js":"80df","./mi":"4420","./mi.js":"4420","./mk":"e09f","./mk.js":"e09f","./ml":"1a43","./ml.js":"1a43","./mn":"76ea","./mn.js":"76ea","./mr":"2e33","./mr.js":"2e33","./ms":"de89","./ms-my":"8cfd","./ms-my.js":"8cfd","./ms.js":"de89","./mt":"7890","./mt.js":"7890","./my":"e5e1","./my.js":"e5e1","./nb":"98d9","./nb.js":"98d9","./ne":"745f","./ne.js":"745f","./nl":"050d","./nl-be":"9e32","./nl-be.js":"9e32","./nl.js":"050d","./nn":"e727","./nn.js":"e727","./oc-lnc":"b85d","./oc-lnc.js":"b85d","./pa-in":"5434","./pa-in.js":"5434","./pl":"d2d9","./pl.js":"d2d9","./pt":"59a0","./pt-br":"2e668","./pt-br.js":"2e668","./pt.js":"59a0","./ro":"bb93","./ro.js":"bb93","./ru":"a401","./ru.js":"a401","./sd":"8342","./sd.js":"8342","./se":"8a80","./se.js":"8a80","./si":"f892","./si.js":"f892","./sk":"b4f3","./sk.js":"b4f3","./sl":"1834","./sl.js":"1834","./sq":"3cab","./sq.js":"3cab","./sr":"cd57","./sr-cyrl":"24a4","./sr-cyrl.js":"24a4","./sr.js":"cd57","./ss":"721a","./ss.js":"721a","./sv":"82d0","./sv.js":"82d0","./sw":"c937","./sw.js":"c937","./ta":"99fd","./ta.js":"99fd","./te":"e39c1","./te.js":"e39c1","./tet":"d195","./tet.js":"d195","./tg":"347f","./tg.js":"347f","./th":"b787","./th.js":"b787","./tk":"fdb3","./tk.js":"fdb3","./tl-ph":"b867","./tl-ph.js":"b867","./tlh":"ab09","./tlh.js":"ab09","./tr":"cf4f","./tr.js":"cf4f","./tzl":"a974","./tzl.js":"a974","./tzm":"6f03","./tzm-latn":"a5c8","./tzm-latn.js":"a5c8","./tzm.js":"6f03","./ug-cn":"e77b","./ug-cn.js":"e77b","./uk":"22ae","./uk.js":"22ae","./ur":"56dd","./ur.js":"56dd","./uz":"76d3","./uz-latn":"e1a9","./uz-latn.js":"e1a9","./uz.js":"76d3","./vi":"2bf9","./vi.js":"2bf9","./x-pseudo":"eae7","./x-pseudo.js":"eae7","./yo":"e7fe","./yo.js":"e7fe","./zh-cn":"16f1","./zh-cn.js":"16f1","./zh-hk":"1299","./zh-hk.js":"1299","./zh-mo":"939f","./zh-mo.js":"939f","./zh-tw":"378e","./zh-tw.js":"378e"};function r(t){var n=o(t);return i(n)}function o(t){if(!i.o(a,t)){var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}return a[t]}r.keys=function(){return Object.keys(a)},r.resolve=o,t.exports=r,r.id="e8b4"},f61f:function(t,n,i){"use strict";var a=i("e34a"),r=i.n(a);r.a},f77c:function(t,n,i){"use strict";i("6a54");var a=i("f5bd").default;Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0,i("c223");var r=a(i("fcf3")),o=a(i("b599"));var e=function t(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(n=(0,o.default)(n),"object"!==(0,r.default)(n)||"object"!==(0,r.default)(i))return!1;for(var a in i)i.hasOwnProperty(a)&&(a in n?"object"!==(0,r.default)(n[a])||"object"!==(0,r.default)(i[a])?n[a]=i[a]:n[a].concat&&i[a].concat?n[a]=n[a].concat(i[a]):n[a]=t(n[a],i[a]):n[a]=i[a]);return n};n.default=e}}); \ No newline at end of file +(function(t){function n(n){for(var a,e,p=n[0],d=n[1],u=n[2],g=0,s=[];g=0},range:function(t,n){return t>=n[0]&&t<=n[1]},rangeLength:function(t,n){return t.length>=n[0]&&t.length<=n[1]},empty:o,isEmpty:o,jsonString:function(t){if("string"==typeof t)try{var n=JSON.parse(t);return!("object"!=(0,r.default)(n)||!n)}catch(i){return!1}return!1},landline:function(t){return/^\d{3,4}-\d{7,8}(-\d{3,4})?$/.test(t)},object:function(t){return"[object Object]"===Object.prototype.toString.call(t)},array:function(t){return"function"===typeof Array.isArray?Array.isArray(t):"[object Array]"===Object.prototype.toString.call(t)},code:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:6;return new RegExp("^\\d{".concat(n,"}$")).test(t)}};n.default=e},"0154":function(t,n,i){"use strict";i("6a54"),Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;n.default={toast:10090,noNetwork:10080,popup:10075,mask:10070,navbar:980,topTips:975,sticky:970,indexListSticky:965}},"033e":function(t,n,i){"use strict";i("6a54"),Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0,i("4100");var a=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return t.sort((function(){return Math.random()-.5}))};n.default=a},"068c":function(t,n,i){var a=i("c86c");n=a(!1),n.push([t.i,'@charset "UTF-8";\n/* 颜色变量 */\n/* 行为相关颜色 */\n/* 文字基本颜色 */\n/* 背景颜色 */\n/* 边框颜色 */\n/* 尺寸变量 */\n/* 文字尺寸 */\n/* 图片尺寸 */\n/* Border Radius */\n/* 水平间距 */\n/* 垂直间距 */\n/* 透明度 */\n/* 文章场景相关 */\n/* uni.scss */\n/*每个页面公共css */.u-relative,\n.u-rela{position:relative}.u-absolute,\n.u-abso{position:absolute}\nuni-image{display:inline-block}uni-view,\nuni-text{box-sizing:border-box}\n.u-font-xs{font-size:%?22?%}.u-font-sm{font-size:%?26?%}.u-font-md{font-size:%?28?%}.u-font-lg{font-size:%?30?%}.u-font-xl{font-size:%?34?%}.u-flex{\ndisplay:flex;\nflex-direction:row;align-items:center}.u-flex-wrap{flex-wrap:wrap}.u-flex-nowrap{flex-wrap:nowrap}.u-col-center{align-items:center}.u-col-top{align-items:flex-start}.u-col-bottom{align-items:flex-end}.u-row-center{justify-content:center}.u-row-left{justify-content:flex-start}.u-row-right{justify-content:flex-end}.u-row-between{justify-content:space-between}.u-row-around{justify-content:space-around}.u-text-left{text-align:left}.u-text-center{text-align:center}.u-text-right{text-align:right}.u-flex-col{\ndisplay:flex;\nflex-direction:column}.u-flex-0{flex:0}.u-flex-1{flex:1}.u-flex-2{flex:2}.u-flex-3{flex:3}.u-flex-4{flex:4}.u-flex-5{flex:5}.u-flex-6{flex:6}.u-flex-7{flex:7}.u-flex-8{flex:8}.u-flex-9{flex:9}.u-flex-10{flex:10}.u-flex-11{flex:11}.u-flex-12{flex:12}.u-font-9{font-size:9px}.u-font-10{font-size:10px}.u-font-11{font-size:11px}.u-font-12{font-size:12px}.u-font-13{font-size:13px}.u-font-14{font-size:14px}.u-font-15{font-size:15px}.u-font-16{font-size:16px}.u-font-17{font-size:17px}.u-font-18{font-size:18px}.u-font-19{font-size:19px}.u-font-20{font-size:%?20?%}.u-font-21{font-size:%?21?%}.u-font-22{font-size:%?22?%}.u-font-23{font-size:%?23?%}.u-font-24{font-size:%?24?%}.u-font-25{font-size:%?25?%}.u-font-26{font-size:%?26?%}.u-font-27{font-size:%?27?%}.u-font-28{font-size:%?28?%}.u-font-29{font-size:%?29?%}.u-font-30{font-size:%?30?%}.u-font-31{font-size:%?31?%}.u-font-32{font-size:%?32?%}.u-font-33{font-size:%?33?%}.u-font-34{font-size:%?34?%}.u-font-35{font-size:%?35?%}.u-font-36{font-size:%?36?%}.u-font-37{font-size:%?37?%}.u-font-38{font-size:%?38?%}.u-font-39{font-size:%?39?%}.u-font-40{font-size:%?40?%}.u-margin-0, .u-m-0{margin:%?0?%!important}.u-padding-0, .u-p-0{padding:%?0?%!important}.u-m-l-0{margin-left:%?0?%!important}.u-p-l-0{padding-left:%?0?%!important}.u-margin-left-0{margin-left:%?0?%!important}.u-padding-left-0{padding-left:%?0?%!important}.u-m-t-0{margin-top:%?0?%!important}.u-p-t-0{padding-top:%?0?%!important}.u-margin-top-0{margin-top:%?0?%!important}.u-padding-top-0{padding-top:%?0?%!important}.u-m-r-0{margin-right:%?0?%!important}.u-p-r-0{padding-right:%?0?%!important}.u-margin-right-0{margin-right:%?0?%!important}.u-padding-right-0{padding-right:%?0?%!important}.u-m-b-0{margin-bottom:%?0?%!important}.u-p-b-0{padding-bottom:%?0?%!important}.u-margin-bottom-0{margin-bottom:%?0?%!important}.u-padding-bottom-0{padding-bottom:%?0?%!important}.u-margin-2, .u-m-2{margin:%?2?%!important}.u-padding-2, .u-p-2{padding:%?2?%!important}.u-m-l-2{margin-left:%?2?%!important}.u-p-l-2{padding-left:%?2?%!important}.u-margin-left-2{margin-left:%?2?%!important}.u-padding-left-2{padding-left:%?2?%!important}.u-m-t-2{margin-top:%?2?%!important}.u-p-t-2{padding-top:%?2?%!important}.u-margin-top-2{margin-top:%?2?%!important}.u-padding-top-2{padding-top:%?2?%!important}.u-m-r-2{margin-right:%?2?%!important}.u-p-r-2{padding-right:%?2?%!important}.u-margin-right-2{margin-right:%?2?%!important}.u-padding-right-2{padding-right:%?2?%!important}.u-m-b-2{margin-bottom:%?2?%!important}.u-p-b-2{padding-bottom:%?2?%!important}.u-margin-bottom-2{margin-bottom:%?2?%!important}.u-padding-bottom-2{padding-bottom:%?2?%!important}.u-margin-4, .u-m-4{margin:%?4?%!important}.u-padding-4, .u-p-4{padding:%?4?%!important}.u-m-l-4{margin-left:%?4?%!important}.u-p-l-4{padding-left:%?4?%!important}.u-margin-left-4{margin-left:%?4?%!important}.u-padding-left-4{padding-left:%?4?%!important}.u-m-t-4{margin-top:%?4?%!important}.u-p-t-4{padding-top:%?4?%!important}.u-margin-top-4{margin-top:%?4?%!important}.u-padding-top-4{padding-top:%?4?%!important}.u-m-r-4{margin-right:%?4?%!important}.u-p-r-4{padding-right:%?4?%!important}.u-margin-right-4{margin-right:%?4?%!important}.u-padding-right-4{padding-right:%?4?%!important}.u-m-b-4{margin-bottom:%?4?%!important}.u-p-b-4{padding-bottom:%?4?%!important}.u-margin-bottom-4{margin-bottom:%?4?%!important}.u-padding-bottom-4{padding-bottom:%?4?%!important}.u-margin-5, .u-m-5{margin:%?5?%!important}.u-padding-5, .u-p-5{padding:%?5?%!important}.u-m-l-5{margin-left:%?5?%!important}.u-p-l-5{padding-left:%?5?%!important}.u-margin-left-5{margin-left:%?5?%!important}.u-padding-left-5{padding-left:%?5?%!important}.u-m-t-5{margin-top:%?5?%!important}.u-p-t-5{padding-top:%?5?%!important}.u-margin-top-5{margin-top:%?5?%!important}.u-padding-top-5{padding-top:%?5?%!important}.u-m-r-5{margin-right:%?5?%!important}.u-p-r-5{padding-right:%?5?%!important}.u-margin-right-5{margin-right:%?5?%!important}.u-padding-right-5{padding-right:%?5?%!important}.u-m-b-5{margin-bottom:%?5?%!important}.u-p-b-5{padding-bottom:%?5?%!important}.u-margin-bottom-5{margin-bottom:%?5?%!important}.u-padding-bottom-5{padding-bottom:%?5?%!important}.u-margin-6, .u-m-6{margin:%?6?%!important}.u-padding-6, .u-p-6{padding:%?6?%!important}.u-m-l-6{margin-left:%?6?%!important}.u-p-l-6{padding-left:%?6?%!important}.u-margin-left-6{margin-left:%?6?%!important}.u-padding-left-6{padding-left:%?6?%!important}.u-m-t-6{margin-top:%?6?%!important}.u-p-t-6{padding-top:%?6?%!important}.u-margin-top-6{margin-top:%?6?%!important}.u-padding-top-6{padding-top:%?6?%!important}.u-m-r-6{margin-right:%?6?%!important}.u-p-r-6{padding-right:%?6?%!important}.u-margin-right-6{margin-right:%?6?%!important}.u-padding-right-6{padding-right:%?6?%!important}.u-m-b-6{margin-bottom:%?6?%!important}.u-p-b-6{padding-bottom:%?6?%!important}.u-margin-bottom-6{margin-bottom:%?6?%!important}.u-padding-bottom-6{padding-bottom:%?6?%!important}.u-margin-8, .u-m-8{margin:%?8?%!important}.u-padding-8, .u-p-8{padding:%?8?%!important}.u-m-l-8{margin-left:%?8?%!important}.u-p-l-8{padding-left:%?8?%!important}.u-margin-left-8{margin-left:%?8?%!important}.u-padding-left-8{padding-left:%?8?%!important}.u-m-t-8{margin-top:%?8?%!important}.u-p-t-8{padding-top:%?8?%!important}.u-margin-top-8{margin-top:%?8?%!important}.u-padding-top-8{padding-top:%?8?%!important}.u-m-r-8{margin-right:%?8?%!important}.u-p-r-8{padding-right:%?8?%!important}.u-margin-right-8{margin-right:%?8?%!important}.u-padding-right-8{padding-right:%?8?%!important}.u-m-b-8{margin-bottom:%?8?%!important}.u-p-b-8{padding-bottom:%?8?%!important}.u-margin-bottom-8{margin-bottom:%?8?%!important}.u-padding-bottom-8{padding-bottom:%?8?%!important}.u-margin-10, .u-m-10{margin:%?10?%!important}.u-padding-10, .u-p-10{padding:%?10?%!important}.u-m-l-10{margin-left:%?10?%!important}.u-p-l-10{padding-left:%?10?%!important}.u-margin-left-10{margin-left:%?10?%!important}.u-padding-left-10{padding-left:%?10?%!important}.u-m-t-10{margin-top:%?10?%!important}.u-p-t-10{padding-top:%?10?%!important}.u-margin-top-10{margin-top:%?10?%!important}.u-padding-top-10{padding-top:%?10?%!important}.u-m-r-10{margin-right:%?10?%!important}.u-p-r-10{padding-right:%?10?%!important}.u-margin-right-10{margin-right:%?10?%!important}.u-padding-right-10{padding-right:%?10?%!important}.u-m-b-10{margin-bottom:%?10?%!important}.u-p-b-10{padding-bottom:%?10?%!important}.u-margin-bottom-10{margin-bottom:%?10?%!important}.u-padding-bottom-10{padding-bottom:%?10?%!important}.u-margin-12, .u-m-12{margin:%?12?%!important}.u-padding-12, .u-p-12{padding:%?12?%!important}.u-m-l-12{margin-left:%?12?%!important}.u-p-l-12{padding-left:%?12?%!important}.u-margin-left-12{margin-left:%?12?%!important}.u-padding-left-12{padding-left:%?12?%!important}.u-m-t-12{margin-top:%?12?%!important}.u-p-t-12{padding-top:%?12?%!important}.u-margin-top-12{margin-top:%?12?%!important}.u-padding-top-12{padding-top:%?12?%!important}.u-m-r-12{margin-right:%?12?%!important}.u-p-r-12{padding-right:%?12?%!important}.u-margin-right-12{margin-right:%?12?%!important}.u-padding-right-12{padding-right:%?12?%!important}.u-m-b-12{margin-bottom:%?12?%!important}.u-p-b-12{padding-bottom:%?12?%!important}.u-margin-bottom-12{margin-bottom:%?12?%!important}.u-padding-bottom-12{padding-bottom:%?12?%!important}.u-margin-14, .u-m-14{margin:%?14?%!important}.u-padding-14, .u-p-14{padding:%?14?%!important}.u-m-l-14{margin-left:%?14?%!important}.u-p-l-14{padding-left:%?14?%!important}.u-margin-left-14{margin-left:%?14?%!important}.u-padding-left-14{padding-left:%?14?%!important}.u-m-t-14{margin-top:%?14?%!important}.u-p-t-14{padding-top:%?14?%!important}.u-margin-top-14{margin-top:%?14?%!important}.u-padding-top-14{padding-top:%?14?%!important}.u-m-r-14{margin-right:%?14?%!important}.u-p-r-14{padding-right:%?14?%!important}.u-margin-right-14{margin-right:%?14?%!important}.u-padding-right-14{padding-right:%?14?%!important}.u-m-b-14{margin-bottom:%?14?%!important}.u-p-b-14{padding-bottom:%?14?%!important}.u-margin-bottom-14{margin-bottom:%?14?%!important}.u-padding-bottom-14{padding-bottom:%?14?%!important}.u-margin-15, .u-m-15{margin:%?15?%!important}.u-padding-15, .u-p-15{padding:%?15?%!important}.u-m-l-15{margin-left:%?15?%!important}.u-p-l-15{padding-left:%?15?%!important}.u-margin-left-15{margin-left:%?15?%!important}.u-padding-left-15{padding-left:%?15?%!important}.u-m-t-15{margin-top:%?15?%!important}.u-p-t-15{padding-top:%?15?%!important}.u-margin-top-15{margin-top:%?15?%!important}.u-padding-top-15{padding-top:%?15?%!important}.u-m-r-15{margin-right:%?15?%!important}.u-p-r-15{padding-right:%?15?%!important}.u-margin-right-15{margin-right:%?15?%!important}.u-padding-right-15{padding-right:%?15?%!important}.u-m-b-15{margin-bottom:%?15?%!important}.u-p-b-15{padding-bottom:%?15?%!important}.u-margin-bottom-15{margin-bottom:%?15?%!important}.u-padding-bottom-15{padding-bottom:%?15?%!important}.u-margin-16, .u-m-16{margin:%?16?%!important}.u-padding-16, .u-p-16{padding:%?16?%!important}.u-m-l-16{margin-left:%?16?%!important}.u-p-l-16{padding-left:%?16?%!important}.u-margin-left-16{margin-left:%?16?%!important}.u-padding-left-16{padding-left:%?16?%!important}.u-m-t-16{margin-top:%?16?%!important}.u-p-t-16{padding-top:%?16?%!important}.u-margin-top-16{margin-top:%?16?%!important}.u-padding-top-16{padding-top:%?16?%!important}.u-m-r-16{margin-right:%?16?%!important}.u-p-r-16{padding-right:%?16?%!important}.u-margin-right-16{margin-right:%?16?%!important}.u-padding-right-16{padding-right:%?16?%!important}.u-m-b-16{margin-bottom:%?16?%!important}.u-p-b-16{padding-bottom:%?16?%!important}.u-margin-bottom-16{margin-bottom:%?16?%!important}.u-padding-bottom-16{padding-bottom:%?16?%!important}.u-margin-18, .u-m-18{margin:%?18?%!important}.u-padding-18, .u-p-18{padding:%?18?%!important}.u-m-l-18{margin-left:%?18?%!important}.u-p-l-18{padding-left:%?18?%!important}.u-margin-left-18{margin-left:%?18?%!important}.u-padding-left-18{padding-left:%?18?%!important}.u-m-t-18{margin-top:%?18?%!important}.u-p-t-18{padding-top:%?18?%!important}.u-margin-top-18{margin-top:%?18?%!important}.u-padding-top-18{padding-top:%?18?%!important}.u-m-r-18{margin-right:%?18?%!important}.u-p-r-18{padding-right:%?18?%!important}.u-margin-right-18{margin-right:%?18?%!important}.u-padding-right-18{padding-right:%?18?%!important}.u-m-b-18{margin-bottom:%?18?%!important}.u-p-b-18{padding-bottom:%?18?%!important}.u-margin-bottom-18{margin-bottom:%?18?%!important}.u-padding-bottom-18{padding-bottom:%?18?%!important}.u-margin-20, .u-m-20{margin:%?20?%!important}.u-padding-20, .u-p-20{padding:%?20?%!important}.u-m-l-20{margin-left:%?20?%!important}.u-p-l-20{padding-left:%?20?%!important}.u-margin-left-20{margin-left:%?20?%!important}.u-padding-left-20{padding-left:%?20?%!important}.u-m-t-20{margin-top:%?20?%!important}.u-p-t-20{padding-top:%?20?%!important}.u-margin-top-20{margin-top:%?20?%!important}.u-padding-top-20{padding-top:%?20?%!important}.u-m-r-20{margin-right:%?20?%!important}.u-p-r-20{padding-right:%?20?%!important}.u-margin-right-20{margin-right:%?20?%!important}.u-padding-right-20{padding-right:%?20?%!important}.u-m-b-20{margin-bottom:%?20?%!important}.u-p-b-20{padding-bottom:%?20?%!important}.u-margin-bottom-20{margin-bottom:%?20?%!important}.u-padding-bottom-20{padding-bottom:%?20?%!important}.u-margin-22, .u-m-22{margin:%?22?%!important}.u-padding-22, .u-p-22{padding:%?22?%!important}.u-m-l-22{margin-left:%?22?%!important}.u-p-l-22{padding-left:%?22?%!important}.u-margin-left-22{margin-left:%?22?%!important}.u-padding-left-22{padding-left:%?22?%!important}.u-m-t-22{margin-top:%?22?%!important}.u-p-t-22{padding-top:%?22?%!important}.u-margin-top-22{margin-top:%?22?%!important}.u-padding-top-22{padding-top:%?22?%!important}.u-m-r-22{margin-right:%?22?%!important}.u-p-r-22{padding-right:%?22?%!important}.u-margin-right-22{margin-right:%?22?%!important}.u-padding-right-22{padding-right:%?22?%!important}.u-m-b-22{margin-bottom:%?22?%!important}.u-p-b-22{padding-bottom:%?22?%!important}.u-margin-bottom-22{margin-bottom:%?22?%!important}.u-padding-bottom-22{padding-bottom:%?22?%!important}.u-margin-24, .u-m-24{margin:%?24?%!important}.u-padding-24, .u-p-24{padding:%?24?%!important}.u-m-l-24{margin-left:%?24?%!important}.u-p-l-24{padding-left:%?24?%!important}.u-margin-left-24{margin-left:%?24?%!important}.u-padding-left-24{padding-left:%?24?%!important}.u-m-t-24{margin-top:%?24?%!important}.u-p-t-24{padding-top:%?24?%!important}.u-margin-top-24{margin-top:%?24?%!important}.u-padding-top-24{padding-top:%?24?%!important}.u-m-r-24{margin-right:%?24?%!important}.u-p-r-24{padding-right:%?24?%!important}.u-margin-right-24{margin-right:%?24?%!important}.u-padding-right-24{padding-right:%?24?%!important}.u-m-b-24{margin-bottom:%?24?%!important}.u-p-b-24{padding-bottom:%?24?%!important}.u-margin-bottom-24{margin-bottom:%?24?%!important}.u-padding-bottom-24{padding-bottom:%?24?%!important}.u-margin-25, .u-m-25{margin:%?25?%!important}.u-padding-25, .u-p-25{padding:%?25?%!important}.u-m-l-25{margin-left:%?25?%!important}.u-p-l-25{padding-left:%?25?%!important}.u-margin-left-25{margin-left:%?25?%!important}.u-padding-left-25{padding-left:%?25?%!important}.u-m-t-25{margin-top:%?25?%!important}.u-p-t-25{padding-top:%?25?%!important}.u-margin-top-25{margin-top:%?25?%!important}.u-padding-top-25{padding-top:%?25?%!important}.u-m-r-25{margin-right:%?25?%!important}.u-p-r-25{padding-right:%?25?%!important}.u-margin-right-25{margin-right:%?25?%!important}.u-padding-right-25{padding-right:%?25?%!important}.u-m-b-25{margin-bottom:%?25?%!important}.u-p-b-25{padding-bottom:%?25?%!important}.u-margin-bottom-25{margin-bottom:%?25?%!important}.u-padding-bottom-25{padding-bottom:%?25?%!important}.u-margin-26, .u-m-26{margin:%?26?%!important}.u-padding-26, .u-p-26{padding:%?26?%!important}.u-m-l-26{margin-left:%?26?%!important}.u-p-l-26{padding-left:%?26?%!important}.u-margin-left-26{margin-left:%?26?%!important}.u-padding-left-26{padding-left:%?26?%!important}.u-m-t-26{margin-top:%?26?%!important}.u-p-t-26{padding-top:%?26?%!important}.u-margin-top-26{margin-top:%?26?%!important}.u-padding-top-26{padding-top:%?26?%!important}.u-m-r-26{margin-right:%?26?%!important}.u-p-r-26{padding-right:%?26?%!important}.u-margin-right-26{margin-right:%?26?%!important}.u-padding-right-26{padding-right:%?26?%!important}.u-m-b-26{margin-bottom:%?26?%!important}.u-p-b-26{padding-bottom:%?26?%!important}.u-margin-bottom-26{margin-bottom:%?26?%!important}.u-padding-bottom-26{padding-bottom:%?26?%!important}.u-margin-28, .u-m-28{margin:%?28?%!important}.u-padding-28, .u-p-28{padding:%?28?%!important}.u-m-l-28{margin-left:%?28?%!important}.u-p-l-28{padding-left:%?28?%!important}.u-margin-left-28{margin-left:%?28?%!important}.u-padding-left-28{padding-left:%?28?%!important}.u-m-t-28{margin-top:%?28?%!important}.u-p-t-28{padding-top:%?28?%!important}.u-margin-top-28{margin-top:%?28?%!important}.u-padding-top-28{padding-top:%?28?%!important}.u-m-r-28{margin-right:%?28?%!important}.u-p-r-28{padding-right:%?28?%!important}.u-margin-right-28{margin-right:%?28?%!important}.u-padding-right-28{padding-right:%?28?%!important}.u-m-b-28{margin-bottom:%?28?%!important}.u-p-b-28{padding-bottom:%?28?%!important}.u-margin-bottom-28{margin-bottom:%?28?%!important}.u-padding-bottom-28{padding-bottom:%?28?%!important}.u-margin-30, .u-m-30{margin:%?30?%!important}.u-padding-30, .u-p-30{padding:%?30?%!important}.u-m-l-30{margin-left:%?30?%!important}.u-p-l-30{padding-left:%?30?%!important}.u-margin-left-30{margin-left:%?30?%!important}.u-padding-left-30{padding-left:%?30?%!important}.u-m-t-30{margin-top:%?30?%!important}.u-p-t-30{padding-top:%?30?%!important}.u-margin-top-30{margin-top:%?30?%!important}.u-padding-top-30{padding-top:%?30?%!important}.u-m-r-30{margin-right:%?30?%!important}.u-p-r-30{padding-right:%?30?%!important}.u-margin-right-30{margin-right:%?30?%!important}.u-padding-right-30{padding-right:%?30?%!important}.u-m-b-30{margin-bottom:%?30?%!important}.u-p-b-30{padding-bottom:%?30?%!important}.u-margin-bottom-30{margin-bottom:%?30?%!important}.u-padding-bottom-30{padding-bottom:%?30?%!important}.u-margin-32, .u-m-32{margin:%?32?%!important}.u-padding-32, .u-p-32{padding:%?32?%!important}.u-m-l-32{margin-left:%?32?%!important}.u-p-l-32{padding-left:%?32?%!important}.u-margin-left-32{margin-left:%?32?%!important}.u-padding-left-32{padding-left:%?32?%!important}.u-m-t-32{margin-top:%?32?%!important}.u-p-t-32{padding-top:%?32?%!important}.u-margin-top-32{margin-top:%?32?%!important}.u-padding-top-32{padding-top:%?32?%!important}.u-m-r-32{margin-right:%?32?%!important}.u-p-r-32{padding-right:%?32?%!important}.u-margin-right-32{margin-right:%?32?%!important}.u-padding-right-32{padding-right:%?32?%!important}.u-m-b-32{margin-bottom:%?32?%!important}.u-p-b-32{padding-bottom:%?32?%!important}.u-margin-bottom-32{margin-bottom:%?32?%!important}.u-padding-bottom-32{padding-bottom:%?32?%!important}.u-margin-34, .u-m-34{margin:%?34?%!important}.u-padding-34, .u-p-34{padding:%?34?%!important}.u-m-l-34{margin-left:%?34?%!important}.u-p-l-34{padding-left:%?34?%!important}.u-margin-left-34{margin-left:%?34?%!important}.u-padding-left-34{padding-left:%?34?%!important}.u-m-t-34{margin-top:%?34?%!important}.u-p-t-34{padding-top:%?34?%!important}.u-margin-top-34{margin-top:%?34?%!important}.u-padding-top-34{padding-top:%?34?%!important}.u-m-r-34{margin-right:%?34?%!important}.u-p-r-34{padding-right:%?34?%!important}.u-margin-right-34{margin-right:%?34?%!important}.u-padding-right-34{padding-right:%?34?%!important}.u-m-b-34{margin-bottom:%?34?%!important}.u-p-b-34{padding-bottom:%?34?%!important}.u-margin-bottom-34{margin-bottom:%?34?%!important}.u-padding-bottom-34{padding-bottom:%?34?%!important}.u-margin-35, .u-m-35{margin:%?35?%!important}.u-padding-35, .u-p-35{padding:%?35?%!important}.u-m-l-35{margin-left:%?35?%!important}.u-p-l-35{padding-left:%?35?%!important}.u-margin-left-35{margin-left:%?35?%!important}.u-padding-left-35{padding-left:%?35?%!important}.u-m-t-35{margin-top:%?35?%!important}.u-p-t-35{padding-top:%?35?%!important}.u-margin-top-35{margin-top:%?35?%!important}.u-padding-top-35{padding-top:%?35?%!important}.u-m-r-35{margin-right:%?35?%!important}.u-p-r-35{padding-right:%?35?%!important}.u-margin-right-35{margin-right:%?35?%!important}.u-padding-right-35{padding-right:%?35?%!important}.u-m-b-35{margin-bottom:%?35?%!important}.u-p-b-35{padding-bottom:%?35?%!important}.u-margin-bottom-35{margin-bottom:%?35?%!important}.u-padding-bottom-35{padding-bottom:%?35?%!important}.u-margin-36, .u-m-36{margin:%?36?%!important}.u-padding-36, .u-p-36{padding:%?36?%!important}.u-m-l-36{margin-left:%?36?%!important}.u-p-l-36{padding-left:%?36?%!important}.u-margin-left-36{margin-left:%?36?%!important}.u-padding-left-36{padding-left:%?36?%!important}.u-m-t-36{margin-top:%?36?%!important}.u-p-t-36{padding-top:%?36?%!important}.u-margin-top-36{margin-top:%?36?%!important}.u-padding-top-36{padding-top:%?36?%!important}.u-m-r-36{margin-right:%?36?%!important}.u-p-r-36{padding-right:%?36?%!important}.u-margin-right-36{margin-right:%?36?%!important}.u-padding-right-36{padding-right:%?36?%!important}.u-m-b-36{margin-bottom:%?36?%!important}.u-p-b-36{padding-bottom:%?36?%!important}.u-margin-bottom-36{margin-bottom:%?36?%!important}.u-padding-bottom-36{padding-bottom:%?36?%!important}.u-margin-38, .u-m-38{margin:%?38?%!important}.u-padding-38, .u-p-38{padding:%?38?%!important}.u-m-l-38{margin-left:%?38?%!important}.u-p-l-38{padding-left:%?38?%!important}.u-margin-left-38{margin-left:%?38?%!important}.u-padding-left-38{padding-left:%?38?%!important}.u-m-t-38{margin-top:%?38?%!important}.u-p-t-38{padding-top:%?38?%!important}.u-margin-top-38{margin-top:%?38?%!important}.u-padding-top-38{padding-top:%?38?%!important}.u-m-r-38{margin-right:%?38?%!important}.u-p-r-38{padding-right:%?38?%!important}.u-margin-right-38{margin-right:%?38?%!important}.u-padding-right-38{padding-right:%?38?%!important}.u-m-b-38{margin-bottom:%?38?%!important}.u-p-b-38{padding-bottom:%?38?%!important}.u-margin-bottom-38{margin-bottom:%?38?%!important}.u-padding-bottom-38{padding-bottom:%?38?%!important}.u-margin-40, .u-m-40{margin:%?40?%!important}.u-padding-40, .u-p-40{padding:%?40?%!important}.u-m-l-40{margin-left:%?40?%!important}.u-p-l-40{padding-left:%?40?%!important}.u-margin-left-40{margin-left:%?40?%!important}.u-padding-left-40{padding-left:%?40?%!important}.u-m-t-40{margin-top:%?40?%!important}.u-p-t-40{padding-top:%?40?%!important}.u-margin-top-40{margin-top:%?40?%!important}.u-padding-top-40{padding-top:%?40?%!important}.u-m-r-40{margin-right:%?40?%!important}.u-p-r-40{padding-right:%?40?%!important}.u-margin-right-40{margin-right:%?40?%!important}.u-padding-right-40{padding-right:%?40?%!important}.u-m-b-40{margin-bottom:%?40?%!important}.u-p-b-40{padding-bottom:%?40?%!important}.u-margin-bottom-40{margin-bottom:%?40?%!important}.u-padding-bottom-40{padding-bottom:%?40?%!important}.u-margin-42, .u-m-42{margin:%?42?%!important}.u-padding-42, .u-p-42{padding:%?42?%!important}.u-m-l-42{margin-left:%?42?%!important}.u-p-l-42{padding-left:%?42?%!important}.u-margin-left-42{margin-left:%?42?%!important}.u-padding-left-42{padding-left:%?42?%!important}.u-m-t-42{margin-top:%?42?%!important}.u-p-t-42{padding-top:%?42?%!important}.u-margin-top-42{margin-top:%?42?%!important}.u-padding-top-42{padding-top:%?42?%!important}.u-m-r-42{margin-right:%?42?%!important}.u-p-r-42{padding-right:%?42?%!important}.u-margin-right-42{margin-right:%?42?%!important}.u-padding-right-42{padding-right:%?42?%!important}.u-m-b-42{margin-bottom:%?42?%!important}.u-p-b-42{padding-bottom:%?42?%!important}.u-margin-bottom-42{margin-bottom:%?42?%!important}.u-padding-bottom-42{padding-bottom:%?42?%!important}.u-margin-44, .u-m-44{margin:%?44?%!important}.u-padding-44, .u-p-44{padding:%?44?%!important}.u-m-l-44{margin-left:%?44?%!important}.u-p-l-44{padding-left:%?44?%!important}.u-margin-left-44{margin-left:%?44?%!important}.u-padding-left-44{padding-left:%?44?%!important}.u-m-t-44{margin-top:%?44?%!important}.u-p-t-44{padding-top:%?44?%!important}.u-margin-top-44{margin-top:%?44?%!important}.u-padding-top-44{padding-top:%?44?%!important}.u-m-r-44{margin-right:%?44?%!important}.u-p-r-44{padding-right:%?44?%!important}.u-margin-right-44{margin-right:%?44?%!important}.u-padding-right-44{padding-right:%?44?%!important}.u-m-b-44{margin-bottom:%?44?%!important}.u-p-b-44{padding-bottom:%?44?%!important}.u-margin-bottom-44{margin-bottom:%?44?%!important}.u-padding-bottom-44{padding-bottom:%?44?%!important}.u-margin-45, .u-m-45{margin:%?45?%!important}.u-padding-45, .u-p-45{padding:%?45?%!important}.u-m-l-45{margin-left:%?45?%!important}.u-p-l-45{padding-left:%?45?%!important}.u-margin-left-45{margin-left:%?45?%!important}.u-padding-left-45{padding-left:%?45?%!important}.u-m-t-45{margin-top:%?45?%!important}.u-p-t-45{padding-top:%?45?%!important}.u-margin-top-45{margin-top:%?45?%!important}.u-padding-top-45{padding-top:%?45?%!important}.u-m-r-45{margin-right:%?45?%!important}.u-p-r-45{padding-right:%?45?%!important}.u-margin-right-45{margin-right:%?45?%!important}.u-padding-right-45{padding-right:%?45?%!important}.u-m-b-45{margin-bottom:%?45?%!important}.u-p-b-45{padding-bottom:%?45?%!important}.u-margin-bottom-45{margin-bottom:%?45?%!important}.u-padding-bottom-45{padding-bottom:%?45?%!important}.u-margin-46, .u-m-46{margin:%?46?%!important}.u-padding-46, .u-p-46{padding:%?46?%!important}.u-m-l-46{margin-left:%?46?%!important}.u-p-l-46{padding-left:%?46?%!important}.u-margin-left-46{margin-left:%?46?%!important}.u-padding-left-46{padding-left:%?46?%!important}.u-m-t-46{margin-top:%?46?%!important}.u-p-t-46{padding-top:%?46?%!important}.u-margin-top-46{margin-top:%?46?%!important}.u-padding-top-46{padding-top:%?46?%!important}.u-m-r-46{margin-right:%?46?%!important}.u-p-r-46{padding-right:%?46?%!important}.u-margin-right-46{margin-right:%?46?%!important}.u-padding-right-46{padding-right:%?46?%!important}.u-m-b-46{margin-bottom:%?46?%!important}.u-p-b-46{padding-bottom:%?46?%!important}.u-margin-bottom-46{margin-bottom:%?46?%!important}.u-padding-bottom-46{padding-bottom:%?46?%!important}.u-margin-48, .u-m-48{margin:%?48?%!important}.u-padding-48, .u-p-48{padding:%?48?%!important}.u-m-l-48{margin-left:%?48?%!important}.u-p-l-48{padding-left:%?48?%!important}.u-margin-left-48{margin-left:%?48?%!important}.u-padding-left-48{padding-left:%?48?%!important}.u-m-t-48{margin-top:%?48?%!important}.u-p-t-48{padding-top:%?48?%!important}.u-margin-top-48{margin-top:%?48?%!important}.u-padding-top-48{padding-top:%?48?%!important}.u-m-r-48{margin-right:%?48?%!important}.u-p-r-48{padding-right:%?48?%!important}.u-margin-right-48{margin-right:%?48?%!important}.u-padding-right-48{padding-right:%?48?%!important}.u-m-b-48{margin-bottom:%?48?%!important}.u-p-b-48{padding-bottom:%?48?%!important}.u-margin-bottom-48{margin-bottom:%?48?%!important}.u-padding-bottom-48{padding-bottom:%?48?%!important}.u-margin-50, .u-m-50{margin:%?50?%!important}.u-padding-50, .u-p-50{padding:%?50?%!important}.u-m-l-50{margin-left:%?50?%!important}.u-p-l-50{padding-left:%?50?%!important}.u-margin-left-50{margin-left:%?50?%!important}.u-padding-left-50{padding-left:%?50?%!important}.u-m-t-50{margin-top:%?50?%!important}.u-p-t-50{padding-top:%?50?%!important}.u-margin-top-50{margin-top:%?50?%!important}.u-padding-top-50{padding-top:%?50?%!important}.u-m-r-50{margin-right:%?50?%!important}.u-p-r-50{padding-right:%?50?%!important}.u-margin-right-50{margin-right:%?50?%!important}.u-padding-right-50{padding-right:%?50?%!important}.u-m-b-50{margin-bottom:%?50?%!important}.u-p-b-50{padding-bottom:%?50?%!important}.u-margin-bottom-50{margin-bottom:%?50?%!important}.u-padding-bottom-50{padding-bottom:%?50?%!important}.u-margin-52, .u-m-52{margin:%?52?%!important}.u-padding-52, .u-p-52{padding:%?52?%!important}.u-m-l-52{margin-left:%?52?%!important}.u-p-l-52{padding-left:%?52?%!important}.u-margin-left-52{margin-left:%?52?%!important}.u-padding-left-52{padding-left:%?52?%!important}.u-m-t-52{margin-top:%?52?%!important}.u-p-t-52{padding-top:%?52?%!important}.u-margin-top-52{margin-top:%?52?%!important}.u-padding-top-52{padding-top:%?52?%!important}.u-m-r-52{margin-right:%?52?%!important}.u-p-r-52{padding-right:%?52?%!important}.u-margin-right-52{margin-right:%?52?%!important}.u-padding-right-52{padding-right:%?52?%!important}.u-m-b-52{margin-bottom:%?52?%!important}.u-p-b-52{padding-bottom:%?52?%!important}.u-margin-bottom-52{margin-bottom:%?52?%!important}.u-padding-bottom-52{padding-bottom:%?52?%!important}.u-margin-54, .u-m-54{margin:%?54?%!important}.u-padding-54, .u-p-54{padding:%?54?%!important}.u-m-l-54{margin-left:%?54?%!important}.u-p-l-54{padding-left:%?54?%!important}.u-margin-left-54{margin-left:%?54?%!important}.u-padding-left-54{padding-left:%?54?%!important}.u-m-t-54{margin-top:%?54?%!important}.u-p-t-54{padding-top:%?54?%!important}.u-margin-top-54{margin-top:%?54?%!important}.u-padding-top-54{padding-top:%?54?%!important}.u-m-r-54{margin-right:%?54?%!important}.u-p-r-54{padding-right:%?54?%!important}.u-margin-right-54{margin-right:%?54?%!important}.u-padding-right-54{padding-right:%?54?%!important}.u-m-b-54{margin-bottom:%?54?%!important}.u-p-b-54{padding-bottom:%?54?%!important}.u-margin-bottom-54{margin-bottom:%?54?%!important}.u-padding-bottom-54{padding-bottom:%?54?%!important}.u-margin-55, .u-m-55{margin:%?55?%!important}.u-padding-55, .u-p-55{padding:%?55?%!important}.u-m-l-55{margin-left:%?55?%!important}.u-p-l-55{padding-left:%?55?%!important}.u-margin-left-55{margin-left:%?55?%!important}.u-padding-left-55{padding-left:%?55?%!important}.u-m-t-55{margin-top:%?55?%!important}.u-p-t-55{padding-top:%?55?%!important}.u-margin-top-55{margin-top:%?55?%!important}.u-padding-top-55{padding-top:%?55?%!important}.u-m-r-55{margin-right:%?55?%!important}.u-p-r-55{padding-right:%?55?%!important}.u-margin-right-55{margin-right:%?55?%!important}.u-padding-right-55{padding-right:%?55?%!important}.u-m-b-55{margin-bottom:%?55?%!important}.u-p-b-55{padding-bottom:%?55?%!important}.u-margin-bottom-55{margin-bottom:%?55?%!important}.u-padding-bottom-55{padding-bottom:%?55?%!important}.u-margin-56, .u-m-56{margin:%?56?%!important}.u-padding-56, .u-p-56{padding:%?56?%!important}.u-m-l-56{margin-left:%?56?%!important}.u-p-l-56{padding-left:%?56?%!important}.u-margin-left-56{margin-left:%?56?%!important}.u-padding-left-56{padding-left:%?56?%!important}.u-m-t-56{margin-top:%?56?%!important}.u-p-t-56{padding-top:%?56?%!important}.u-margin-top-56{margin-top:%?56?%!important}.u-padding-top-56{padding-top:%?56?%!important}.u-m-r-56{margin-right:%?56?%!important}.u-p-r-56{padding-right:%?56?%!important}.u-margin-right-56{margin-right:%?56?%!important}.u-padding-right-56{padding-right:%?56?%!important}.u-m-b-56{margin-bottom:%?56?%!important}.u-p-b-56{padding-bottom:%?56?%!important}.u-margin-bottom-56{margin-bottom:%?56?%!important}.u-padding-bottom-56{padding-bottom:%?56?%!important}.u-margin-58, .u-m-58{margin:%?58?%!important}.u-padding-58, .u-p-58{padding:%?58?%!important}.u-m-l-58{margin-left:%?58?%!important}.u-p-l-58{padding-left:%?58?%!important}.u-margin-left-58{margin-left:%?58?%!important}.u-padding-left-58{padding-left:%?58?%!important}.u-m-t-58{margin-top:%?58?%!important}.u-p-t-58{padding-top:%?58?%!important}.u-margin-top-58{margin-top:%?58?%!important}.u-padding-top-58{padding-top:%?58?%!important}.u-m-r-58{margin-right:%?58?%!important}.u-p-r-58{padding-right:%?58?%!important}.u-margin-right-58{margin-right:%?58?%!important}.u-padding-right-58{padding-right:%?58?%!important}.u-m-b-58{margin-bottom:%?58?%!important}.u-p-b-58{padding-bottom:%?58?%!important}.u-margin-bottom-58{margin-bottom:%?58?%!important}.u-padding-bottom-58{padding-bottom:%?58?%!important}.u-margin-60, .u-m-60{margin:%?60?%!important}.u-padding-60, .u-p-60{padding:%?60?%!important}.u-m-l-60{margin-left:%?60?%!important}.u-p-l-60{padding-left:%?60?%!important}.u-margin-left-60{margin-left:%?60?%!important}.u-padding-left-60{padding-left:%?60?%!important}.u-m-t-60{margin-top:%?60?%!important}.u-p-t-60{padding-top:%?60?%!important}.u-margin-top-60{margin-top:%?60?%!important}.u-padding-top-60{padding-top:%?60?%!important}.u-m-r-60{margin-right:%?60?%!important}.u-p-r-60{padding-right:%?60?%!important}.u-margin-right-60{margin-right:%?60?%!important}.u-padding-right-60{padding-right:%?60?%!important}.u-m-b-60{margin-bottom:%?60?%!important}.u-p-b-60{padding-bottom:%?60?%!important}.u-margin-bottom-60{margin-bottom:%?60?%!important}.u-padding-bottom-60{padding-bottom:%?60?%!important}.u-margin-62, .u-m-62{margin:%?62?%!important}.u-padding-62, .u-p-62{padding:%?62?%!important}.u-m-l-62{margin-left:%?62?%!important}.u-p-l-62{padding-left:%?62?%!important}.u-margin-left-62{margin-left:%?62?%!important}.u-padding-left-62{padding-left:%?62?%!important}.u-m-t-62{margin-top:%?62?%!important}.u-p-t-62{padding-top:%?62?%!important}.u-margin-top-62{margin-top:%?62?%!important}.u-padding-top-62{padding-top:%?62?%!important}.u-m-r-62{margin-right:%?62?%!important}.u-p-r-62{padding-right:%?62?%!important}.u-margin-right-62{margin-right:%?62?%!important}.u-padding-right-62{padding-right:%?62?%!important}.u-m-b-62{margin-bottom:%?62?%!important}.u-p-b-62{padding-bottom:%?62?%!important}.u-margin-bottom-62{margin-bottom:%?62?%!important}.u-padding-bottom-62{padding-bottom:%?62?%!important}.u-margin-64, .u-m-64{margin:%?64?%!important}.u-padding-64, .u-p-64{padding:%?64?%!important}.u-m-l-64{margin-left:%?64?%!important}.u-p-l-64{padding-left:%?64?%!important}.u-margin-left-64{margin-left:%?64?%!important}.u-padding-left-64{padding-left:%?64?%!important}.u-m-t-64{margin-top:%?64?%!important}.u-p-t-64{padding-top:%?64?%!important}.u-margin-top-64{margin-top:%?64?%!important}.u-padding-top-64{padding-top:%?64?%!important}.u-m-r-64{margin-right:%?64?%!important}.u-p-r-64{padding-right:%?64?%!important}.u-margin-right-64{margin-right:%?64?%!important}.u-padding-right-64{padding-right:%?64?%!important}.u-m-b-64{margin-bottom:%?64?%!important}.u-p-b-64{padding-bottom:%?64?%!important}.u-margin-bottom-64{margin-bottom:%?64?%!important}.u-padding-bottom-64{padding-bottom:%?64?%!important}.u-margin-65, .u-m-65{margin:%?65?%!important}.u-padding-65, .u-p-65{padding:%?65?%!important}.u-m-l-65{margin-left:%?65?%!important}.u-p-l-65{padding-left:%?65?%!important}.u-margin-left-65{margin-left:%?65?%!important}.u-padding-left-65{padding-left:%?65?%!important}.u-m-t-65{margin-top:%?65?%!important}.u-p-t-65{padding-top:%?65?%!important}.u-margin-top-65{margin-top:%?65?%!important}.u-padding-top-65{padding-top:%?65?%!important}.u-m-r-65{margin-right:%?65?%!important}.u-p-r-65{padding-right:%?65?%!important}.u-margin-right-65{margin-right:%?65?%!important}.u-padding-right-65{padding-right:%?65?%!important}.u-m-b-65{margin-bottom:%?65?%!important}.u-p-b-65{padding-bottom:%?65?%!important}.u-margin-bottom-65{margin-bottom:%?65?%!important}.u-padding-bottom-65{padding-bottom:%?65?%!important}.u-margin-66, .u-m-66{margin:%?66?%!important}.u-padding-66, .u-p-66{padding:%?66?%!important}.u-m-l-66{margin-left:%?66?%!important}.u-p-l-66{padding-left:%?66?%!important}.u-margin-left-66{margin-left:%?66?%!important}.u-padding-left-66{padding-left:%?66?%!important}.u-m-t-66{margin-top:%?66?%!important}.u-p-t-66{padding-top:%?66?%!important}.u-margin-top-66{margin-top:%?66?%!important}.u-padding-top-66{padding-top:%?66?%!important}.u-m-r-66{margin-right:%?66?%!important}.u-p-r-66{padding-right:%?66?%!important}.u-margin-right-66{margin-right:%?66?%!important}.u-padding-right-66{padding-right:%?66?%!important}.u-m-b-66{margin-bottom:%?66?%!important}.u-p-b-66{padding-bottom:%?66?%!important}.u-margin-bottom-66{margin-bottom:%?66?%!important}.u-padding-bottom-66{padding-bottom:%?66?%!important}.u-margin-68, .u-m-68{margin:%?68?%!important}.u-padding-68, .u-p-68{padding:%?68?%!important}.u-m-l-68{margin-left:%?68?%!important}.u-p-l-68{padding-left:%?68?%!important}.u-margin-left-68{margin-left:%?68?%!important}.u-padding-left-68{padding-left:%?68?%!important}.u-m-t-68{margin-top:%?68?%!important}.u-p-t-68{padding-top:%?68?%!important}.u-margin-top-68{margin-top:%?68?%!important}.u-padding-top-68{padding-top:%?68?%!important}.u-m-r-68{margin-right:%?68?%!important}.u-p-r-68{padding-right:%?68?%!important}.u-margin-right-68{margin-right:%?68?%!important}.u-padding-right-68{padding-right:%?68?%!important}.u-m-b-68{margin-bottom:%?68?%!important}.u-p-b-68{padding-bottom:%?68?%!important}.u-margin-bottom-68{margin-bottom:%?68?%!important}.u-padding-bottom-68{padding-bottom:%?68?%!important}.u-margin-70, .u-m-70{margin:%?70?%!important}.u-padding-70, .u-p-70{padding:%?70?%!important}.u-m-l-70{margin-left:%?70?%!important}.u-p-l-70{padding-left:%?70?%!important}.u-margin-left-70{margin-left:%?70?%!important}.u-padding-left-70{padding-left:%?70?%!important}.u-m-t-70{margin-top:%?70?%!important}.u-p-t-70{padding-top:%?70?%!important}.u-margin-top-70{margin-top:%?70?%!important}.u-padding-top-70{padding-top:%?70?%!important}.u-m-r-70{margin-right:%?70?%!important}.u-p-r-70{padding-right:%?70?%!important}.u-margin-right-70{margin-right:%?70?%!important}.u-padding-right-70{padding-right:%?70?%!important}.u-m-b-70{margin-bottom:%?70?%!important}.u-p-b-70{padding-bottom:%?70?%!important}.u-margin-bottom-70{margin-bottom:%?70?%!important}.u-padding-bottom-70{padding-bottom:%?70?%!important}.u-margin-72, .u-m-72{margin:%?72?%!important}.u-padding-72, .u-p-72{padding:%?72?%!important}.u-m-l-72{margin-left:%?72?%!important}.u-p-l-72{padding-left:%?72?%!important}.u-margin-left-72{margin-left:%?72?%!important}.u-padding-left-72{padding-left:%?72?%!important}.u-m-t-72{margin-top:%?72?%!important}.u-p-t-72{padding-top:%?72?%!important}.u-margin-top-72{margin-top:%?72?%!important}.u-padding-top-72{padding-top:%?72?%!important}.u-m-r-72{margin-right:%?72?%!important}.u-p-r-72{padding-right:%?72?%!important}.u-margin-right-72{margin-right:%?72?%!important}.u-padding-right-72{padding-right:%?72?%!important}.u-m-b-72{margin-bottom:%?72?%!important}.u-p-b-72{padding-bottom:%?72?%!important}.u-margin-bottom-72{margin-bottom:%?72?%!important}.u-padding-bottom-72{padding-bottom:%?72?%!important}.u-margin-74, .u-m-74{margin:%?74?%!important}.u-padding-74, .u-p-74{padding:%?74?%!important}.u-m-l-74{margin-left:%?74?%!important}.u-p-l-74{padding-left:%?74?%!important}.u-margin-left-74{margin-left:%?74?%!important}.u-padding-left-74{padding-left:%?74?%!important}.u-m-t-74{margin-top:%?74?%!important}.u-p-t-74{padding-top:%?74?%!important}.u-margin-top-74{margin-top:%?74?%!important}.u-padding-top-74{padding-top:%?74?%!important}.u-m-r-74{margin-right:%?74?%!important}.u-p-r-74{padding-right:%?74?%!important}.u-margin-right-74{margin-right:%?74?%!important}.u-padding-right-74{padding-right:%?74?%!important}.u-m-b-74{margin-bottom:%?74?%!important}.u-p-b-74{padding-bottom:%?74?%!important}.u-margin-bottom-74{margin-bottom:%?74?%!important}.u-padding-bottom-74{padding-bottom:%?74?%!important}.u-margin-75, .u-m-75{margin:%?75?%!important}.u-padding-75, .u-p-75{padding:%?75?%!important}.u-m-l-75{margin-left:%?75?%!important}.u-p-l-75{padding-left:%?75?%!important}.u-margin-left-75{margin-left:%?75?%!important}.u-padding-left-75{padding-left:%?75?%!important}.u-m-t-75{margin-top:%?75?%!important}.u-p-t-75{padding-top:%?75?%!important}.u-margin-top-75{margin-top:%?75?%!important}.u-padding-top-75{padding-top:%?75?%!important}.u-m-r-75{margin-right:%?75?%!important}.u-p-r-75{padding-right:%?75?%!important}.u-margin-right-75{margin-right:%?75?%!important}.u-padding-right-75{padding-right:%?75?%!important}.u-m-b-75{margin-bottom:%?75?%!important}.u-p-b-75{padding-bottom:%?75?%!important}.u-margin-bottom-75{margin-bottom:%?75?%!important}.u-padding-bottom-75{padding-bottom:%?75?%!important}.u-margin-76, .u-m-76{margin:%?76?%!important}.u-padding-76, .u-p-76{padding:%?76?%!important}.u-m-l-76{margin-left:%?76?%!important}.u-p-l-76{padding-left:%?76?%!important}.u-margin-left-76{margin-left:%?76?%!important}.u-padding-left-76{padding-left:%?76?%!important}.u-m-t-76{margin-top:%?76?%!important}.u-p-t-76{padding-top:%?76?%!important}.u-margin-top-76{margin-top:%?76?%!important}.u-padding-top-76{padding-top:%?76?%!important}.u-m-r-76{margin-right:%?76?%!important}.u-p-r-76{padding-right:%?76?%!important}.u-margin-right-76{margin-right:%?76?%!important}.u-padding-right-76{padding-right:%?76?%!important}.u-m-b-76{margin-bottom:%?76?%!important}.u-p-b-76{padding-bottom:%?76?%!important}.u-margin-bottom-76{margin-bottom:%?76?%!important}.u-padding-bottom-76{padding-bottom:%?76?%!important}.u-margin-78, .u-m-78{margin:%?78?%!important}.u-padding-78, .u-p-78{padding:%?78?%!important}.u-m-l-78{margin-left:%?78?%!important}.u-p-l-78{padding-left:%?78?%!important}.u-margin-left-78{margin-left:%?78?%!important}.u-padding-left-78{padding-left:%?78?%!important}.u-m-t-78{margin-top:%?78?%!important}.u-p-t-78{padding-top:%?78?%!important}.u-margin-top-78{margin-top:%?78?%!important}.u-padding-top-78{padding-top:%?78?%!important}.u-m-r-78{margin-right:%?78?%!important}.u-p-r-78{padding-right:%?78?%!important}.u-margin-right-78{margin-right:%?78?%!important}.u-padding-right-78{padding-right:%?78?%!important}.u-m-b-78{margin-bottom:%?78?%!important}.u-p-b-78{padding-bottom:%?78?%!important}.u-margin-bottom-78{margin-bottom:%?78?%!important}.u-padding-bottom-78{padding-bottom:%?78?%!important}.u-margin-80, .u-m-80{margin:%?80?%!important}.u-padding-80, .u-p-80{padding:%?80?%!important}.u-m-l-80{margin-left:%?80?%!important}.u-p-l-80{padding-left:%?80?%!important}.u-margin-left-80{margin-left:%?80?%!important}.u-padding-left-80{padding-left:%?80?%!important}.u-m-t-80{margin-top:%?80?%!important}.u-p-t-80{padding-top:%?80?%!important}.u-margin-top-80{margin-top:%?80?%!important}.u-padding-top-80{padding-top:%?80?%!important}.u-m-r-80{margin-right:%?80?%!important}.u-p-r-80{padding-right:%?80?%!important}.u-margin-right-80{margin-right:%?80?%!important}.u-padding-right-80{padding-right:%?80?%!important}.u-m-b-80{margin-bottom:%?80?%!important}.u-p-b-80{padding-bottom:%?80?%!important}.u-margin-bottom-80{margin-bottom:%?80?%!important}.u-padding-bottom-80{padding-bottom:%?80?%!important}.u-reset-nvue{flex-direction:row;align-items:center}.u-type-primary-light{color:#ecf5ff}.u-type-warning-light{color:#fdf6ec}.u-type-success-light{color:#dbf1e1}.u-type-error-light{color:#fef0f0}.u-type-info-light{color:#f4f4f5}.u-type-primary-light-bg{background-color:#ecf5ff}.u-type-warning-light-bg{background-color:#fdf6ec}.u-type-success-light-bg{background-color:#dbf1e1}.u-type-error-light-bg{background-color:#fef0f0}.u-type-info-light-bg{background-color:#f4f4f5}.u-type-primary-dark{color:#2b85e4}.u-type-warning-dark{color:#f29100}.u-type-success-dark{color:#18b566}.u-type-error-dark{color:#dd6161}.u-type-info-dark{color:#82848a}.u-type-primary-dark-bg{background-color:#2b85e4}.u-type-warning-dark-bg{background-color:#f29100}.u-type-success-dark-bg{background-color:#18b566}.u-type-error-dark-bg{background-color:#dd6161}.u-type-info-dark-bg{background-color:#82848a}.u-type-primary-disabled{color:#a0cfff}.u-type-warning-disabled{color:#fcbd71}.u-type-success-disabled{color:#71d5a1}.u-type-error-disabled{color:#fab6b6}.u-type-info-disabled{color:#c8c9cc}.u-type-primary{color:#2979ff}.u-type-warning{color:#f90}.u-type-success{color:#19be6b}.u-type-error{color:#fa3534}.u-type-info{color:#909399}.u-type-primary-bg{background-color:#2979ff}.u-type-warning-bg{background-color:#f90}.u-type-success-bg{background-color:#19be6b}.u-type-error-bg{background-color:#fa3534}.u-type-info-bg{background-color:#909399}.u-main-color{color:#303133}.u-content-color{color:#606266}.u-tips-color{color:#909399}.u-light-color{color:#c0c4cc}uni-page-body{color:#303133;font-size:%?28?%}\n/* start--去除webkit的默认样式--start */.u-fix-ios-appearance{-webkit-appearance:none}\n/* end--去除webkit的默认样式--end */\n/* start--icon图标外层套一个view,让其达到更好的垂直居中的效果--start */.u-icon-wrap{display:flex;align-items:center}\n/* end-icon图标外层套一个view,让其达到更好的垂直居中的效果--end */\n/* start--iPhoneX底部安全区定义--start */.safe-area-inset-bottom{padding-bottom:0;padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}\n/* end-iPhoneX底部安全区定义--end */\n/* start--各种hover点击反馈相关的类名-start */.u-hover-class{opacity:.6}.u-cell-hover{background-color:#f7f8f9!important}\n/* end--各种hover点击反馈相关的类名--end */\n/* start--文本行数限制--start */.u-line-1{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.u-line-2{-webkit-line-clamp:2}.u-line-3{-webkit-line-clamp:3}.u-line-4{-webkit-line-clamp:4}.u-line-5{-webkit-line-clamp:5}.u-line-2, .u-line-3, .u-line-4, .u-line-5{overflow:hidden;word-break:break-all;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical}\n/* end--文本行数限制--end */\n/* start--Retina 屏幕下的 1px 边框--start */.u-border,\n.u-border-bottom,\n.u-border-left,\n.u-border-right,\n.u-border-top,\n.u-border-top-bottom{position:relative}.u-border-bottom:after,\n.u-border-left:after,\n.u-border-right:after,\n.u-border-top-bottom:after,\n.u-border-top:after,\n.u-border:after{\ncontent:" ";\nposition:absolute;left:0;top:0;pointer-events:none;box-sizing:border-box;-webkit-transform-origin:0 0;transform-origin:0 0;width:199.8%;height:199.7%;-webkit-transform:scale(.5);transform:scale(.5);border:0 solid #e4e7ed;z-index:2}.u-border-top:after{border-top-width:1px}.u-border-left:after{border-left-width:1px}.u-border-right:after{border-right-width:1px}.u-border-bottom:after{border-bottom-width:1px}.u-border-top-bottom:after{border-width:1px 0}.u-border:after{border-width:1px}\n/* end--Retina 屏幕下的 1px 边框--end */\n/* start--clearfix--start */.u-clearfix:after,\n.clearfix:after{\ncontent:"";\ndisplay:table;clear:both}\n/* end--clearfix--end */\n/* start--高斯模糊tabbar底部处理--start */.u-blur-effect-inset{width:%?750?%;height:var(--window-bottom);background-color:#fff}\n/* end--高斯模糊tabbar底部处理--end */\n/* start--提升H5端uni.toast()的层级,避免被uView的modal等遮盖--start */\nuni-toast{z-index:10090}uni-toast .uni-toast{z-index:10090}\n\n/* end--提升H5端uni.toast()的层级,避免被uView的modal等遮盖--end */\n/* start--去除button的所有默认样式--start */.u-reset-button{padding:0;font-size:inherit;line-height:inherit;background-color:initial;color:inherit}.u-reset-button::after{border:none}\n/* end--去除button的所有默认样式--end */\n/* H5的时候,隐藏滚动条 */::-webkit-scrollbar{display:none;width:0!important;height:0!important;-webkit-appearance:none;background:transparent}',""]),t.exports=n},"06e9":function(t,n,i){"use strict";i("6a54");var a=i("f5bd").default;Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0,i("8f71"),i("bf0f");var r=a(i("8d18")),o=a(i("5ea2")),e=a(i("4331")),p=a(i("4e76")),d=a(i("3f10")),u=a(i("b907")),m=a(i("80d3")),g=a(i("184a")),s=a(i("8f8a")),l=a(i("3f93")),c=a(i("033e")),f=a(i("b599")),b=a(i("f77c")),h=a(i("64e9")),y=a(i("0041")),_=a(i("959a")),v=a(i("8e3b")),x=a(i("23da")),w=a(i("6798")),S=a(i("7f1d")),j=i("5e3f"),k=a(i("2a4a")),T=a(i("d4d4")),C=a(i("1d2a")),P=a(i("0154"));var A={queryParams:e.default,route:p.default,timeFormat:d.default,date:d.default,timeFrom:u.default,colorGradient:m.default.colorGradient,colorToRgba:m.default.colorToRgba,guid:g.default,color:s.default,sys:j.sys,os:j.os,type2icon:l.default,randomArray:c.default,wranning:function(t){0},get:o.default.get,post:o.default.post,put:o.default.put,delete:o.default.delete,hexToRgb:m.default.hexToRgb,rgbToHex:m.default.rgbToHex,test:y.default,random:_.default,deepClone:f.default,deepMerge:b.default,getParent:w.default,$parent:S.default,addUnit:h.default,trim:v.default,type:["primary","success","error","warning","info"],http:o.default,toast:x.default,config:C.default,zIndex:P.default,debounce:k.default,throttle:T.default};uni.$u=A;var O={install:function(t){t.mixin(r.default),t.prototype.openShare&&t.mixin(mpShare),t.filter("timeFormat",(function(t,n){return(0,d.default)(t,n)})),t.filter("date",(function(t,n){return(0,d.default)(t,n)})),t.filter("timeFrom",(function(t,n){return(0,u.default)(t,n)})),t.prototype.$u=A}};n.default=O},"184a":function(t,n,i){"use strict";i("6a54"),Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var a=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:32,n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split(""),r=[];if(i=i||a.length,t)for(var o=0;o1&&void 0!==arguments[1]?arguments[1]:1500;uni.showToast({title:t,icon:"none",duration:n})};n.default=a},2742:function(t,n,i){"use strict";var a=i("f5bd").default,r=a(i("9b1b"));i("3dde"),i("a8b2"),i("1480"),i("6e4a"),i("4d3a"),i("9337");var o=a(i("dbdb")),e=a(i("9b8e")),p=a(i("5b93")),d=a(i("06e9")),u=i("96dd"),m=a(i("9508")),g=a(i("bf8f")),s=a(i("1189"));e.default.use(d.default);var l=i("cb3c");e.default.mixin(l),e.default.config.productionTip=!1,o.default.mpType="app";var c=new e.default((0,r.default)({store:p.default},o.default));e.default.prototype.base=u.base,e.default.use(m.default,c),e.default.use(g.default,c),e.default.prototype.$moment=s.default,c.$mount()},"2a4a":function(t,n,i){"use strict";i("6a54"),Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var a=null;var r=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:500,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(null!==a&&clearTimeout(a),i){var r=!a;a=setTimeout((function(){a=null}),n),r&&"function"===typeof t&&t()}else a=setTimeout((function(){"function"===typeof t&&t()}),n)};n.default=r},"3f10":function(t,n,i){"use strict";i("6a54"),Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0,i("795c"),i("bf0f"),i("7a76"),i("c9b5"),i("f7a5"),i("64aa"),i("ab80"),i("5c47"),i("23f4"),i("7d2f"),i("9c4e"),i("a1c1"),String.prototype.padStart||(String.prototype.padStart=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:" ";if("[object String]"!==Object.prototype.toString.call(n))throw new TypeError("fillString must be String");var i=this;if(i.length>=t)return String(i);var a=t-i.length,r=Math.ceil(a/n.length);while(r>>=1)n+=n,1===r&&(n+=n);return n.slice(0,a)+i});var a=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"yyyy-mm-dd";t||(t=Number(new Date)),10==t.toString().length&&(t*=1e3);var i,a=new Date(t),r={"y+":a.getFullYear().toString(),"m+":(a.getMonth()+1).toString(),"d+":a.getDate().toString(),"h+":a.getHours().toString(),"M+":a.getMinutes().toString(),"s+":a.getSeconds().toString()};for(var o in r)i=new RegExp("("+o+")").exec(n),i&&(n=n.replace(i[1],1==i[1].length?r[o]:r[o].padStart(i[1].length,"0")));return n};n.default=a},"3f93":function(t,n,i){"use strict";i("6a54"),Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0,i("5ef2");var a=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"success",n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];-1==["primary","info","error","warning","success"].indexOf(t)&&(t="success");var i="";switch(t){case"primary":i="info-circle";break;case"info":i="info-circle";break;case"error":i="close-circle";break;case"warning":i="error-circle";break;case"success":i="checkmark-circle";break;default:i="checkmark-circle"}return n&&(i+="-fill"),i};n.default=a},4331:function(t,n,i){"use strict";i("6a54"),Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0,i("5ef2"),i("aa9c"),i("bf0f"),i("2797");var a=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"brackets",a=n?"?":"",r=[];-1==["indices","brackets","repeat","comma"].indexOf(i)&&(i="brackets");var o=function(n){var a=t[n];if(["",void 0,null].indexOf(a)>=0)return"continue";if(a.constructor===Array)switch(i){case"indices":for(var o=0;o0&&void 0!==e[0]?e[0]:{},i=e.length>1&&void 0!==e[1]?e[1]:{},a={},"string"===typeof n?(a.url=this.mixinParam(n,i),a.type="navigateTo"):(a=uni.$u.deepClone(n,this.config),a.url=this.mixinParam(n.url,n.params)),i.intercept&&(this.config.intercept=i.intercept),a.params=i,a=uni.$u.deepMerge(this.config,a),"function"!==typeof uni.$u.routeIntercept){t.next=14;break}return t.next=10,new Promise((function(t,n){uni.$u.routeIntercept(a,t)}));case 10:o=t.sent,o&&this.openPage(a),t.next=15;break;case 14:this.openPage(a);case 15:case"end":return t.stop()}}),t,this)})));return function(){return t.apply(this,arguments)}}()},{key:"openPage",value:function(t){var n=t.url,i=(t.type,t.delta),a=t.animationType,r=t.animationDuration;"navigateTo"!=t.type&&"to"!=t.type||uni.navigateTo({url:n,animationType:a,animationDuration:r}),"redirectTo"!=t.type&&"redirect"!=t.type||uni.redirectTo({url:n}),"switchTab"!=t.type&&"tab"!=t.type||uni.switchTab({url:n}),"reLaunch"!=t.type&&"launch"!=t.type||uni.reLaunch({url:n}),"navigateBack"!=t.type&&"back"!=t.type||uni.navigateBack({delta:i})}}]),t}(),u=(new d).route;n.default=u},"55fc":function(t,n,i){"use strict";i.d(n,"b",(function(){return a})),i.d(n,"c",(function(){return r})),i.d(n,"a",(function(){}));var a=function(){var t=this.$createElement,n=this._self._c||t;return n("App",{attrs:{keepAliveInclude:this.keepAliveInclude}})},r=[]},"5b93":function(t,n,i){"use strict";i("6a54");var a=i("f5bd").default;Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0,i("5ef2");var r=a(i("9b8e")),o=a(i("8f59"));r.default.use(o.default);var e={};try{e=uni.getStorageSync("lifeData")}catch(m){}var p=["vuex_user","vuex_token","vuex_share"],d=new o.default.Store({state:{vuex_user:e.vuex_user?e.vuex_user:{},vuex_token:e.vuex_token?e.vuex_token:"",vuex_version:"1.0.0",vuex_default_icon:"/static/logo-mini.png",vuex_sign_base64:"",vuex_point_id:""},mutations:{$uStore:function(t,n){var i=n.name.split("."),a="",r=i.length;if(i.length>=2){for(var o=t[i[0]],e=1;e1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return n.request({method:"GET",url:t,header:a,data:i})},this.post=function(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return n.request({url:t,method:"POST",header:a,data:i})},this.put=function(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return n.request({url:t,method:"PUT",header:a,data:i})},this.delete=function(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return n.request({url:t,method:"DELETE",header:a,data:i})}}return(0,o.default)(t,[{key:"setConfig",value:function(t){this.config=(0,e.default)(this.config,t)}},{key:"request",value:function(){var t=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.interceptor.request&&"function"===typeof this.interceptor.request){var i=this.interceptor.request(n);if(!1===i)return new Promise((function(){}));this.options=i}return n.dataType=n.dataType||this.config.dataType,n.responseType=n.responseType||this.config.responseType,n.url=n.url||"",n.params=n.params||{},n.header=Object.assign({},this.config.header,n.header),n.method=n.method||this.config.method,new Promise((function(i,a){n.complete=function(n){if(uni.hideLoading(),clearTimeout(t.config.timer),t.config.timer=null,t.config.originalData)if(t.interceptor.response&&"function"===typeof t.interceptor.response){var r=t.interceptor.response(n);!1!==r?i(r):a(n)}else i(n);else if(200==n.statusCode)if(t.interceptor.response&&"function"===typeof t.interceptor.response){var o=t.interceptor.response(n.data);!1!==o?i(o):a(n.data)}else i(n.data);else a(n)},n.url=p.default.url(n.url)?n.url:t.config.baseUrl+(0==n.url.indexOf("/")?n.url:"/"+n.url),t.config.showLoading&&!t.config.timer&&(t.config.timer=setTimeout((function(){uni.showLoading({title:t.config.loadingText,mask:t.config.loadingMask}),t.config.timer=null}),t.config.loadingTime)),uni.request(n)}))}}]),t}(),u=new d;n.default=u},"64e9":function(t,n,i){"use strict";i("6a54");var a=i("f5bd").default;Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"auto",n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"rpx";return t=String(t),r.default.number(t)?"".concat(t).concat(n):t},i("c223");var r=a(i("0041"))},6798:function(t,n,i){"use strict";i("6a54");var a=i("f5bd").default;Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(t,n){var i=this.$parent;while(i)if(i.$options.name!==t)i=i.$parent;else{var a=function(){var t={};if(Array.isArray(n))n.map((function(n){t[n]=i[n]?i[n]:""}));else for(var a in n)Array.isArray(n[a])?n[a].length?t[a]=n[a]:t[a]=i[a]:n[a].constructor===Object?Object.keys(n[a]).length?t[a]=n[a]:t[a]=i[a]:t[a]=n[a]||!1===n[a]?n[a]:i[a];return{v:t}}();if("object"===(0,r.default)(a))return a.v}return{}};var r=a(i("fcf3"));i("fd3c"),i("dc8a")},"6c2f":function(t,n,i){"use strict";i("6a54"),Object.defineProperty(n,"__esModule",{value:!0}),n.ROOTPATH=void 0,i("7a76"),i("c9b5");var a="https://vr.ali251.langye.net";switch(n.ROOTPATH=a,"production"){case"devLocal":n.ROOTPATH=a=a;break;case"devOnline":n.ROOTPATH=a=a;break;case"production":n.ROOTPATH=a=a;break;default:throw new Error("未配置环境")}},"7c99":function(t,n,i){"use strict";i("6a54"),Object.defineProperty(n,"__esModule",{value:!0}),n.BASE_URL=n.API=void 0;var a="https://xukoushuniu.115.langye.net";n.BASE_URL=a;var r={WECHAT_JSSDK_CONFIG:"".concat(a,"/api/customer/wechat/jssdk-config"),LOGIN:"".concat(a,"/api/customer/login-by-code"),WX_LOGIN:"".concat(a,"/api/customer/login-by-wechat-code"),STATISTICS:"".concat(a,"/api/customer/reservation/statistics"),LOGIN_ACCOUNT:"".concat(a,"/api/customer/login"),GET_USER_INFO:"".concat(a,"/api/customer/me"),UPDATE_USER_INFO:"".concat(a,"/api/customer/profile/update"),UPLOAD_FILE:"".concat(a,"/api/customer/upload-file"),SHIP_CREATE:"".concat(a,"/api/customer/ship/create"),SHIP_CHECK_NAME:"".concat(a,"/api/customer/ship/check-ship-number"),SHIP_INDEX:"".concat(a,"/api/customer/ship/index"),SHIP_DETAIL:"".concat(a,"/api/customer/ship/get-one"),SHIP_PROPERTY_ENUM:"".concat(a,"/api/customer/ship/get-property-enum"),SHIP_DELETE:"".concat(a,"/api/customer/ship/delete"),RESERVATION_STATUS_ENUM:"".concat(a,"/api/customer/reservation/get-status-enum"),RESERVATION_CREATE:"".concat(a,"/api/customer/reservation/create"),RESERVATION_LIST:"".concat(a,"/api/customer/reservation/index"),RESERVATION_DETAIL:"".concat(a,"/api/customer/reservation/get-one"),AVAILABLE_SHIPS:"".concat(a,"/api/customer/reservation/get-available-ships"),AVAILABLE_SHIP:"".concat(a,"/api/customer/reservation/get-available-ship"),GET_PAYMENT_QRCODE:"".concat(a,"/api/customer/reservation/fake-pay"),FAKE_PAY:"".concat(a,"/api/customer/reservation/fake-pay"),NOTIFICATION_LIST:"".concat(a,"/api/customer/notifications/index"),CANCEL_RESERVATION:"".concat(a,"/api/customer/reservation/cancel"),GET_DIRECTION_ENUM:"".concat(a,"/api/customer/reservation/get-direction-enum"),SHIP_UPDATE:"".concat(a,"/api/customer/ship/update"),GET_INVOICE:"".concat(a,"/api/customer/reservation/get-invoice"),GET_DAILY_RESERVATION_DEADLINE:"".concat(a,"/api/customer/setting/get-daily-reservation-deadline"),GET_GEOFENCE_BY_DIRECTION:"".concat(a,"/api/customer/geofence/get-by-direction"),GET_WATER_LEVEL:"".concat(a,"/api/customer/setting/get-water-level"),GET_UNIT_PRICE:"".concat(a,"/api/customer/setting/get-price"),GET_SHIP_INSPECTION_EXAMPLES:"".concat(a,"/api/customer/setting/get-ship-inspection-examples"),PROFILE_SEND_PHONE_CODE:"".concat(a,"/api/customer/profile/send-phone-code")};n.API=r},"7f1d":function(t,n,i){"use strict";i("6a54"),Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,n=this.$parent;while(n){if(!n.$options||n.$options.name===t)return n;n=n.$parent}return!1}},"80d3":function(t,n,i){"use strict";function a(t){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;if(t=t.toLowerCase(),t&&i.test(t)){if(4===t.length){for(var a="#",r=1;r<4;r+=1)a+=t.slice(r,r+1).concat(t.slice(r,r+1));t=a}for(var o=[],e=1;e<7;e+=2)o.push(parseInt("0x"+t.slice(e,e+2)));return n?"rgb(".concat(o[0],",").concat(o[1],",").concat(o[2],")"):o}if(/^(rgb|RGB)/.test(t)){var p=t.replace(/(?:\(|\)|rgb|RGB)*/g,"").split(",");return p.map((function(t){return Number(t)}))}return t}function r(t){var n=t;if(/^(rgb|RGB)/.test(n)){for(var i=n.replace(/(?:\(|\)|rgb|RGB)*/g,"").split(","),a="#",r=0;r0&&void 0!==arguments[0]?arguments[0]:"rgb(0, 0, 0)",n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"rgb(255, 255, 255)",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,o=a(t,!1),e=o[0],p=o[1],d=o[2],u=a(n,!1),m=u[0],g=u[1],s=u[2],l=(m-e)/i,c=(g-p)/i,f=(s-d)/i,b=[],h=0;h1&&void 0!==arguments[1]?arguments[1]:.3;t=r(t);var i=/^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/,a=t.toLowerCase();if(a&&i.test(a)){if(4===a.length){for(var o="#",e=1;e<4;e+=1)o+=a.slice(e,e+1).concat(a.slice(e,e+1));a=o}for(var p=[],d=1;d<7;d+=2)p.push(parseInt("0x"+a.slice(d,d+2)));return"rgba("+p.join(",")+","+n+")"}return a}};n.default=o},"8d18":function(t,n,i){i("bf0f"),i("5c47"),i("fd3c"),i("dc8a"),i("0506"),i("dd2b"),t.exports={data:function(){return{}},onLoad:function(){this.$u.getRect=this.$uGetRect},methods:{$uGetRect:function(t,n){var i=this;return new Promise((function(a){uni.createSelectorQuery().in(i)[n?"selectAll":"select"](t).boundingClientRect((function(t){n&&Array.isArray(t)&&t.length&&a(t),!n&&t&&a(t)})).exec()}))},getParentData:function(){var t=this,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";this.parent||(this.parent=!1),this.parent=this.$u.$parent.call(this,n),this.parent&&Object.keys(this.parentData).map((function(n){t.parentData[n]=t.parent[n]}))},preventEvent:function(t){t&&t.stopPropagation&&t.stopPropagation()}},onReachBottom:function(){uni.$emit("uOnReachBottom")},beforeDestroy:function(){var t=this;if(this.parent&&uni.$u.test.array(this.parent.children)){var n=this.parent.children;n.map((function(i,a){i===t&&n.splice(a,1)}))}}}},"8e3b":function(t,n,i){"use strict";i("6a54"),Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0,i("5c47"),i("a1c1");var a=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"both";return"both"==n?t.replace(/^\s+|\s+$/g,""):"left"==n?t.replace(/^\s*/,""):"right"==n?t.replace(/(\s*$)/g,""):"all"==n?t.replace(/\s+/g,""):t};n.default=a},"8f8a":function(t,n,i){"use strict";i("6a54"),Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var a={primary:"#2979ff",primaryDark:"#2b85e4",primaryDisabled:"#a0cfff",primaryLight:"#ecf5ff",bgColor:"#f3f4f6",info:"#909399",infoDark:"#82848a",infoDisabled:"#c8c9cc",infoLight:"#f4f4f5",warning:"#ff9900",warningDark:"#f29100",warningDisabled:"#fcbd71",warningLight:"#fdf6ec",error:"#fa3534",errorDark:"#dd6161",errorDisabled:"#fab6b6",errorLight:"#fef0f0",success:"#19be6b",successDark:"#18b566",successDisabled:"#71d5a1",successLight:"#dbf1e1",mainColor:"#303133",contentColor:"#606266",tipsColor:"#909399",lightColor:"#c0c4cc",borderColor:"#e4e7ed"};n.default=a},9508:function(t,n,i){"use strict";i("6a54"),Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var a=i("6c2f"),r={install:function(t,n){t.prototype.$u.http.setConfig({baseUrl:a.ROOTPATH,showLoading:!0,loadingMask:!0,loadingText:"加载中",loadingTime:2e3,originalData:!0,header:{"content-type":"application/json;charset=UTF-8"}}),t.prototype.$u.http.interceptor.request=function(t){var i,a=n.vuex_token?n.vuex_token:null===(i=uni.getStorageSync("lifeData"))||void 0===i?void 0:i.vuex_token;return a&&(t.header["Authorization"]="Bearer ".concat(a)),t},t.prototype.$u.http.interceptor.response=function(n){return 200!==n.statusCode?(uni.showToast({icon:"fail",title:"系统错误"}),!1):n.data.hasOwnProperty("errcode")?40001!==n.data.errcode?(uni.showToast({icon:"none",title:n.data.errmsg||"系统错误"}),!1):void t.prototype.$u.debounce((function(){uni.showToast({icon:"none",title:"登陆过期,请重新登录"}),setTimeout((function(){uni.redirectTo({})}),1500)})):n.data}}};n.default=r},"959a":function(t,n,i){"use strict";i("6a54"),Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var a=function(t,n){if(t>=0&&n>0&&n>=t){var i=n-t+1;return Math.floor(Math.random()*i+t)}return 0};n.default=a},"96dd":function(t,n,i){"use strict";i("6a54");var a=i("f5bd").default;Object.defineProperty(n,"__esModule",{value:!0}),n.urlUtils=n.base=void 0,i("4626"),i("5ac7"),i("5c47"),i("a1c1"),i("795c"),i("c223"),i("bf0f"),i("18f7"),i("de6c"),i("dc89"),i("2425"),i("af8f"),i("2797"),i("dc8a"),i("d4b5"),i("c9b5"),i("ab80");a(i("1189")),i("6c2f");var r={toast:function(t,n,i){uni.showToast({icon:"none",title:t,duration:n||2e3,success:function(t){i&&"function"==typeof i&&(console.log(i),i())}})},isNull:function(t){return""==t||void 0==t||null==t||"undefined"==t||"null"==t},getAgeFromId:function(t){if(!t||18!==t.length)return"";var n=new Date,i=new Date(t.substring(6,10),t.substring(10,12)-1,t.substring(12,14)),a=n.getFullYear()-i.getFullYear(),r=n.getMonth()-i.getMonth();return(r<0||0===r&&n.getDate()1&&void 0!==arguments[1]?arguments[1]:["code","state","access_token"];try{var i=new URL(t),a=new URLSearchParams(i.search),r={};if(n.forEach((function(t){a.has(t)&&(r[t]=a.get(t),a.delete(t))})),Object.keys(r).length>0){var o="sensitive_params_".concat(Date.now()),e={params:r,timestamp:Date.now(),expires:Date.now()+3e5};return localStorage.setItem(o,JSON.stringify(e)),i.search=a.toString(),{url:i.toString(),storageKey:o}}return{url:t,storageKey:null}}catch(p){return console.warn("处理敏感参数时出错:",p),{url:t,storageKey:null}}},generateSafeShareUrl:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};try{var i=this.handleSensitiveParams(t),a=new URL(i.url);return Object.keys(n).forEach((function(t){a.searchParams.set(t,n[t])})),a.toString()}catch(r){return console.warn("生成安全分享链接时出错:",r),t}},restoreSensitiveParams:function(t,n){try{if(!n)return t;var i=localStorage.getItem(n);if(!i)return t;var a=JSON.parse(i);if(Date.now()>a.expires)return localStorage.removeItem(n),t;var r=new URL(t);return Object.keys(a.params).forEach((function(t){r.searchParams.set(t,a.params[t])})),r.toString()}catch(o){return console.warn("恢复敏感参数时出错:",o),t}}};n.urlUtils=o},b599:function(t,n,i){"use strict";i("6a54");var a=i("f5bd").default;Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var r=a(i("fcf3"));i("bf0f"),i("4626");var o=function t(n){if([null,void 0,NaN,!1].includes(n))return n;if("object"!==(0,r.default)(n)&&"function"!==typeof n)return n;var i=function(t){return"[object Array]"===Object.prototype.toString.call(t)}(n)?[]:{};for(var a in n)n.hasOwnProperty(a)&&(i[a]="object"===(0,r.default)(n[a])?t(n[a]):n[a]);return i};n.default=o},b907:function(t,n,i){"use strict";i("6a54");var a=i("f5bd").default;Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0,i("64aa"),i("c9b5"),i("bf0f"),i("ab80"),i("e966");var r=a(i("3f10"));var o=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"yyyy-mm-dd";t||(t=Number(new Date)),10==t.toString().length&&(t*=1e3);var i=+new Date(Number(t)),a=(Number(new Date)-i)/1e3,o="";switch(!0){case a<300:o="刚刚";break;case a>=300&&a<3600:o=parseInt(a/60)+"分钟前";break;case a>=3600&&a<86400:o=parseInt(a/3600)+"小时前";break;case a>=86400&&a<2592e3:o=parseInt(a/86400)+"天前";break;default:o=!1===n?a>=2592e3&&a<31536e3?parseInt(a/2592e3)+"个月前":parseInt(a/31536e3)+"年前":(0,r.default)(i,n)}return o};n.default=o},bf8f:function(t,n,i){"use strict";i("6a54"),Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var a={install:function(t,n){n.$u.api={}}};n.default=a},cb3c:function(t,n,i){"use strict";var a=i("f5bd").default,r=a(i("9b1b"));i("dc8a");var o=i("8f59"),e=a(i("5b93")),p=[];try{p=e.default.state?Object.keys(e.default.state):[]}catch(d){}t.exports={created:function(){var t=this;this.$u.vuex=function(n,i){t.$store.commit("$uStore",{name:n,value:i})}},computed:(0,r.default)({},(0,o.mapState)(p))}},d4d4:function(t,n,i){"use strict";var a;i("6a54"),Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var r=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:500,i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];i?a||(a=!0,"function"===typeof t&&t(),setTimeout((function(){a=!1}),n)):a||(a=!0,setTimeout((function(){a=!1,"function"===typeof t&&t()}),n))};n.default=r},db73:function(t,n,i){"use strict";i.r(n);var a=i("e074"),r=i.n(a);for(var o in a)["default"].indexOf(o)<0&&function(t){i.d(n,t,(function(){return a[t]}))}(o);n["default"]=r.a},dbdb:function(t,n,i){"use strict";i.r(n);var a=i("55fc"),r=i("db73");for(var o in r)["default"].indexOf(o)<0&&function(t){i.d(n,t,(function(){return r[t]}))}(o);i("f61f");var e=i("828b"),p=Object(e["a"])(r["default"],a["b"],a["c"],!1,null,null,null,!1,a["a"],void 0);n["default"]=p.exports},e074:function(t,n,i){"use strict";i("6a54");var a=i("f5bd").default;Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var r=a(i("fcf3"));i("5c47"),i("0506"),i("bf0f"),i("18f7"),i("de6c"),i("2425"),i("dc89"),i("2c10"),i("a1c1"),i("23f4"),i("7d2f"),i("9c4e"),i("ab80"),i("c9b5"),i("c223");var o=i("7c99"),e=i("96dd"),p=a(i("608d")),d={onLaunch:function(){console.log("App Launch");var t=/MicroMessenger/i.test(navigator.userAgent);console.log("[App] H5 onLaunch, isWeixinBrowser =",t,", typeof wx =",(0,r.default)(p.default)),"undefined"!==typeof window&&"undefined"!==typeof p.default?(window.wx=p.default,console.log("[App] 已将 wx 挂载到 window.wx")):console.warn("[App] 未找到 wx 对象,jweixin-module 可能未正确加载"),this.wxH5AuthLogin(),this.configWechatJSSDK()},onShow:function(){console.log("App Show");var t=/MicroMessenger/i.test(navigator.userAgent);if(t){var n=uni.getStorageSync("token");n||(console.log("[App] onShow 检测到没有 token,重新尝试登录"),this.wxH5AuthLogin())}},onHide:function(){console.log("App Hide")},onLoad:function(){console.log("App Load")},methods:{wxLogin:function(){uni.login({provider:"weixin",success:function(t){var n=t.code;console.log("微信登录成功,code:",n),uni.request({url:o.API.LOGIN,method:"POST",data:{code:n},success:function(t){var n=t.data;if(0===n.errcode){var i=n.data.access_token;console.log("获取 token 成功:",i),uni.setStorageSync("token",i)}else console.error("登录失败:",n.errmsg)},fail:function(t){console.error("获取 token 失败:",t)}})},fail:function(t){console.error("微信登录失败:",t)}})},wxAuthLogin:function(){uni.getUserProfile({desc:"用于完善用户资料",success:function(t){console.log("获取用户信息成功:",t.userInfo);var n=t.userInfo;uni.setStorageSync("userInfo",n);var i=uni.getStorageSync("token");i?uni.request({url:o.API.GET_USER_INFO,method:"POST",data:{token:i,userInfo:n},success:function(t){console.log("上传用户信息成功:",t.data),uni.showToast({title:"授权成功",icon:"success"})},fail:function(t){console.error("上传用户信息失败:",t),uni.showToast({title:"授权失败",icon:"none"})}}):uni.showToast({title:"请先登录",icon:"none"})},fail:function(t){console.error("获取用户信息失败:",t),uni.showToast({title:"获取用户信息失败",icon:"none"})}})},wxH5AuthLogin:function(){var t=/MicroMessenger/i.test(navigator.userAgent);if(t){var n=uni.getStorageSync("token");if(n)console.log("[App] 已存在 token,跳过登录");else{var i=window.location.href;console.log("[App] 当前 URL:",i);var a=null;try{if("undefined"!==typeof URLSearchParams){var r=new URL(i);a=r.searchParams.get("code")}if(!a){var e=i.match(/[?&]code=([^&?#]+)/);e&&e[1]&&(a=decodeURIComponent(e[1].replace(/\+/g,"%20")))}if(!a){var p=new RegExp("[?|&]code=([^&;]+?)(&|#|;|$)"),d=p.exec(i);d&&d[1]&&(a=decodeURIComponent(d[1].replace(/\+/g,"%20")))}}catch(l){console.error("[App] 提取 code 失败:",l)}if(console.log("[App] 提取到的 code:",a),a){try{var u=new URL(i);u.searchParams.delete("code"),u.searchParams.delete("state"),window.history&&window.history.replaceState&&window.history.replaceState({},"",u.toString())}catch(l){console.warn("[App] 清理 URL 参数失败:",l)}console.log("[App] 开始调用登录接口,code:",a),uni.request({url:o.API.WX_LOGIN,method:"POST",data:{code:a},success:function(t){console.log("[App] 登录接口响应:",t.data);var n=t.data;if(0===n.errcode){var i=n.data.access_token;console.log("[App] 获取 token 成功:",i),uni.setStorageSync("token",i),uni.$emit("loginSuccess",{token:i})}else console.error("[App] 登录失败:",n.errmsg),uni.showToast({title:n.errmsg||"登录失败",icon:"none"})},fail:function(t){console.error("[App] 获取 token 失败:",t),uni.showToast({title:"网络错误,请重试",icon:"none"})}})}else{console.log("[App] 未找到 code,跳转到授权页面");var m=window.location.href.split("#")[0];m=m.replace(/[?&]code=[^&]*/g,"").replace(/[?&]state=[^&]*/g,""),m=m.replace(/\?$/,"");var g=encodeURIComponent(m);console.log("[App] redirectUri:",g);var s="https://open.weixin.qq.com/connect/oauth2/authorize?appid=".concat("wx9538bc740fe87fce","&redirect_uri=").concat(g,"&response_type=code&scope=").concat("snsapi_userinfo","&state=").concat("STATE","#wechat_redirect");console.log("[App] 跳转到授权页面:",s),window.location.href=s}}}else console.log("[App] 非微信环境,跳过登录")},mockAccountLogin:function(t,n){uni.setStorageSync("token","eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL3h1a291c2h1bml1LjExNS5sYW5neWUubmV0L2FwaS9jdXN0b21lci9sb2dpbi1ieS13ZWNoYXQtY29kZSIsImlhdCI6MTc2OTY3OTExMCwiZXhwIjoxNzY5NjgyNzEwLCJuYmYiOjE3Njk2NzkxMTAsImp0aSI6Iks5MmRBc3Q5TDZaWUlMZ0EiLCJzdWIiOiIxNiIsInBydiI6IjFkMGEwMjBhY2Y1YzRiNmM0OTc5ODlkZjFhYmYwZmJkNGU4YzhkNjMifQ.FpSIvyHtemsAVM4cymHp18kysPyeonqIgl-y-jdI4d0")},configWechatJSSDK:function(){var t=this,n=/MicroMessenger/i.test(navigator.userAgent);if(console.log("[App] configWechatJSSDK 调用,isWeixinBrowser =",n,", typeof wx =",(0,r.default)(p.default),", has window.wx =","undefined"!==typeof window&&!!window.wx),n&&"undefined"!==typeof window&&"undefined"!==typeof p.default){var i=window.location.href.split("#")[0],a=encodeURIComponent(i);console.log("[App] 当前用于签名的 URL =",i,",编码后 =",a),uni.request({url:"".concat(o.API.WECHAT_JSSDK_CONFIG,"?url=").concat(a),method:"GET",success:function(n){if(console.log("[App] WECHAT_JSSDK_CONFIG 响应:",n.data),n.data)if(0===n.data.errcode&&n.data.data){var i=n.data.data;t.initWechatJSSDK(i)}else console.warn("[App] 获取微信 JSSDK 配置失败,errcode =",n.data.errcode,"errmsg =",n.data.errmsg);else console.warn("[App] WECHAT_JSSDK_CONFIG 返回为空")},fail:function(t){console.error("[App] 调用 WECHAT_JSSDK_CONFIG 接口失败:",t)}})}else console.log("[App] 非微信环境或微信JS-SDK未加载,跳过配置")},initWechatJSSDK:function(t){var n=this;"undefined"!==typeof p.default?(p.default.config({debug:!1,appId:t.appId,timestamp:t.timestamp,nonceStr:t.nonceStr,signature:t.signature,jsApiList:["getLocation","onMenuShareTimeline","onMenuShareAppMessage","onMenuShareQQ","onMenuShareWeibo"]}),p.default.ready((function(){console.log("微信 JS-SDK 配置成功"),n.setupGlobalWechatShare()})),p.default.error((function(t){console.error("微信 JS-SDK 配置失败:",t),uni.showToast({title:"微信功能配置失败",icon:"none"})}))):console.error("微信 JS-SDK 未加载")},setupGlobalWechatShare:function(){var t=/MicroMessenger/i.test(navigator.userAgent);if(t&&"undefined"!==typeof window){var n=window.wx||p.default;if(n){var i=window.location.href,a=i.split("#")[0],r="".concat(window.location.origin,"/h5/static/icon_logo.png"),o={title:"胥口枢纽闸站公众号",desc:"主要功能为胥口闸站船只过闸预约、支付等功能",link:a,imgUrl:r,type:"link"},d=o.link;try{d=e.urlUtils.generateSafeShareUrl(o.link,{source:"share",timestamp:Date.now()})}catch(m){console.warn("生成安全分享链接时出错:",m),d=o.link}var u=function(){console.log("微信JS-SDK准备就绪,配置全局分享"),n.onMenuShareTimeline({title:o.title,desc:o.desc,link:d,imgUrl:o.imgUrl,success:function(){console.log("分享到朋友圈成功"),uni.showToast({title:"分享到朋友圈成功",icon:"success"})},cancel:function(){console.log("取消分享到朋友圈")}}),n.onMenuShareAppMessage({title:o.title,desc:o.desc,link:d,imgUrl:o.imgUrl,type:o.type,dataUrl:"",success:function(){console.log("分享给朋友成功"),uni.showToast({title:"分享给朋友成功",icon:"success"})},cancel:function(){console.log("取消分享给朋友")}}),n.onMenuShareQQ({title:o.title,desc:o.desc,link:d,imgUrl:o.imgUrl,success:function(){console.log("分享到QQ成功"),uni.showToast({title:"分享到QQ成功",icon:"success"})},cancel:function(){console.log("取消分享到QQ")}}),n.onMenuShareWeibo({title:o.title,desc:o.desc,link:d,imgUrl:o.imgUrl,success:function(){console.log("分享到微博成功"),uni.showToast({title:"分享到微博成功",icon:"success"})},cancel:function(){console.log("取消分享到微博")}}),console.log("全局微信分享配置完成")};n.ready?n.ready(u):u(),n.error&&n.error((function(t){console.error("微信JS-SDK配置失败:",t)}))}else console.log("微信JS-SDK未加载,跳过分享配置")}else console.log("非微信环境,跳过分享配置")}}};n.default=d},e34a:function(t,n,i){var a=i("068c");a.__esModule&&(a=a.default),"string"===typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);var r=i("967d").default;r("70dae20a",a,!0,{sourceMap:!1,shadowMode:!1})},e8b4:function(t,n,i){var a={"./af":"06fc","./af.js":"06fc","./ar":"afa5","./ar-dz":"a3f8","./ar-dz.js":"a3f8","./ar-kw":"5466","./ar-kw.js":"5466","./ar-ly":"6a17","./ar-ly.js":"6a17","./ar-ma":"ebd0","./ar-ma.js":"ebd0","./ar-ps":"4144","./ar-ps.js":"4144","./ar-sa":"6506","./ar-sa.js":"6506","./ar-tn":"b68b","./ar-tn.js":"b68b","./ar.js":"afa5","./az":"aee0","./az.js":"aee0","./be":"6428","./be.js":"6428","./bg":"8893","./bg.js":"8893","./bm":"5229","./bm.js":"5229","./bn":"a9fe","./bn-bd":"1e26","./bn-bd.js":"1e26","./bn.js":"a9fe","./bo":"232e","./bo.js":"232e","./br":"ffb6","./br.js":"ffb6","./bs":"8058","./bs.js":"8058","./ca":"157f","./ca.js":"157f","./cs":"1db4","./cs.js":"1db4","./cv":"9bf2","./cv.js":"9bf2","./cy":"23d3","./cy.js":"23d3","./da":"949a","./da.js":"949a","./de":"4355","./de-at":"8112","./de-at.js":"8112","./de-ch":"49c4","./de-ch.js":"49c4","./de.js":"4355","./dv":"3134","./dv.js":"3134","./el":"3a2a","./el.js":"3a2a","./en-au":"de00","./en-au.js":"de00","./en-ca":"894e","./en-ca.js":"894e","./en-gb":"6ade","./en-gb.js":"6ade","./en-ie":"1f6f","./en-ie.js":"1f6f","./en-il":"b4ca","./en-il.js":"b4ca","./en-in":"14e8","./en-in.js":"14e8","./en-nz":"9eeb","./en-nz.js":"9eeb","./en-sg":"ea98","./en-sg.js":"ea98","./eo":"8934","./eo.js":"8934","./es":"8d2d","./es-do":"230b","./es-do.js":"230b","./es-mx":"4b18","./es-mx.js":"4b18","./es-us":"1cfa","./es-us.js":"1cfa","./es.js":"8d2d","./et":"1b15","./et.js":"1b15","./eu":"f2c8","./eu.js":"f2c8","./fa":"5571","./fa.js":"5571","./fi":"e371","./fi.js":"e371","./fil":"1621","./fil.js":"1621","./fo":"df2f","./fo.js":"df2f","./fr":"f0e7","./fr-ca":"4502","./fr-ca.js":"4502","./fr-ch":"210a","./fr-ch.js":"210a","./fr.js":"f0e7","./fy":"08d5","./fy.js":"08d5","./ga":"0734","./ga.js":"0734","./gd":"dca4","./gd.js":"dca4","./gl":"2978","./gl.js":"2978","./gom-deva":"4aed","./gom-deva.js":"4aed","./gom-latn":"b914","./gom-latn.js":"b914","./gu":"b308","./gu.js":"b308","./he":"5811","./he.js":"5811","./hi":"babe","./hi.js":"babe","./hr":"5d94","./hr.js":"5d94","./hu":"9114","./hu.js":"9114","./hy-am":"fd9d","./hy-am.js":"fd9d","./id":"dfb8","./id.js":"dfb8","./is":"eced","./is.js":"eced","./it":"ada2","./it-ch":"6163","./it-ch.js":"6163","./it.js":"ada2","./ja":"10b5","./ja.js":"10b5","./jv":"7f36","./jv.js":"7f36","./ka":"f49a","./ka.js":"f49a","./kk":"c60f","./kk.js":"c60f","./km":"3e64","./km.js":"3e64","./kn":"53b4","./kn.js":"53b4","./ko":"3327","./ko.js":"3327","./ku":"be6b","./ku-kmr":"12d6","./ku-kmr.js":"12d6","./ku.js":"be6b","./ky":"44a9","./ky.js":"44a9","./lb":"cdf4","./lb.js":"cdf4","./lo":"4cb5","./lo.js":"4cb5","./lt":"c86b6","./lt.js":"c86b6","./lv":"6b14","./lv.js":"6b14","./me":"80df","./me.js":"80df","./mi":"4420","./mi.js":"4420","./mk":"e09f","./mk.js":"e09f","./ml":"1a43","./ml.js":"1a43","./mn":"76ea","./mn.js":"76ea","./mr":"2e33","./mr.js":"2e33","./ms":"de89","./ms-my":"8cfd","./ms-my.js":"8cfd","./ms.js":"de89","./mt":"7890","./mt.js":"7890","./my":"e5e1","./my.js":"e5e1","./nb":"98d9","./nb.js":"98d9","./ne":"745f","./ne.js":"745f","./nl":"050d","./nl-be":"9e32","./nl-be.js":"9e32","./nl.js":"050d","./nn":"e727","./nn.js":"e727","./oc-lnc":"b85d","./oc-lnc.js":"b85d","./pa-in":"5434","./pa-in.js":"5434","./pl":"d2d9","./pl.js":"d2d9","./pt":"59a0","./pt-br":"2e668","./pt-br.js":"2e668","./pt.js":"59a0","./ro":"bb93","./ro.js":"bb93","./ru":"a401","./ru.js":"a401","./sd":"8342","./sd.js":"8342","./se":"8a80","./se.js":"8a80","./si":"f892","./si.js":"f892","./sk":"b4f3","./sk.js":"b4f3","./sl":"1834","./sl.js":"1834","./sq":"3cab","./sq.js":"3cab","./sr":"cd57","./sr-cyrl":"24a4","./sr-cyrl.js":"24a4","./sr.js":"cd57","./ss":"721a","./ss.js":"721a","./sv":"82d0","./sv.js":"82d0","./sw":"c937","./sw.js":"c937","./ta":"99fd","./ta.js":"99fd","./te":"e39c1","./te.js":"e39c1","./tet":"d195","./tet.js":"d195","./tg":"347f","./tg.js":"347f","./th":"b787","./th.js":"b787","./tk":"fdb3","./tk.js":"fdb3","./tl-ph":"b867","./tl-ph.js":"b867","./tlh":"ab09","./tlh.js":"ab09","./tr":"cf4f","./tr.js":"cf4f","./tzl":"a974","./tzl.js":"a974","./tzm":"6f03","./tzm-latn":"a5c8","./tzm-latn.js":"a5c8","./tzm.js":"6f03","./ug-cn":"e77b","./ug-cn.js":"e77b","./uk":"22ae","./uk.js":"22ae","./ur":"56dd","./ur.js":"56dd","./uz":"76d3","./uz-latn":"e1a9","./uz-latn.js":"e1a9","./uz.js":"76d3","./vi":"2bf9","./vi.js":"2bf9","./x-pseudo":"eae7","./x-pseudo.js":"eae7","./yo":"e7fe","./yo.js":"e7fe","./zh-cn":"16f1","./zh-cn.js":"16f1","./zh-hk":"1299","./zh-hk.js":"1299","./zh-mo":"939f","./zh-mo.js":"939f","./zh-tw":"378e","./zh-tw.js":"378e"};function r(t){var n=o(t);return i(n)}function o(t){if(!i.o(a,t)){var n=new Error("Cannot find module '"+t+"'");throw n.code="MODULE_NOT_FOUND",n}return a[t]}r.keys=function(){return Object.keys(a)},r.resolve=o,t.exports=r,r.id="e8b4"},f61f:function(t,n,i){"use strict";var a=i("e34a"),r=i.n(a);r.a},f77c:function(t,n,i){"use strict";i("6a54");var a=i("f5bd").default;Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0,i("c223");var r=a(i("fcf3")),o=a(i("b599"));var e=function t(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(n=(0,o.default)(n),"object"!==(0,r.default)(n)||"object"!==(0,r.default)(i))return!1;for(var a in i)i.hasOwnProperty(a)&&(a in n?"object"!==(0,r.default)(n[a])||"object"!==(0,r.default)(i[a])?n[a]=i[a]:n[a].concat&&i[a].concat?n[a]=n[a].concat(i[a]):n[a]=t(n[a],i[a]):n[a]=i[a]);return n};n.default=e}}); \ No newline at end of file diff --git a/unpackage/dist/build/web/static/js/pages-reservation-index.60e8e16b.js b/unpackage/dist/build/web/static/js/pages-reservation-index.60e8e16b.js deleted file mode 100644 index 802a752..0000000 --- a/unpackage/dist/build/web/static/js/pages-reservation-index.60e8e16b.js +++ /dev/null @@ -1 +0,0 @@ -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["pages-reservation-index"],{"0311":function(t,e,n){"use strict";var a=n("326b"),i=n.n(a);i.a},"16a6":function(t,e,n){"use strict";n.r(e);var a=n("fe2c"),i=n("f715");for(var o in i)["default"].indexOf(o)<0&&function(t){n.d(e,t,(function(){return i[t]}))}(o);n("983b");var r=n("828b"),s=Object(r["a"])(i["default"],a["b"],a["c"],!1,null,"21b1a219",null,!1,a["a"],void 0);e["default"]=s.exports},"326b":function(t,e,n){var a=n("d22a");a.__esModule&&(a=a.default),"string"===typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);var i=n("967d").default;i("6d2c351e",a,!0,{sourceMap:!1,shadowMode:!1})},"7c1d":function(t,e,n){var a=n("d567");a.__esModule&&(a=a.default),"string"===typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);var i=n("967d").default;i("3b5908ff",a,!0,{sourceMap:!1,shadowMode:!1})},"95f8":function(t,e,n){"use strict";var a=n("8bdb"),i=Math.hypot,o=Math.abs,r=Math.sqrt,s=!!i&&i(1/0,NaN)!==1/0;a({target:"Math",stat:!0,arity:2,forced:s},{hypot:function(t,e){var n,a,i=0,s=0,c=arguments.length,u=0;while(s0?(a=n/u,i+=a*a):i+=n;return u===1/0?1/0:u*r(i)}})},"983b":function(t,e,n){"use strict";var a=n("7c1d"),i=n.n(a);i.a},"9f01":function(t,e,n){"use strict";n("6a54");var a=n("f5bd").default;Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var i=a(n("5de6")),o=a(n("fcf3")),r=a(n("2634")),s=a(n("2fdc"));n("5c47"),n("0506"),n("c223"),n("bf0f"),n("e838"),n("8f71"),n("fd3c"),n("95f8"),n("64aa"),n("dc8a"),n("aa77"),n("f7a5"),n("aa9c");var c=a(n("ae52")),u=n("7c99"),l=a(n("608d")),d={name:"ReservationPage",geofenceToleranceMeters:20,components:{NavBar:c.default},data:function(){return{isWeixinBrowser:!1,direction:"",shipList:[],currentShip:{id:"",total_length:"",total_width:"",molded_depth:"",ship_number:"",total_tonnage:"",ship_type:""},directionEnum:[],shipTypeEnum:[],agreeNotice:!1,gateDate:"today",deadlineTimes:{toTaihu:"",toXujiang:""},isDateDisabled:!1,userLocation:null,isInGeofence:null,geofenceRequestSeq:0,unitPrice:"",calculationDescription:""}},onLoad:function(){this.isWeixinBrowser=/MicroMessenger/i.test(navigator.userAgent)},onShow:function(){var t=this;return(0,s.default)((0,r.default)().mark((function e(){var n;return(0,r.default)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,t.fetchDirectionEnum();case 2:return e.next=4,t.fetchShipTypeEnum();case 4:return e.next=6,t.fetchShipList();case 6:if(n=e.sent,n){e.next=9;break}return e.abrupt("return");case 9:uni.showModal({title:"提示",content:"预约前需要先获取您的位置信息",showCancel:!0,confirmText:"确定",cancelText:"取消",success:function(e){e.confirm?t.getUserLocation():uni.showToast({title:"未获取位置信息,可能无法完成预约",icon:"none"})}}),t.fetchDailyReservationDeadline();case 11:case"end":return e.stop()}}),e)})))()},methods:{fetchUnitPrice:function(){var t=arguments,e=this;return(0,s.default)((0,r.default)().mark((function n(){var a,i,o,s,c;return(0,r.default)().wrap((function(n){while(1)switch(n.prev=n.next){case 0:if(a=t.length>0&&void 0!==t[0]?t[0]:"",i=uni.getStorageSync("token"),i){n.next=4;break}return n.abrupt("return");case 4:return o=a?"?token=".concat(i,"&ship_id=").concat(a):"?token=".concat(i),n.next=7,new Promise((function(t,e){uni.request({url:"".concat(u.API.GET_UNIT_PRICE).concat(o),method:"get",success:t,fail:e})}));case 7:s=n.sent,s.data&&0===s.data.errcode&&(c=s.data.data,e.unitPrice=c.price||"",e.calculationDescription=c.price_desc||"");case 9:case"end":return n.stop()}}),n)})))()},getUserLocation:function(){return this.isWeixinBrowser?(console.log("微信 H5 环境"),this.getWeixinLocation()):(console.log("普通 H5 环境"),this.getBrowserLocation())},getWeixinLocation:function(){var t=this;return new Promise((function(e){console.log("[WeixinLocation] 调用 getWeixinLocation");var n=/MicroMessenger/i.test(navigator.userAgent);console.log("[WeixinLocation] 是否微信环境 isWeixinBrowser =",t.isWeixinBrowser,"UA检测 =",n?"是":"否");var a="undefined"!==typeof window&&!!window.wx,i="undefined"!==typeof l.default;console.log("[WeixinLocation] has window.wx =",a,", has module wx =",i);var r=a?window.wx:i?l.default:null;if(console.log("[WeixinLocation] wxObj =",r),!r)return console.error("微信 JS-SDK 未加载"),uni.showModal({title:"提示",content:"微信 JS-SDK 未加载,请刷新页面重试",showCancel:!1}),void e(null);console.log("[WeixinLocation] wxObj.version =",r.version,"typeof wxObj.config =",(0,o.default)(r.config),"typeof wxObj.ready =",(0,o.default)(r.ready),"typeof wxObj.getLocation =",(0,o.default)(r.getLocation)),"function"!==typeof r.config&&console.warn("[WeixinLocation] wx.config 未定义,说明微信JS-SDK可能还没有正确初始化,wx.ready 可能不会触发,请确认后端是否已下发 JSSDK 配置并在 App.vue 中调用 initWechatJSSDK"),"function"!==typeof r.getLocation&&console.warn("[WeixinLocation] wx.getLocation 不是函数,说明当前 JSSDK 可能未加载完整或未包含该接口"),"function"===typeof r.error?r.error((function(t){console.error("[WeixinLocation] wx.error 回调触发,JSSDK 配置或调用出错:",t)})):console.warn("[WeixinLocation] wx.error 不存在,无法捕获 JSSDK 配置错误");var s=!1;setTimeout((function(){s||console.warn("[WeixinLocation] 5 秒内 wx.ready 未回调,可能是 wx.config 未正确执行或签名错误")}),5e3),r.ready((function(){s=!0,console.log("[WeixinLocation] wx.ready 回调触发,开始调用 wx.getLocation"),r.getLocation({type:"gcj02",success:function(n){console.log("[WeixinLocation] wx.getLocation success 原始返回值:",n);var a={latitude:n.latitude,longitude:n.longitude,speed:n.speed,accuracy:n.accuracy};t.userLocation=a,console.log("[WeixinLocation] 已保存 userLocation =",t.userLocation),e(a)},fail:function(t){console.error("[WeixinLocation] wx.getLocation fail:",t),uni.showModal({title:"提示",content:"获取位置失败,请允许访问位置信息",showCancel:!1}),e(null)}})}))}))},getBrowserLocation:function(){var t=this;return new Promise((function(e){if("undefined"===typeof navigator||!navigator.geolocation)return uni.showModal({title:"提示",content:"您的浏览器不支持地理位置功能",showCancel:!1}),void e(null);navigator.geolocation.getCurrentPosition((function(n){var a={latitude:n.coords.latitude,longitude:n.coords.longitude,accuracy:n.coords.accuracy,altitude:n.coords.altitude,altitudeAccuracy:n.coords.altitudeAccuracy,heading:n.coords.heading,speed:n.coords.speed};t.userLocation=a,console.log("浏览器获取位置成功:",t.userLocation),e(a)}),(function(t){console.error("浏览器获取位置失败:",t);var n="获取位置失败";switch(t.code){case t.PERMISSION_DENIED:n="用户拒绝了位置请求";break;case t.POSITION_UNAVAILABLE:n="位置信息不可用";break;case t.TIMEOUT:n="获取位置超时";break}uni.showModal({title:"提示",content:n+",请允许访问位置信息",showCancel:!1}),e(null)}),{enableHighAccuracy:!0,timeout:1e4,maximumAge:0})}))},getMiniProgramLocation:function(){return Promise.resolve(null)},setDirection:function(t){if(this.direction=t,this.isInGeofence=null,this.updateGateDateByDirection(),t){var e=++this.geofenceRequestSeq;this.fetchGeofenceByDirection({direction:t,showModal:!0,requestSeq:e})}},fetchGeofenceByDirection:function(){var t=arguments,e=this;return(0,s.default)((0,r.default)().mark((function n(){var a,i,o,s,c,l,d,f,v,p,h,g,b;return(0,r.default)().wrap((function(n){while(1)switch(n.prev=n.next){case 0:if(a=t.length>0&&void 0!==t[0]?t[0]:{},i=a.showModal,o=void 0===i||i,s=a.direction,c=void 0===s?e.direction:s,l=a.location,d=void 0===l?e.userLocation:l,f=a.requestSeq,v=void 0===f?null:f,p=uni.getStorageSync("token"),p&&c){n.next=5;break}return n.abrupt("return",null);case 5:return n.prev=5,n.next=8,new Promise((function(t,e){uni.request({url:"".concat(u.API.GET_GEOFENCE_BY_DIRECTION,"?token=").concat(p,"&direction=").concat(c),method:"GET",success:t,fail:e})}));case 8:if(h=n.sent,!h.data||0!==h.data.errcode){n.next=19;break}if(g=h.data.data,console.log(g),b=e.checkLocationInGeofence(g,{showModal:o,location:d,suppressStateUpdate:!0}),null===v||v===e.geofenceRequestSeq){n.next=15;break}return n.abrupt("return",b);case 15:if(c===e.direction){n.next=17;break}return n.abrupt("return",b);case 17:return e.isInGeofence=b,n.abrupt("return",b);case 19:n.next=25;break;case 21:return n.prev=21,n.t0=n["catch"](5),null!==v&&v!==e.geofenceRequestSeq||(e.isInGeofence=null),n.abrupt("return",null);case 25:return n.abrupt("return",null);case 26:case"end":return n.stop()}}),n,null,[[5,21]])})))()},checkLocationInGeofence:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.showModal,a=void 0===n||n,i=e.location,o=void 0===i?this.userLocation:i;if(!o||!o.latitude||!o.longitude)return console.warn("用户位置信息不存在,无法进行范围判断"),null;var r=parseFloat(o.latitude),s=parseFloat(o.longitude);if(!t||!Array.isArray(t)||0===t.length)return!0;for(var c=0;c0&&this.isPointInPolygon(s,r,u.coordinates))return console.log("用户位置在围栏范围内"),!0}return a&&uni.showModal({title:"提示",content:"您的当前位置不在闸站可预约范围内",showCancel:!1}),!1},isPointInPolygon:function(t,e,n){if(!n||n.length<3)return!1;var a=n.map((function(t){return Array.isArray(t)&&t.length>=2?[parseFloat(t[0]),parseFloat(t[1])]:null})).filter((function(t){return null!==t}));if(a.length<3)return!1;if(this.isPointOnPolygonBoundary(t,e,a))return!0;for(var i=!1,o=t,r=e,s=0,c=a.length-1;sr!==f>r&&o<(d-u)*(r-l)/(f-l)+u;v&&(i=!i)}return i},isPointOnPolygonBoundary:function(t,e,n){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:this.$options.geofenceToleranceMeters||20;if(!n||n.length<2)return!1;for(var i=0,o=n.length-1;i6&&void 0!==arguments[6]?arguments[6]:1e-10,s=(t-n)*(o-a)-(e-a)*(i-n);if(Math.abs(s)>r)return!1;var c=(t-n)*(i-n)+(e-a)*(o-a);if(c<-r)return!1;var u=(i-n)*(i-n)+(o-a)*(o-a);return c<=u+r},getDistanceToSegmentMeters:function(t,e,n,a,i,o){var r=(e+a+o)/3*Math.PI/180,s=111320*Math.cos(r),c=n*s,u=111320*a,l=i*s,d=111320*o,f=t*s,v=111320*e,p=l-c,h=d-u;if(Math.abs(p)<1e-9&&Math.abs(h)<1e-9)return Math.hypot(f-c,v-u);var g=((f-c)*p+(v-u)*h)/(p*p+h*h);g=Math.max(0,Math.min(1,g));var b=c+g*p,x=u+g*h;return Math.hypot(f-b,v-x)},fetchDailyReservationDeadline:function(){var t=this;return(0,s.default)((0,r.default)().mark((function e(){var n,a,i;return(0,r.default)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(n=uni.getStorageSync("token"),n){e.next=3;break}return e.abrupt("return");case 3:return e.prev=3,e.next=6,new Promise((function(t,e){uni.request({url:"".concat(u.API.GET_DAILY_RESERVATION_DEADLINE,"?token=").concat(n),method:"GET",success:t,fail:e})}));case 6:a=e.sent,a.data&&0===a.data.errcode&&(i=a.data.data,i&&(t.deadlineTimes={toTaihu:i.deadline_time_to_taihu||"",toXujiang:i.deadline_time_to_xujiang||""},t.updateGateDateByDirection())),e.next=12;break;case 10:e.prev=10,e.t0=e["catch"](3);case 12:case"end":return e.stop()}}),e,null,[[3,10]])})))()},getDeadlineTimeByDirection:function(t){return"out"===t?this.deadlineTimes.toTaihu:"in"===t?this.deadlineTimes.toXujiang:""},updateGateDateByDirection:function(){var t=this.getDeadlineTimeByDirection(this.direction);t?this.checkDeadlineAndSetDate(t):this.isDateDisabled=!1},checkDeadlineAndSetDate:function(t){if(t){var e=new Date,n=e.getHours(),a=e.getMinutes(),o=t.split(":").map(Number),r=(0,i.default)(o,2),s=r[0],c=r[1],u=60*n+a,l=60*s+c;this.gateDate=u>=l?"tomorrow":"today",this.isDateDisabled=!0}},fetchShipList:function(){var t=this;return(0,s.default)((0,r.default)().mark((function e(){var n,a,i;return(0,r.default)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(n=uni.getStorageSync("token"),n){e.next=4;break}return uni.showToast({title:"请先登录",icon:"none"}),e.abrupt("return",!1);case 4:return e.prev=4,e.next=7,new Promise((function(t,e){uni.request({url:"".concat(u.API.AVAILABLE_SHIPS,"?token=").concat(n),method:"GET",success:t,fail:e})}));case 7:if(a=e.sent,!a.data||0!==a.data.errcode){e.next=27;break}if(i=Array.isArray(a.data.data)?a.data.data.map((function(e){return t.normalizeShip(e)})):[],t.shipList=i,i.length){e.next=15;break}return uni.showToast({title:"暂无船舶信息",icon:"none",duration:1500}),setTimeout((function(){uni.redirectTo({url:"/pages/index/ship_manage"})}),1e3),e.abrupt("return",!1);case 15:if(1!==i.length){e.next=21;break}return t.currentShip=i[0],e.next=19,t.fetchUnitPrice(t.currentShip.id);case 19:e.next=24;break;case 21:t.currentShip=t.emptyShip(),t.unitPrice="",t.calculationDescription="";case 24:return e.abrupt("return",!0);case 27:return uni.showToast({title:a.data&&a.data.errmsg||"获取船舶信息失败",icon:"none"}),e.abrupt("return",!1);case 29:e.next=35;break;case 31:return e.prev=31,e.t0=e["catch"](4),uni.showToast({title:"网络错误",icon:"none"}),e.abrupt("return",!1);case 35:case"end":return e.stop()}}),e,null,[[4,31]])})))()},fetchDirectionEnum:function(){var t=this;return(0,s.default)((0,r.default)().mark((function e(){var n,a;return(0,r.default)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(n=uni.getStorageSync("token"),n){e.next=3;break}return e.abrupt("return");case 3:return e.prev=3,e.next=6,new Promise((function(t,e){uni.request({url:"".concat(u.API.GET_DIRECTION_ENUM,"?token=").concat(n),method:"GET",success:t,fail:e})}));case 6:a=e.sent,a.data&&0===a.data.errcode&&(t.directionEnum=Object.keys(a.data.data).map((function(t){return{label:t,value:a.data.data[t]}}))),e.next=12;break;case 10:e.prev=10,e.t0=e["catch"](3);case 12:case"end":return e.stop()}}),e,null,[[3,10]])})))()},fetchShipTypeEnum:function(){var t=this;return(0,s.default)((0,r.default)().mark((function e(){var n,a,i;return(0,r.default)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(n=uni.getStorageSync("token"),n){e.next=3;break}return e.abrupt("return");case 3:return e.prev=3,e.next=6,new Promise((function(t,e){uni.request({url:"".concat(u.API.SHIP_PROPERTY_ENUM,"?token=").concat(n),method:"GET",success:t,fail:e})}));case 6:a=e.sent,a.data&&0===a.data.errcode&&(i=a.data.data.ship_type||{},Array.isArray(i)?t.shipTypeEnum=i:t.shipTypeEnum=Object.keys(i).map((function(t){return{label:t,value:i[t]}}))),e.next=12;break;case 10:e.prev=10,e.t0=e["catch"](3);case 12:case"end":return e.stop()}}),e,null,[[3,10]])})))()},normalizeShip:function(t){return{id:t.id,total_length:t.total_length,total_width:t.total_width,molded_depth:t.molded_depth,ship_number:t.ship_number,total_tonnage:t.total_tonnage,ship_type:t.ship_type}},emptyShip:function(){return{id:"",total_length:"",total_width:"",molded_depth:"",ship_number:"",total_tonnage:"",ship_type:""}},confirmShipSelection:function(t){var e=this,n=this.normalizeShip(t);uni.showModal({title:"确认船舶",content:"本次预约将使用船舶“".concat(n.ship_number,"”,请确认是否继续?"),confirmText:"确认",cancelText:"重选",success:function(){var t=(0,s.default)((0,r.default)().mark((function t(a){return(0,r.default)().wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(a.confirm){t.next=2;break}return t.abrupt("return");case 2:return e.currentShip=n,t.next=5,e.fetchUnitPrice(n.id);case 5:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()})},getShipTypeName:function(t){var e=this.shipTypeEnum.find((function(e){return e.value===t||e.value==t}));return e?e.label:t},formatPrice:function(t){if(""===t||null===t||"undefined"===typeof t)return"";var e=Number(t);return Number.isNaN(e)?t:e.toFixed(2)},onReserve:function(){var t=this;return(0,s.default)((0,r.default)().mark((function e(){var n,a,i,s,c,l,d,f;return(0,r.default)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(t.currentShip.id){e.next=3;break}return uni.showToast({title:"请先选择船舶",icon:"none"}),e.abrupt("return");case 3:if(t.agreeNotice){e.next=6;break}return uni.showToast({title:"请先阅读并同意预约须知",icon:"none"}),e.abrupt("return");case 6:if(t.direction){e.next=9;break}return uni.showToast({title:"请先选择航行方向",icon:"none"}),e.abrupt("return");case 9:return uni.showLoading({title:"正在获取位置..."}),e.next=12,t.getUserLocation();case 12:if(n=e.sent,uni.hideLoading(),n&&n.latitude&&n.longitude){e.next=17;break}return uni.showToast({title:"无法获取位置信息,请检查位置权限",icon:"none"}),e.abrupt("return");case 17:return uni.showLoading({title:"正在验证位置..."}),e.next=20,t.fetchGeofenceByDirection({showModal:!1,direction:t.direction,location:n});case 20:if(a=e.sent,uni.hideLoading(),!1!==a){e.next=25;break}return uni.showToast({title:"您的当前位置不在闸站可预约范围内",icon:"none"}),e.abrupt("return");case 25:if(null!==a){e.next=28;break}return uni.showToast({title:"位置验证失败,请重试",icon:"none"}),e.abrupt("return");case 28:if(i=uni.getStorageSync("token"),i){e.next=32;break}return uni.showToast({title:"请先登录",icon:"none"}),e.abrupt("return");case 32:s=t.direction||"in",c="",l=new Date,"today"===t.gateDate?c=l.toISOString().slice(0,10):"tomorrow"===t.gateDate&&(d=new Date(l),d.setDate(l.getDate()+1),c=d.toISOString().slice(0,10)),f={token:i,ship_id:t.currentShip.id,direction:s,passage_date:c},n&&n.latitude&&n.longitude&&(f.latitude=n.latitude,f.longitude=n.longitude),uni.showLoading({title:"提交中..."}),uni.request({url:"".concat(u.API.RESERVATION_CREATE),method:"POST",data:f,success:function(t){if(uni.hideLoading(),t.data&&0===t.data.errcode)uni.showToast({title:"预约成功",icon:"success"}),setTimeout((function(){uni.switchTab({url:"/pages/order/index"})}),800);else{var e=t.data||{},n=e.data||{},a="";if(n&&"object"===(0,o.default)(n)){var i=[];Array.isArray(n.latitude)&&n.latitude.length&&i.push("纬度:".concat(n.latitude.join(","))),Array.isArray(n.longitude)&&n.longitude.length&&i.push("经度:".concat(n.longitude.join(","))),i.length&&(a=i.join(";"))}a||(a=e.errmsg||"预约失败"),uni.showModal({title:"提示",content:a,showCancel:!1})}},fail:function(){uni.hideLoading(),uni.showToast({title:"网络错误",icon:"none"})}});case 40:case"end":return e.stop()}}),e)})))()},toggleAgreeNotice:function(){this.agreeNotice=!this.agreeNotice},setGateDate:function(t){this.isDateDisabled||(this.gateDate=t)}}};e.default=d},a0ae:function(t,e,n){"use strict";n("6a54"),Object.defineProperty(e,"__esModule",{value:!0}),e.default=void 0;var a={props:{title:{type:String,default:""}},data:function(){return{statusBarHeight:0}},mounted:function(){this.statusBarHeight=uni.getSystemInfoSync().statusBarHeight||0},methods:{onBack:function(){console.log("onBack"),uni.navigateBack()}}};e.default=a},ae52:function(t,e,n){"use strict";n.r(e);var a=n("d5a3"),i=n("ebd8");for(var o in i)["default"].indexOf(o)<0&&function(t){n.d(e,t,(function(){return i[t]}))}(o);n("0311");var r=n("828b"),s=Object(r["a"])(i["default"],a["b"],a["c"],!1,null,"28453a18",null,!1,a["a"],void 0);e["default"]=s.exports},d22a:function(t,e,n){var a=n("c86c");e=a(!1),e.push([t.i,".nav-bar[data-v-28453a18]{background:transparent}.nav-content[data-v-28453a18]{display:flex;align-items:center;justify-content:space-between;height:44px;padding:0 16px}.back-btn[data-v-28453a18]{width:16px;height:16px;display:flex;align-items:center;justify-content:center}.nav-title[data-v-28453a18]{font-size:16px;font-weight:400;color:#222;flex:1;text-align:center}.right-slot[data-v-28453a18]{min-width:24px}",""]),t.exports=e},d567:function(t,e,n){var a=n("c86c");e=a(!1),e.push([t.i,'@charset "UTF-8";\n/* 颜色变量 */\n/* 行为相关颜色 */\n/* 文字基本颜色 */\n/* 背景颜色 */\n/* 边框颜色 */\n/* 尺寸变量 */\n/* 文字尺寸 */\n/* 图片尺寸 */\n/* Border Radius */\n/* 水平间距 */\n/* 垂直间距 */\n/* 透明度 */\n/* 文章场景相关 */\n/* uni.scss */.reservation-page[data-v-21b1a219]{background:linear-gradient(180deg,#cbe6ff,#f6faff);min-height:100vh;padding-bottom:%?140?%;padding-top:90px;font-family:SourceHanSansCN,PingFang SC,Microsoft YaHei,sans-serif}.wechat-browser[data-v-21b1a219]{padding-top:10px}.fixed-nav[data-v-21b1a219]{position:fixed;top:0;left:0;right:0;z-index:100;background:linear-gradient(180deg,#cbe6ff,#f6faff);box-shadow:0 2px 8px rgba(0,0,0,.04)}.header[data-v-21b1a219]{display:flex;align-items:center;justify-content:space-between;padding:20px 16px 10px 16px;background:linear-gradient(180deg,#cbe6ff,#f6faff);padding-top:7vh}.back-btn[data-v-21b1a219], .more-btn[data-v-21b1a219]{font-size:24px;color:#333}.title[data-v-21b1a219]{font-size:22px;font-weight:700;color:#222}.card[data-v-21b1a219]{background:#fff;border-radius:18px;margin:0 16px 16px 16px;box-shadow:0 2px 8px rgba(0,0,0,.04);padding:18px 18px 12px 18px;margin-top:20px}.card-title[data-v-21b1a219]{font-size:16px;font-weight:600;margin-bottom:12px;color:#222}.ship-selector-list[data-v-21b1a219]{display:flex;flex-direction:column;gap:%?12?%}.ship-selector-tip[data-v-21b1a219]{margin-bottom:%?16?%;padding:%?16?% %?20?%;border-radius:%?16?%;background:rgba(255,186,73,.16);color:#9a5a00;font-size:%?24?%}.ship-selector-item[data-v-21b1a219]{display:flex;align-items:center;justify-content:space-between;padding:%?20?% %?24?%;border-radius:%?20?%;background:#f5f8fc;border:%?2?% solid transparent}.ship-selector-item.active[data-v-21b1a219]{border-color:#217aff;background:rgba(33,122,255,.08)}.ship-selector-main[data-v-21b1a219]{display:flex;flex-direction:column}.ship-selector-name[data-v-21b1a219]{font-size:%?30?%;font-weight:600;color:#222}.ship-selector-meta[data-v-21b1a219]{margin-top:%?8?%;font-size:%?24?%;color:#7b8794}.ship-selector-check[data-v-21b1a219]{color:#217aff;font-size:%?24?%;font-weight:600}.water-info-row[data-v-21b1a219]{display:flex;justify-content:center;align-items:flex-start;width:-webkit-fit-content;width:fit-content;margin:0 auto;gap:%?150?%}.water-info-col[data-v-21b1a219]{display:flex;flex-direction:column;align-items:flex-start;text-align:left}.label[data-v-21b1a219]{color:#888;font-size:15px;margin-bottom:2px;text-align:left}.value.blue[data-v-21b1a219]{color:#217aff;font-size:14px;text-align:left}.info-list[data-v-21b1a219]{border-top:1px solid #f0f0f0}.info-row[data-v-21b1a219]{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f0f0f0}.info-row[data-v-21b1a219]:last-child{border-bottom:none}.info-label[data-v-21b1a219]{color:#222;font-size:16px}.info-value[data-v-21b1a219]{color:#222;font-size:16px;display:flex;align-items:center}.arrow[data-v-21b1a219]{color:#bdbdbd;font-size:18px;margin-left:4px}.direction-row[data-v-21b1a219], .batch-row[data-v-21b1a219]{display:flex;margin-bottom:8px;justify-content:center}.direction-btn[data-v-21b1a219], .batch-btn[data-v-21b1a219]{border:none;border-radius:24px;padding:0;font-size:14px;background:#f2f6fa;color:#888;height:24px;width:110px;display:flex;align-items:center;justify-content:center;margin:0 %?20?%;border:none;outline:none}.direction-btn[data-v-21b1a219]::after, .batch-btn[data-v-21b1a219]::after{border:none}.direction-btn.active[data-v-21b1a219], .batch-btn.active[data-v-21b1a219]{background:#217aff;color:#fff}.direction-btn[data-v-21b1a219]:disabled{opacity:.6;pointer-events:none}.direction-btn.tomorrow-default[data-v-21b1a219]{background:linear-gradient(90deg,#ffb980,#ffc99a)!important;color:#fff}.notice-row[data-v-21b1a219]{margin:24px 16px 0 16px}.notice-title[data-v-21b1a219]{font-size:14px;font-weight:600;margin-bottom:8px;color:#222}.notice-check[data-v-21b1a219]{display:flex;align-items:center;margin-top:8px;font-size:13px;color:#888}.tabbar[data-v-21b1a219]{position:fixed;left:0;right:0;bottom:0;height:60px;background:#fff;display:flex;border-top:1px solid #eaeaea;z-index:10}.tab-item[data-v-21b1a219]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#888;font-size:14px}.tab-item.active[data-v-21b1a219]{color:#217aff}.icon[data-v-21b1a219]{font-size:22px;margin-bottom:2px}.reservation-bottom-bar[data-v-21b1a219]{position:fixed;left:0;right:0;bottom:0;background:#fcfcfc;box-shadow:0 %?-2?% %?16?% rgba(59,124,255,.08);padding:%?24?% %?24?% %?32?% %?24?%;z-index:999;display:flex;justify-content:center}.reservation-btn[data-v-21b1a219]{min-width:%?320?%;height:%?80?%;border-radius:%?40?%;background:#217aff;color:#fff;font-size:%?32?%;font-weight:500;border:none;outline:none;box-shadow:0 %?4?% %?16?% rgba(33,122,255,.08);transition:background .2s}.reservation-scroll[data-v-21b1a219]{padding-bottom:%?80?%}.date-btn.active[data-v-21b1a219]{background:#217aff;color:#fff}.price-info-section[data-v-21b1a219]{background:#fff;border-radius:18px;margin:0 16px 16px 16px;box-shadow:0 2px 8px rgba(0,0,0,.04);padding:18px 18px 12px 18px;margin-top:20px}.price-info-item[data-v-21b1a219]{display:flex;align-items:flex-start;margin-bottom:12px;font-size:14px}.price-info-item[data-v-21b1a219]:last-child{margin-bottom:0}.price-label[data-v-21b1a219]{color:#666;min-width:100px;flex-shrink:0}.price-value[data-v-21b1a219]{color:#217aff;font-weight:600;flex:1}.price-desc[data-v-21b1a219]{color:#222;flex:1;line-height:1.6}',""]),t.exports=e},d5a3:function(t,e,n){"use strict";n.d(e,"b",(function(){return a})),n.d(e,"c",(function(){return i})),n.d(e,"a",(function(){}));var a=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("v-uni-view",{staticClass:"nav-bar",style:{paddingTop:t.statusBarHeight+"px"}},[n("v-uni-view",{staticClass:"nav-content"},[n("v-uni-image",{staticClass:"back-btn",attrs:{src:"/static/back.png",mode:"aspectFit"},on:{click:function(e){arguments[0]=e=t.$handleEvent(e),t.onBack.apply(void 0,arguments)}}}),n("v-uni-text",{staticClass:"nav-title"},[t._v(t._s(t.title))]),n("v-uni-view",{staticClass:"right-slot"},[t._t("right")],2)],1),t._t("default")],2)},i=[]},ebd8:function(t,e,n){"use strict";n.r(e);var a=n("a0ae"),i=n.n(a);for(var o in a)["default"].indexOf(o)<0&&function(t){n.d(e,t,(function(){return a[t]}))}(o);e["default"]=i.a},f715:function(t,e,n){"use strict";n.r(e);var a=n("9f01"),i=n.n(a);for(var o in a)["default"].indexOf(o)<0&&function(t){n.d(e,t,(function(){return a[t]}))}(o);e["default"]=i.a},fe2c:function(t,e,n){"use strict";n.d(e,"b",(function(){return a})),n.d(e,"c",(function(){return i})),n.d(e,"a",(function(){}));var a=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("v-uni-view",{staticClass:"reservation-page",class:{"wechat-browser":t.isWeixinBrowser}},[t.isWeixinBrowser?t._e():n("v-uni-view",{staticClass:"fixed-nav"},[n("NavBar",{attrs:{title:"过闸预约"}})],1),n("v-uni-view",{staticClass:"reservation-scroll"},[t.shipList.length>1?n("v-uni-view",{staticClass:"card"},[n("v-uni-view",{staticClass:"card-title"},[t._v("选择船舶")]),t.currentShip.id?t._e():n("v-uni-view",{staticClass:"ship-selector-tip"},[t._v("请先选择本次预约要使用的船舶")]),n("v-uni-view",{staticClass:"ship-selector-list"},t._l(t.shipList,(function(e){return n("v-uni-view",{key:e.id,staticClass:"ship-selector-item",class:{active:t.currentShip.id===e.id},on:{click:function(n){arguments[0]=n=t.$handleEvent(n),t.confirmShipSelection(e)}}},[n("v-uni-view",{staticClass:"ship-selector-main"},[n("v-uni-text",{staticClass:"ship-selector-name"},[t._v(t._s(e.ship_number))]),n("v-uni-text",{staticClass:"ship-selector-meta"},[t._v(t._s(e.total_tonnage)+"吨 / "+t._s(t.getShipTypeName(e.ship_type)))])],1),t.currentShip.id===e.id?n("v-uni-text",{staticClass:"ship-selector-check"},[t._v("已选")]):t._e()],1)})),1)],1):t._e(),n("v-uni-view",{staticClass:"card"},[n("v-uni-view",{staticClass:"card-title"},[t._v("船舶信息")]),n("v-uni-view",{staticClass:"info-list"},[n("v-uni-view",{staticClass:"info-row"},[n("v-uni-text",{staticClass:"info-label"},[t._v("编号")]),n("v-uni-view",{staticClass:"info-value"},[t._v(t._s(t.currentShip.ship_number)+" "),n("v-uni-text",{staticClass:"arrow"},[t._v("›")])],1)],1),n("v-uni-view",{staticClass:"info-row"},[n("v-uni-text",{staticClass:"info-label"},[t._v("总长度")]),n("v-uni-view",{staticClass:"info-value"},[t._v(t._s(t.currentShip.total_length)+"米 "),n("v-uni-text",{staticClass:"arrow"},[t._v("›")])],1)],1),n("v-uni-view",{staticClass:"info-row"},[n("v-uni-text",{staticClass:"info-label"},[t._v("型宽")]),n("v-uni-view",{staticClass:"info-value"},[t._v(t._s(t.currentShip.total_width)+"米 "),n("v-uni-text",{staticClass:"arrow"},[t._v("›")])],1)],1),n("v-uni-view",{staticClass:"info-row"},[n("v-uni-text",{staticClass:"info-label"},[t._v("型深")]),n("v-uni-view",{staticClass:"info-value"},[t._v(t._s(t.currentShip.molded_depth)+"米 "),n("v-uni-text",{staticClass:"arrow"},[t._v("›")])],1)],1),n("v-uni-view",{staticClass:"info-row"},[n("v-uni-text",{staticClass:"info-label"},[t._v("载重吨位")]),n("v-uni-view",{staticClass:"info-value"},[t._v(t._s(t.currentShip.total_tonnage)+"吨 "),n("v-uni-text",{staticClass:"arrow"},[t._v("›")])],1)],1),n("v-uni-view",{staticClass:"info-row",staticStyle:{"align-items":"flex-start"}},[n("v-uni-text",{staticClass:"info-label"},[t._v("单次过闸收费")]),n("v-uni-view",{staticClass:"info-value",staticStyle:{width:"50%","text-align":"right","flex-wrap":"wrap"}},[n("v-uni-view",{staticStyle:{"text-align":"right",width:"100%"}},[t._v(t._s(t.formatPrice(t.unitPrice))+"元")]),t._v(t._s(t.calculationDescription)+" ")],1)],1),n("v-uni-view",{staticClass:"info-row"},[n("v-uni-text",{staticClass:"info-label"},[t._v("类型")]),n("v-uni-view",{staticClass:"info-value"},[t._v(t._s(t.getShipTypeName(t.currentShip.ship_type))+" "),n("v-uni-text",{staticClass:"arrow"},[t._v("›")])],1)],1)],1)],1),n("v-uni-view",{staticClass:"card"},[n("v-uni-view",{staticClass:"card-title"},[t._v("航行方向")]),n("v-uni-view",{staticClass:"direction-row"},t._l(t.directionEnum,(function(e){return n("v-uni-button",{key:e.value,staticClass:"direction-btn",class:{active:t.direction===e.value},on:{click:function(n){arguments[0]=n=t.$handleEvent(n),t.setDirection(e.value)}}},[t._v(" "+t._s(e.label)+" ")])})),1)],1),n("v-uni-view",{staticClass:"card"},[n("v-uni-view",{staticClass:"card-title"},[t._v("过闸日期")]),n("v-uni-view",{staticClass:"direction-row"},[n("v-uni-button",{staticClass:"direction-btn",class:{active:"today"===t.gateDate},attrs:{disabled:t.isDateDisabled},on:{click:function(e){arguments[0]=e=t.$handleEvent(e),t.setGateDate("today")}}},[t._v("今天")]),n("v-uni-button",{staticClass:"direction-btn",class:{active:"tomorrow"===t.gateDate,"tomorrow-default":"tomorrow"===t.gateDate&&t.isDateDisabled},attrs:{disabled:t.isDateDisabled},on:{click:function(e){arguments[0]=e=t.$handleEvent(e),t.setGateDate("tomorrow")}}},[t._v("明天")])],1)],1),n("v-uni-view",{staticClass:"notice-row"},[n("v-uni-text",{staticClass:"notice-title"},[t._v("预约须知")]),n("v-uni-view",{staticClass:"notice-check",staticStyle:{position:"relative"}},[n("v-uni-checkbox",{attrs:{checked:t.agreeNotice}}),n("v-uni-text",[t._v("我已阅读并同意《过闸预约服务协议》")]),n("v-uni-view",{staticStyle:{position:"absolute",left:"0",top:"0",right:"0",bottom:"0","z-index":"2"},on:{click:function(e){arguments[0]=e=t.$handleEvent(e),t.toggleAgreeNotice.apply(void 0,arguments)}}})],1)],1)],1),n("v-uni-view",{staticClass:"reservation-bottom-bar"},[n("v-uni-button",{staticClass:"reservation-btn",on:{click:function(e){arguments[0]=e=t.$handleEvent(e),t.onReserve.apply(void 0,arguments)}}},[t._v("预约")])],1)],1)},i=[]}}]); \ No newline at end of file diff --git a/unpackage/dist/build/web/static/js/pages-reservation-index.a9787c0b.js b/unpackage/dist/build/web/static/js/pages-reservation-index.a9787c0b.js new file mode 100644 index 0000000..cfc9a98 --- /dev/null +++ b/unpackage/dist/build/web/static/js/pages-reservation-index.a9787c0b.js @@ -0,0 +1 @@ +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["pages-reservation-index"],{"0311":function(e,t,n){"use strict";var i=n("326b"),a=n.n(i);a.a},"129a":function(e,t,n){"use strict";n.d(t,"b",(function(){return i})),n.d(t,"c",(function(){return a})),n.d(t,"a",(function(){}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("v-uni-view",{staticClass:"reservation-page",class:{"wechat-browser":e.isWeixinBrowser}},[e.isWeixinBrowser?e._e():n("v-uni-view",{staticClass:"fixed-nav"},[n("NavBar",{attrs:{title:"过闸预约"}})],1),n("v-uni-view",{staticClass:"reservation-scroll"},[e.shipList.length>1?n("v-uni-view",{staticClass:"card"},[n("v-uni-view",{staticClass:"card-title"},[e._v("选择船舶")]),e.currentShip.id?e._e():n("v-uni-view",{staticClass:"ship-selector-tip"},[e._v("请先选择本次预约要使用的船舶")]),n("v-uni-view",{staticClass:"ship-selector-list"},e._l(e.shipList,(function(t){return n("v-uni-view",{key:t.id,staticClass:"ship-selector-item",class:{active:e.currentShip.id===t.id},on:{click:function(n){arguments[0]=n=e.$handleEvent(n),e.confirmShipSelection(t)}}},[n("v-uni-view",{staticClass:"ship-selector-main"},[n("v-uni-text",{staticClass:"ship-selector-name"},[e._v(e._s(t.ship_number))]),n("v-uni-text",{staticClass:"ship-selector-meta"},[e._v(e._s(t.total_tonnage)+"吨 / "+e._s(e.getShipTypeName(t.ship_type)))])],1),e.currentShip.id===t.id?n("v-uni-text",{staticClass:"ship-selector-check"},[e._v("已选")]):e._e()],1)})),1)],1):e._e(),n("v-uni-view",{staticClass:"card"},[n("v-uni-view",{staticClass:"card-title"},[e._v("船舶信息")]),n("v-uni-view",{staticClass:"info-list"},[n("v-uni-view",{staticClass:"info-row"},[n("v-uni-text",{staticClass:"info-label"},[e._v("编号")]),n("v-uni-view",{staticClass:"info-value"},[e._v(e._s(e.currentShip.ship_number)+" "),n("v-uni-text",{staticClass:"arrow"},[e._v("›")])],1)],1),n("v-uni-view",{staticClass:"info-row"},[n("v-uni-text",{staticClass:"info-label"},[e._v("总长度")]),n("v-uni-view",{staticClass:"info-value"},[e._v(e._s(e.currentShip.total_length)+"米 "),n("v-uni-text",{staticClass:"arrow"},[e._v("›")])],1)],1),n("v-uni-view",{staticClass:"info-row"},[n("v-uni-text",{staticClass:"info-label"},[e._v("型宽")]),n("v-uni-view",{staticClass:"info-value"},[e._v(e._s(e.currentShip.total_width)+"米 "),n("v-uni-text",{staticClass:"arrow"},[e._v("›")])],1)],1),n("v-uni-view",{staticClass:"info-row"},[n("v-uni-text",{staticClass:"info-label"},[e._v("型深")]),n("v-uni-view",{staticClass:"info-value"},[e._v(e._s(e.currentShip.molded_depth)+"米 "),n("v-uni-text",{staticClass:"arrow"},[e._v("›")])],1)],1),n("v-uni-view",{staticClass:"info-row"},[n("v-uni-text",{staticClass:"info-label"},[e._v("载重吨位")]),n("v-uni-view",{staticClass:"info-value"},[e._v(e._s(e.currentShip.total_tonnage)+"吨 "),n("v-uni-text",{staticClass:"arrow"},[e._v("›")])],1)],1),n("v-uni-view",{staticClass:"info-row",staticStyle:{"align-items":"flex-start"}},[n("v-uni-text",{staticClass:"info-label"},[e._v("单次过闸收费")]),n("v-uni-view",{staticClass:"info-value",staticStyle:{width:"50%","text-align":"right","flex-wrap":"wrap"}},[n("v-uni-view",{staticStyle:{"text-align":"right",width:"100%"}},[e._v(e._s(e.formatPrice(e.unitPrice))+"元")]),e._v(e._s(e.calculationDescription)+" ")],1)],1),n("v-uni-view",{staticClass:"info-row"},[n("v-uni-text",{staticClass:"info-label"},[e._v("类型")]),n("v-uni-view",{staticClass:"info-value"},[e._v(e._s(e.getShipTypeName(e.currentShip.ship_type))+" "),n("v-uni-text",{staticClass:"arrow"},[e._v("›")])],1)],1)],1)],1),n("v-uni-view",{staticClass:"card"},[n("v-uni-view",{staticClass:"card-title"},[e._v("航行方向")]),n("v-uni-view",{staticClass:"direction-row"},e._l(e.directionEnum,(function(t){return n("v-uni-button",{key:t.value,staticClass:"direction-btn",class:{active:e.direction===t.value},on:{click:function(n){arguments[0]=n=e.$handleEvent(n),e.setDirection(t.value)}}},[e._v(" "+e._s(t.label)+" ")])})),1)],1),n("v-uni-button",{staticClass:"location-refresh-btn location-refresh-btn--standalone",on:{click:function(t){arguments[0]=t=e.$handleEvent(t),e.refreshUserLocation.apply(void 0,arguments)}}},[e._v("重新获取定位")]),n("v-uni-view",{staticClass:"card"},[n("v-uni-view",{staticClass:"card-title"},[e._v("过闸日期")]),n("v-uni-view",{staticClass:"direction-row"},[n("v-uni-button",{staticClass:"direction-btn",class:{active:"today"===e.gateDate},attrs:{disabled:e.isDateDisabled},on:{click:function(t){arguments[0]=t=e.$handleEvent(t),e.setGateDate("today")}}},[e._v("今天")]),n("v-uni-button",{staticClass:"direction-btn",class:{active:"tomorrow"===e.gateDate,"tomorrow-default":"tomorrow"===e.gateDate&&e.isDateDisabled},attrs:{disabled:e.isDateDisabled},on:{click:function(t){arguments[0]=t=e.$handleEvent(t),e.setGateDate("tomorrow")}}},[e._v("明天")])],1)],1),n("v-uni-view",{staticClass:"notice-row"},[n("v-uni-text",{staticClass:"notice-title"},[e._v("预约须知")]),n("v-uni-view",{staticClass:"notice-check",staticStyle:{position:"relative"}},[n("v-uni-checkbox",{attrs:{checked:e.agreeNotice}}),n("v-uni-text",[e._v("我已阅读并同意《过闸预约服务协议》")]),n("v-uni-view",{staticStyle:{position:"absolute",left:"0",top:"0",right:"0",bottom:"0","z-index":"2"},on:{click:function(t){arguments[0]=t=e.$handleEvent(t),e.toggleAgreeNotice.apply(void 0,arguments)}}})],1)],1)],1),n("v-uni-view",{staticClass:"reservation-bottom-bar"},[n("v-uni-button",{staticClass:"reservation-btn",on:{click:function(t){arguments[0]=t=e.$handleEvent(t),e.onReserve.apply(void 0,arguments)}}},[e._v("预约")])],1)],1)},a=[]},"16a6":function(e,t,n){"use strict";n.r(t);var i=n("129a"),a=n("f715");for(var o in a)["default"].indexOf(o)<0&&function(e){n.d(t,e,(function(){return a[e]}))}(o);n("c36c");var r=n("828b"),c=Object(r["a"])(a["default"],i["b"],i["c"],!1,null,"4c55758e",null,!1,i["a"],void 0);t["default"]=c.exports},"326b":function(e,t,n){var i=n("d22a");i.__esModule&&(i=i.default),"string"===typeof i&&(i=[[e.i,i,""]]),i.locals&&(e.exports=i.locals);var a=n("967d").default;a("6d2c351e",i,!0,{sourceMap:!1,shadowMode:!1})},5885:function(e,t,n){var i=n("c86c");t=i(!1),t.push([e.i,'@charset "UTF-8";\n/* 颜色变量 */\n/* 行为相关颜色 */\n/* 文字基本颜色 */\n/* 背景颜色 */\n/* 边框颜色 */\n/* 尺寸变量 */\n/* 文字尺寸 */\n/* 图片尺寸 */\n/* Border Radius */\n/* 水平间距 */\n/* 垂直间距 */\n/* 透明度 */\n/* 文章场景相关 */\n/* uni.scss */.reservation-page[data-v-4c55758e]{background:linear-gradient(180deg,#cbe6ff,#f6faff);min-height:100vh;padding-bottom:%?140?%;padding-top:90px;font-family:SourceHanSansCN,PingFang SC,Microsoft YaHei,sans-serif}.wechat-browser[data-v-4c55758e]{padding-top:10px}.fixed-nav[data-v-4c55758e]{position:fixed;top:0;left:0;right:0;z-index:100;background:linear-gradient(180deg,#cbe6ff,#f6faff);box-shadow:0 2px 8px rgba(0,0,0,.04)}.header[data-v-4c55758e]{display:flex;align-items:center;justify-content:space-between;padding:20px 16px 10px 16px;background:linear-gradient(180deg,#cbe6ff,#f6faff);padding-top:7vh}.back-btn[data-v-4c55758e], .more-btn[data-v-4c55758e]{font-size:24px;color:#333}.title[data-v-4c55758e]{font-size:22px;font-weight:700;color:#222}.card[data-v-4c55758e]{background:#fff;border-radius:18px;margin:0 16px 16px 16px;box-shadow:0 2px 8px rgba(0,0,0,.04);padding:18px 18px 12px 18px;margin-top:20px}.card-title[data-v-4c55758e]{font-size:16px;font-weight:600;margin-bottom:12px;color:#222}.ship-selector-list[data-v-4c55758e]{display:flex;flex-direction:column;gap:%?12?%}.ship-selector-tip[data-v-4c55758e]{margin-bottom:%?16?%;padding:%?16?% %?20?%;border-radius:%?16?%;background:rgba(255,186,73,.16);color:#9a5a00;font-size:%?24?%}.ship-selector-item[data-v-4c55758e]{display:flex;align-items:center;justify-content:space-between;padding:%?20?% %?24?%;border-radius:%?20?%;background:#f5f8fc;border:%?2?% solid transparent}.ship-selector-item.active[data-v-4c55758e]{border-color:#217aff;background:rgba(33,122,255,.08)}.ship-selector-main[data-v-4c55758e]{display:flex;flex-direction:column}.ship-selector-name[data-v-4c55758e]{font-size:%?30?%;font-weight:600;color:#222}.ship-selector-meta[data-v-4c55758e]{margin-top:%?8?%;font-size:%?24?%;color:#7b8794}.ship-selector-check[data-v-4c55758e]{color:#217aff;font-size:%?24?%;font-weight:600}.location-refresh-btn[data-v-4c55758e]{margin-top:%?20?%;height:%?76?%;line-height:%?76?%;border-radius:%?999?%;background:#fff7ed;color:#c2410c;border:%?1?% solid #fff7ed;font-size:%?26?%}.location-refresh-btn--standalone[data-v-4c55758e]{display:block;width:calc(100% - %?64?%);margin:%?20?% %?32?% 0}.water-info-row[data-v-4c55758e]{display:flex;justify-content:center;align-items:flex-start;width:-webkit-fit-content;width:fit-content;margin:0 auto;gap:%?150?%}.water-info-col[data-v-4c55758e]{display:flex;flex-direction:column;align-items:flex-start;text-align:left}.label[data-v-4c55758e]{color:#888;font-size:15px;margin-bottom:2px;text-align:left}.value.blue[data-v-4c55758e]{color:#217aff;font-size:14px;text-align:left}.info-list[data-v-4c55758e]{border-top:1px solid #f0f0f0}.info-row[data-v-4c55758e]{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f0f0f0}.info-row[data-v-4c55758e]:last-child{border-bottom:none}.info-label[data-v-4c55758e]{color:#222;font-size:16px}.info-value[data-v-4c55758e]{color:#222;font-size:16px;display:flex;align-items:center}.arrow[data-v-4c55758e]{color:#bdbdbd;font-size:18px;margin-left:4px}.direction-row[data-v-4c55758e], .batch-row[data-v-4c55758e]{display:flex;margin-bottom:8px;justify-content:center}.direction-btn[data-v-4c55758e], .batch-btn[data-v-4c55758e]{border:none;border-radius:24px;padding:0;font-size:14px;background:#f2f6fa;color:#888;height:24px;width:110px;display:flex;align-items:center;justify-content:center;margin:0 %?20?%;border:none;outline:none}.direction-btn[data-v-4c55758e]::after, .batch-btn[data-v-4c55758e]::after{border:none}.direction-btn.active[data-v-4c55758e], .batch-btn.active[data-v-4c55758e]{background:#217aff;color:#fff}.direction-btn[data-v-4c55758e]:disabled{opacity:.6;pointer-events:none}.direction-btn.tomorrow-default[data-v-4c55758e]{background:linear-gradient(90deg,#ffb980,#ffc99a)!important;color:#fff}.notice-row[data-v-4c55758e]{margin:24px 16px 0 16px}.notice-title[data-v-4c55758e]{font-size:14px;font-weight:600;margin-bottom:8px;color:#222}.notice-check[data-v-4c55758e]{display:flex;align-items:center;margin-top:8px;font-size:13px;color:#888}.tabbar[data-v-4c55758e]{position:fixed;left:0;right:0;bottom:0;height:60px;background:#fff;display:flex;border-top:1px solid #eaeaea;z-index:10}.tab-item[data-v-4c55758e]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#888;font-size:14px}.tab-item.active[data-v-4c55758e]{color:#217aff}.icon[data-v-4c55758e]{font-size:22px;margin-bottom:2px}.reservation-bottom-bar[data-v-4c55758e]{position:fixed;left:0;right:0;bottom:0;background:#fcfcfc;box-shadow:0 %?-2?% %?16?% rgba(59,124,255,.08);padding:%?24?% %?24?% %?32?% %?24?%;z-index:999;display:flex;justify-content:center}.reservation-btn[data-v-4c55758e]{min-width:%?320?%;height:%?80?%;border-radius:%?40?%;background:#217aff;color:#fff;font-size:%?32?%;font-weight:500;border:none;outline:none;box-shadow:0 %?4?% %?16?% rgba(33,122,255,.08);transition:background .2s}.reservation-scroll[data-v-4c55758e]{padding-bottom:%?80?%}.date-btn.active[data-v-4c55758e]{background:#217aff;color:#fff}.price-info-section[data-v-4c55758e]{background:#fff;border-radius:18px;margin:0 16px 16px 16px;box-shadow:0 2px 8px rgba(0,0,0,.04);padding:18px 18px 12px 18px;margin-top:20px}.price-info-item[data-v-4c55758e]{display:flex;align-items:flex-start;margin-bottom:12px;font-size:14px}.price-info-item[data-v-4c55758e]:last-child{margin-bottom:0}.price-label[data-v-4c55758e]{color:#666;min-width:100px;flex-shrink:0}.price-value[data-v-4c55758e]{color:#217aff;font-weight:600;flex:1}.price-desc[data-v-4c55758e]{color:#222;flex:1;line-height:1.6}',""]),e.exports=t},"95f8":function(e,t,n){"use strict";var i=n("8bdb"),a=Math.hypot,o=Math.abs,r=Math.sqrt,c=!!a&&a(1/0,NaN)!==1/0;i({target:"Math",stat:!0,arity:2,forced:c},{hypot:function(e,t){var n,i,a=0,c=0,s=arguments.length,u=0;while(c0?(i=n/u,a+=i*i):a+=n;return u===1/0?1/0:u*r(a)}})},"9f01":function(e,t,n){"use strict";n("6a54");var i=n("f5bd").default;Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var a=i(n("5de6")),o=i(n("9b1b")),r=i(n("fcf3")),c=i(n("2634")),s=i(n("2fdc"));n("5c47"),n("0506"),n("c223"),n("bf0f"),n("e838"),n("aa9c"),n("8f71"),n("fd3c"),n("64aa"),n("95f8"),n("d4b5"),n("dc8a"),n("aa77"),n("f7a5");var u=i(n("ae52")),l=n("7c99"),d=i(n("608d")),f={name:"ReservationPage",geofenceToleranceMeters:1e3,geofenceAccuracyWarningMeters:1e3,components:{NavBar:u.default},data:function(){return{isWeixinBrowser:!1,direction:"",shipList:[],currentShip:{id:"",total_length:"",total_width:"",molded_depth:"",ship_number:"",total_tonnage:"",ship_type:""},directionEnum:[],shipTypeEnum:[],agreeNotice:!1,gateDate:"today",deadlineTimes:{toTaihu:"",toXujiang:""},isDateDisabled:!1,userLocation:null,isInGeofence:null,geofenceRequestSeq:0,geofenceDebug:{direction:"",locationSource:"",stage:"",result:null,message:"",updatedAt:"",location:null,rawGeofences:null,evaluations:[]},unitPrice:"",calculationDescription:""}},onLoad:function(){this.isWeixinBrowser=/MicroMessenger/i.test(navigator.userAgent)},onShow:function(){var e=this;return(0,s.default)((0,c.default)().mark((function t(){var n;return(0,c.default)().wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,e.fetchDirectionEnum();case 2:return t.next=4,e.fetchShipTypeEnum();case 4:return t.next=6,e.fetchShipList();case 6:if(n=t.sent,n){t.next=9;break}return t.abrupt("return");case 9:uni.showModal({title:"提示",content:"预约前需要先获取您的位置信息",showCancel:!0,confirmText:"确定",cancelText:"取消",success:function(t){t.confirm?e.getUserLocation():uni.showToast({title:"未获取位置信息,可能无法完成预约",icon:"none"})}}),e.fetchDailyReservationDeadline();case 11:case"end":return t.stop()}}),t)})))()},methods:{fetchUnitPrice:function(){var e=arguments,t=this;return(0,s.default)((0,c.default)().mark((function n(){var i,a,o,r,s;return(0,c.default)().wrap((function(n){while(1)switch(n.prev=n.next){case 0:if(i=e.length>0&&void 0!==e[0]?e[0]:"",a=uni.getStorageSync("token"),a){n.next=4;break}return n.abrupt("return");case 4:return o=i?"?token=".concat(a,"&ship_id=").concat(i):"?token=".concat(a),n.next=7,new Promise((function(e,t){uni.request({url:"".concat(l.API.GET_UNIT_PRICE).concat(o),method:"get",success:e,fail:t})}));case 7:r=n.sent,r.data&&0===r.data.errcode&&(s=r.data.data,t.unitPrice=s.price||"",t.calculationDescription=s.price_desc||"");case 9:case"end":return n.stop()}}),n)})))()},getUserLocation:function(){return this.isWeixinBrowser?(console.log("微信 H5 环境"),this.getWeixinLocation()):(console.log("普通 H5 环境"),this.getBrowserLocation())},handleLocationAccuracyNotice:function(e){var t=e&&"number"===typeof e.accuracy?e.accuracy:null;null!==t&&t>(this.$options.geofenceAccuracyWarningMeters||1e3)&&uni.showToast({title:"当前定位误差约".concat(t.toFixed(0),"米"),icon:"none",duration:2500})},refreshUserLocation:function(){var e=this;return(0,s.default)((0,c.default)().mark((function t(){var n;return(0,c.default)().wrap((function(t){while(1)switch(t.prev=t.next){case 0:return uni.showLoading({title:"重新获取定位..."}),t.next=3,e.getUserLocation();case 3:if(n=t.sent,uni.hideLoading(),n){t.next=8;break}return uni.showToast({title:"重新获取定位失败",icon:"none"}),t.abrupt("return");case 8:if(e.handleLocationAccuracyNotice(n),!e.direction){t.next=12;break}return t.next=12,e.fetchGeofenceByDirection({showModal:!1,direction:e.direction,location:n});case 12:case"end":return t.stop()}}),t)})))()},getWeixinLocation:function(){var e=this;return new Promise((function(t){console.log("[WeixinLocation] 调用 getWeixinLocation");var n=/MicroMessenger/i.test(navigator.userAgent);console.log("[WeixinLocation] 是否微信环境 isWeixinBrowser =",e.isWeixinBrowser,"UA检测 =",n?"是":"否");var i="undefined"!==typeof window&&!!window.wx,a="undefined"!==typeof d.default;console.log("[WeixinLocation] has window.wx =",i,", has module wx =",a);var o=i?window.wx:a?d.default:null;if(console.log("[WeixinLocation] wxObj =",o),!o)return console.error("微信 JS-SDK 未加载"),uni.showModal({title:"提示",content:"微信 JS-SDK 未加载,请刷新页面重试",showCancel:!1}),void t(null);console.log("[WeixinLocation] wxObj.version =",o.version,"typeof wxObj.config =",(0,r.default)(o.config),"typeof wxObj.ready =",(0,r.default)(o.ready),"typeof wxObj.getLocation =",(0,r.default)(o.getLocation)),"function"!==typeof o.config&&console.warn("[WeixinLocation] wx.config 未定义,说明微信JS-SDK可能还没有正确初始化,wx.ready 可能不会触发,请确认后端是否已下发 JSSDK 配置并在 App.vue 中调用 initWechatJSSDK"),"function"!==typeof o.getLocation&&console.warn("[WeixinLocation] wx.getLocation 不是函数,说明当前 JSSDK 可能未加载完整或未包含该接口"),"function"===typeof o.error?o.error((function(e){console.error("[WeixinLocation] wx.error 回调触发,JSSDK 配置或调用出错:",e)})):console.warn("[WeixinLocation] wx.error 不存在,无法捕获 JSSDK 配置错误");var c=!1;setTimeout((function(){c||console.warn("[WeixinLocation] 5 秒内 wx.ready 未回调,可能是 wx.config 未正确执行或签名错误")}),5e3),o.ready((function(){c=!0,console.log("[WeixinLocation] wx.ready 回调触发,开始调用 wx.getLocation"),o.getLocation({type:"gcj02",success:function(n){console.log("[WeixinLocation] wx.getLocation success 原始返回值:",n);var i={latitude:n.latitude,longitude:n.longitude,speed:n.speed,accuracy:n.accuracy};e.userLocation=i,e.updateGeofenceDebug({locationSource:"微信 JSSDK gcj02",location:i,message:"微信定位成功",stage:"定位完成"}),e.handleLocationAccuracyNotice(i),console.log("[WeixinLocation] 已保存 userLocation =",e.userLocation),t(i)},fail:function(n){console.error("[WeixinLocation] wx.getLocation fail:",n),e.updateGeofenceDebug({locationSource:"微信 JSSDK gcj02",location:null,result:null,message:"微信定位失败",stage:"定位失败"}),uni.showModal({title:"提示",content:"获取位置失败,请允许访问位置信息",showCancel:!1}),t(null)}})}))}))},getBrowserLocation:function(){var e=this;return new Promise((function(t){if("undefined"===typeof navigator||!navigator.geolocation)return uni.showModal({title:"提示",content:"您的浏览器不支持地理位置功能",showCancel:!1}),void t(null);navigator.geolocation.getCurrentPosition((function(n){var i={latitude:n.coords.latitude,longitude:n.coords.longitude,accuracy:n.coords.accuracy,altitude:n.coords.altitude,altitudeAccuracy:n.coords.altitudeAccuracy,heading:n.coords.heading,speed:n.coords.speed};e.userLocation=i,e.updateGeofenceDebug({locationSource:"浏览器 geolocation",location:i,message:"浏览器定位成功",stage:"定位完成"}),e.handleLocationAccuracyNotice(i),console.log("浏览器获取位置成功:",e.userLocation),t(i)}),(function(n){console.error("浏览器获取位置失败:",n),e.updateGeofenceDebug({locationSource:"浏览器 geolocation",location:null,result:null,message:"浏览器定位失败:"+(n&&n.message?n.message:"未知错误"),stage:"定位失败"});var i="获取位置失败";switch(n.code){case n.PERMISSION_DENIED:i="用户拒绝了位置请求";break;case n.POSITION_UNAVAILABLE:i="位置信息不可用";break;case n.TIMEOUT:i="获取位置超时";break}uni.showModal({title:"提示",content:i+",请允许访问位置信息",showCancel:!1}),t(null)}),{enableHighAccuracy:!0,timeout:1e4,maximumAge:0})}))},getMiniProgramLocation:function(){return Promise.resolve(null)},setDirection:function(e){if(this.direction=e,this.isInGeofence=null,this.updateGateDateByDirection(),e){var t=++this.geofenceRequestSeq;this.fetchGeofenceByDirection({direction:e,showModal:!0,requestSeq:t})}},fetchGeofenceByDirection:function(){var e=arguments,t=this;return(0,s.default)((0,c.default)().mark((function n(){var i,a,o,r,s,u,d,f,v,p,h,g,b;return(0,c.default)().wrap((function(n){while(1)switch(n.prev=n.next){case 0:if(i=e.length>0&&void 0!==e[0]?e[0]:{},a=i.showModal,o=void 0===a||a,r=i.direction,s=void 0===r?t.direction:r,u=i.location,d=void 0===u?t.userLocation:u,f=i.requestSeq,v=void 0===f?null:f,p=uni.getStorageSync("token"),p&&s){n.next=5;break}return n.abrupt("return",null);case 5:return t.updateGeofenceDebug({direction:s,stage:"请求围栏",location:d||null}),n.prev=6,n.next=9,new Promise((function(e,t){uni.request({url:"".concat(l.API.GET_GEOFENCE_BY_DIRECTION,"?token=").concat(p,"&direction=").concat(s),method:"GET",success:e,fail:t})}));case 9:if(h=n.sent,!h.data||0!==h.data.errcode){n.next=21;break}if(g=h.data.data,console.log(g),t.updateGeofenceDebug({direction:s,rawGeofences:g,stage:"围栏已返回",location:d||null,message:"获取到 ".concat(Array.isArray(g)?g.length:0," 个围栏")}),b=t.checkLocationInGeofence(g,{showModal:o,location:d,suppressStateUpdate:!0}),null===v||v===t.geofenceRequestSeq){n.next=17;break}return n.abrupt("return",b);case 17:if(s===t.direction){n.next=19;break}return n.abrupt("return",b);case 19:return t.isInGeofence=b,n.abrupt("return",b);case 21:n.next=28;break;case 23:return n.prev=23,n.t0=n["catch"](6),null!==v&&v!==t.geofenceRequestSeq||(t.isInGeofence=null),t.updateGeofenceDebug({direction:s,result:null,stage:"围栏请求失败",message:n.t0&&n.t0.message?n.t0.message:"围栏请求失败"}),n.abrupt("return",null);case 28:return n.abrupt("return",null);case 29:case"end":return n.stop()}}),n,null,[[6,23]])})))()},checkLocationInGeofence:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.showModal,i=void 0===n||n,a=t.location,r=void 0===a?this.userLocation:a;if(!r||!r.latitude||!r.longitude)return console.warn("用户位置信息不存在,无法进行范围判断"),this.updateGeofenceDebug({location:r||null,result:null,stage:"无法计算",message:"用户位置信息不存在,无法进行范围判断",evaluations:[]}),null;var c=parseFloat(r.latitude),s=parseFloat(r.longitude);if(!e||!Array.isArray(e)||0===e.length)return this.updateGeofenceDebug({location:r,rawGeofences:e,result:!0,stage:"围栏计算完成",message:"未配置围栏,默认放行",evaluations:[]}),!0;for(var u=[],l=0;l0){var f=this.evaluatePointAgainstPolygon(s,c,d.coordinates);if(u.push((0,o.default)({geofenceId:d.id||null,geofenceName:d.name||"",pointCount:d.coordinates.length},f)),f.inside)return console.log("用户位置在围栏范围内"),this.updateGeofenceDebug({location:r,rawGeofences:e,result:!0,stage:"围栏计算完成",message:"命中围栏 ".concat(d.name||d.id||l+1),evaluations:u}),!0}}return this.updateGeofenceDebug({location:r,rawGeofences:e,result:!1,stage:"围栏计算完成",message:"未命中任何围栏",evaluations:u}),i&&uni.showModal({title:"提示",content:"您的当前位置不在闸站可预约范围内",showCancel:!1}),!1},isPointInPolygon:function(e,t,n){return this.evaluatePointAgainstPolygon(e,t,n).inside},evaluatePointAgainstPolygon:function(e,t,n){var i=this.$options.geofenceToleranceMeters||20;if(!n||n.length<3)return{inside:!1,toleranceMeters:i,polygonPointCount:0,onBoundary:!1,withinTolerance:!1,rayCastingInside:!1,minDistanceMeters:null};var a=n.map((function(e){return Array.isArray(e)&&e.length>=2?[parseFloat(e[0]),parseFloat(e[1])]:null})).filter((function(e){return null!==e}));if(a.length<3)return{inside:!1,toleranceMeters:i,polygonPointCount:a.length,onBoundary:!1,withinTolerance:!1,rayCastingInside:!1,minDistanceMeters:null};var o=this.inspectPolygonBoundary(e,t,a,i),r=this.isPointInsidePolygonByRayCasting(e,t,a);return{inside:o.onBoundary||o.withinTolerance||r,toleranceMeters:i,polygonPointCount:a.length,onBoundary:o.onBoundary,withinTolerance:o.withinTolerance,nearestSegmentIndex:o.nearestSegmentIndex,minDistanceMeters:o.minDistanceMeters,rayCastingInside:r}},isPointInsidePolygonByRayCasting:function(e,t,n){for(var i=!1,a=e,o=t,r=0,c=n.length-1;ro!==d>o&&a<(l-s)*(o-u)/(d-u)+s;f&&(i=!i)}return i},isPointOnPolygonBoundary:function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:this.$options.geofenceToleranceMeters||20,a=this.inspectPolygonBoundary(e,t,n,i);return a.onBoundary||a.withinTolerance},inspectPolygonBoundary:function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:this.$options.geofenceToleranceMeters||20;if(!n||n.length<2)return{onBoundary:!1,withinTolerance:!1,minDistanceMeters:null,nearestSegmentIndex:null};for(var a=null,o=null,r=0,c=n.length-1;r6&&void 0!==arguments[6]?arguments[6]:1e-10,c=(e-n)*(o-i)-(t-i)*(a-n);if(Math.abs(c)>r)return!1;var s=(e-n)*(a-n)+(t-i)*(o-i);if(s<-r)return!1;var u=(a-n)*(a-n)+(o-i)*(o-i);return s<=u+r},getDistanceToSegmentMeters:function(e,t,n,i,a,o){var r=(t+i+o)/3*Math.PI/180,c=111320*Math.cos(r),s=n*c,u=111320*i,l=a*c,d=111320*o,f=e*c,v=111320*t,p=l-s,h=d-u;if(Math.abs(p)<1e-9&&Math.abs(h)<1e-9)return Math.hypot(f-s,v-u);var g=((f-s)*p+(v-u)*h)/(p*p+h*h);g=Math.max(0,Math.min(1,g));var b=s+g*p,x=u+g*h;return Math.hypot(f-b,v-x)},updateGeofenceDebug:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.geofenceDebug=(0,o.default)((0,o.default)((0,o.default)({},this.geofenceDebug),e),{},{updatedAt:(new Date).toLocaleString()})},formatDebug:function(e){if(null===e||"undefined"===typeof e)return"null";try{return JSON.stringify(e,null,2)}catch(t){return String(e)}},fetchDailyReservationDeadline:function(){var e=this;return(0,s.default)((0,c.default)().mark((function t(){var n,i,a;return(0,c.default)().wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(n=uni.getStorageSync("token"),n){t.next=3;break}return t.abrupt("return");case 3:return t.prev=3,t.next=6,new Promise((function(e,t){uni.request({url:"".concat(l.API.GET_DAILY_RESERVATION_DEADLINE,"?token=").concat(n),method:"GET",success:e,fail:t})}));case 6:i=t.sent,i.data&&0===i.data.errcode&&(a=i.data.data,a&&(e.deadlineTimes={toTaihu:a.deadline_time_to_taihu||"",toXujiang:a.deadline_time_to_xujiang||""},e.updateGateDateByDirection())),t.next=12;break;case 10:t.prev=10,t.t0=t["catch"](3);case 12:case"end":return t.stop()}}),t,null,[[3,10]])})))()},getDeadlineTimeByDirection:function(e){return"out"===e?this.deadlineTimes.toTaihu:"in"===e?this.deadlineTimes.toXujiang:""},updateGateDateByDirection:function(){var e=this.getDeadlineTimeByDirection(this.direction);e?this.checkDeadlineAndSetDate(e):this.isDateDisabled=!1},checkDeadlineAndSetDate:function(e){if(e){var t=new Date,n=t.getHours(),i=t.getMinutes(),o=e.split(":").map(Number),r=(0,a.default)(o,2),c=r[0],s=r[1],u=60*n+i,l=60*c+s;this.gateDate=u>=l?"tomorrow":"today",this.isDateDisabled=!0}},fetchShipList:function(){var e=this;return(0,s.default)((0,c.default)().mark((function t(){var n,i,a;return(0,c.default)().wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(n=uni.getStorageSync("token"),n){t.next=4;break}return uni.showToast({title:"请先登录",icon:"none"}),t.abrupt("return",!1);case 4:return t.prev=4,t.next=7,new Promise((function(e,t){uni.request({url:"".concat(l.API.AVAILABLE_SHIPS,"?token=").concat(n),method:"GET",success:e,fail:t})}));case 7:if(i=t.sent,!i.data||0!==i.data.errcode){t.next=27;break}if(a=Array.isArray(i.data.data)?i.data.data.map((function(t){return e.normalizeShip(t)})):[],e.shipList=a,a.length){t.next=15;break}return uni.showToast({title:"暂无船舶信息",icon:"none",duration:1500}),setTimeout((function(){uni.redirectTo({url:"/pages/index/ship_manage"})}),1e3),t.abrupt("return",!1);case 15:if(1!==a.length){t.next=21;break}return e.currentShip=a[0],t.next=19,e.fetchUnitPrice(e.currentShip.id);case 19:t.next=24;break;case 21:e.currentShip=e.emptyShip(),e.unitPrice="",e.calculationDescription="";case 24:return t.abrupt("return",!0);case 27:return uni.showToast({title:i.data&&i.data.errmsg||"获取船舶信息失败",icon:"none"}),t.abrupt("return",!1);case 29:t.next=35;break;case 31:return t.prev=31,t.t0=t["catch"](4),uni.showToast({title:"网络错误",icon:"none"}),t.abrupt("return",!1);case 35:case"end":return t.stop()}}),t,null,[[4,31]])})))()},fetchDirectionEnum:function(){var e=this;return(0,s.default)((0,c.default)().mark((function t(){var n,i;return(0,c.default)().wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(n=uni.getStorageSync("token"),n){t.next=3;break}return t.abrupt("return");case 3:return t.prev=3,t.next=6,new Promise((function(e,t){uni.request({url:"".concat(l.API.GET_DIRECTION_ENUM,"?token=").concat(n),method:"GET",success:e,fail:t})}));case 6:i=t.sent,i.data&&0===i.data.errcode&&(e.directionEnum=Object.keys(i.data.data).map((function(e){return{label:e,value:i.data.data[e]}}))),t.next=12;break;case 10:t.prev=10,t.t0=t["catch"](3);case 12:case"end":return t.stop()}}),t,null,[[3,10]])})))()},fetchShipTypeEnum:function(){var e=this;return(0,s.default)((0,c.default)().mark((function t(){var n,i,a;return(0,c.default)().wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(n=uni.getStorageSync("token"),n){t.next=3;break}return t.abrupt("return");case 3:return t.prev=3,t.next=6,new Promise((function(e,t){uni.request({url:"".concat(l.API.SHIP_PROPERTY_ENUM,"?token=").concat(n),method:"GET",success:e,fail:t})}));case 6:i=t.sent,i.data&&0===i.data.errcode&&(a=i.data.data.ship_type||{},Array.isArray(a)?e.shipTypeEnum=a:e.shipTypeEnum=Object.keys(a).map((function(e){return{label:e,value:a[e]}}))),t.next=12;break;case 10:t.prev=10,t.t0=t["catch"](3);case 12:case"end":return t.stop()}}),t,null,[[3,10]])})))()},normalizeShip:function(e){return{id:e.id,total_length:e.total_length,total_width:e.total_width,molded_depth:e.molded_depth,ship_number:e.ship_number,total_tonnage:e.total_tonnage,ship_type:e.ship_type}},emptyShip:function(){return{id:"",total_length:"",total_width:"",molded_depth:"",ship_number:"",total_tonnage:"",ship_type:""}},confirmShipSelection:function(e){var t=this,n=this.normalizeShip(e);uni.showModal({title:"确认船舶",content:"本次预约将使用船舶“".concat(n.ship_number,"”,请确认是否继续?"),confirmText:"确认",cancelText:"重选",success:function(){var e=(0,s.default)((0,c.default)().mark((function e(i){return(0,c.default)().wrap((function(e){while(1)switch(e.prev=e.next){case 0:if(i.confirm){e.next=2;break}return e.abrupt("return");case 2:return t.currentShip=n,e.next=5,t.fetchUnitPrice(n.id);case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()})},getShipTypeName:function(e){var t=this.shipTypeEnum.find((function(t){return t.value===e||t.value==e}));return t?t.label:e},formatPrice:function(e){if(""===e||null===e||"undefined"===typeof e)return"";var t=Number(e);return Number.isNaN(t)?e:t.toFixed(2)},onReserve:function(){var e=this;return(0,s.default)((0,c.default)().mark((function t(){var n,i,a,o,s,u,d,f;return(0,c.default)().wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(e.currentShip.id){t.next=3;break}return uni.showToast({title:"请先选择船舶",icon:"none"}),t.abrupt("return");case 3:if(e.agreeNotice){t.next=6;break}return uni.showToast({title:"请先阅读并同意预约须知",icon:"none"}),t.abrupt("return");case 6:if(e.direction){t.next=9;break}return uni.showToast({title:"请先选择航行方向",icon:"none"}),t.abrupt("return");case 9:return uni.showLoading({title:"正在获取位置..."}),t.next=12,e.getUserLocation();case 12:if(n=t.sent,uni.hideLoading(),n&&n.latitude&&n.longitude){t.next=17;break}return uni.showToast({title:"无法获取位置信息,请检查位置权限",icon:"none"}),t.abrupt("return");case 17:return uni.showLoading({title:"正在验证位置..."}),t.next=20,e.fetchGeofenceByDirection({showModal:!1,direction:e.direction,location:n});case 20:if(i=t.sent,uni.hideLoading(),!1!==i){t.next=25;break}return uni.showToast({title:"您的当前位置不在闸站可预约范围内",icon:"none"}),t.abrupt("return");case 25:if(null!==i){t.next=28;break}return uni.showToast({title:"位置验证失败,请重试",icon:"none"}),t.abrupt("return");case 28:if(a=uni.getStorageSync("token"),a){t.next=32;break}return uni.showToast({title:"请先登录",icon:"none"}),t.abrupt("return");case 32:o=e.direction||"in",s="",u=new Date,"today"===e.gateDate?s=u.toISOString().slice(0,10):"tomorrow"===e.gateDate&&(d=new Date(u),d.setDate(u.getDate()+1),s=d.toISOString().slice(0,10)),f={token:a,ship_id:e.currentShip.id,direction:o,passage_date:s},n&&n.latitude&&n.longitude&&(f.latitude=n.latitude,f.longitude=n.longitude),uni.showLoading({title:"提交中..."}),uni.request({url:"".concat(l.API.RESERVATION_CREATE),method:"POST",data:f,success:function(e){if(uni.hideLoading(),e.data&&0===e.data.errcode)uni.showToast({title:"预约成功",icon:"success"}),setTimeout((function(){uni.switchTab({url:"/pages/order/index"})}),800);else{var t=e.data||{},n=t.data||{},i="";if(n&&"object"===(0,r.default)(n)){var a=[];Array.isArray(n.latitude)&&n.latitude.length&&a.push("纬度:".concat(n.latitude.join(","))),Array.isArray(n.longitude)&&n.longitude.length&&a.push("经度:".concat(n.longitude.join(","))),a.length&&(i=a.join(";"))}i||(i=t.errmsg||"预约失败"),uni.showModal({title:"提示",content:i,showCancel:!1})}},fail:function(){uni.hideLoading(),uni.showToast({title:"网络错误",icon:"none"})}});case 40:case"end":return t.stop()}}),t)})))()},toggleAgreeNotice:function(){this.agreeNotice=!this.agreeNotice},setGateDate:function(e){this.isDateDisabled||(this.gateDate=e)}}};t.default=f},a0ae:function(e,t,n){"use strict";n("6a54"),Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var i={props:{title:{type:String,default:""}},data:function(){return{statusBarHeight:0}},mounted:function(){this.statusBarHeight=uni.getSystemInfoSync().statusBarHeight||0},methods:{onBack:function(){console.log("onBack"),uni.navigateBack()}}};t.default=i},ae52:function(e,t,n){"use strict";n.r(t);var i=n("d5a3"),a=n("ebd8");for(var o in a)["default"].indexOf(o)<0&&function(e){n.d(t,e,(function(){return a[e]}))}(o);n("0311");var r=n("828b"),c=Object(r["a"])(a["default"],i["b"],i["c"],!1,null,"28453a18",null,!1,i["a"],void 0);t["default"]=c.exports},c255:function(e,t,n){var i=n("5885");i.__esModule&&(i=i.default),"string"===typeof i&&(i=[[e.i,i,""]]),i.locals&&(e.exports=i.locals);var a=n("967d").default;a("7a9099ec",i,!0,{sourceMap:!1,shadowMode:!1})},c36c:function(e,t,n){"use strict";var i=n("c255"),a=n.n(i);a.a},d22a:function(e,t,n){var i=n("c86c");t=i(!1),t.push([e.i,".nav-bar[data-v-28453a18]{background:transparent}.nav-content[data-v-28453a18]{display:flex;align-items:center;justify-content:space-between;height:44px;padding:0 16px}.back-btn[data-v-28453a18]{width:16px;height:16px;display:flex;align-items:center;justify-content:center}.nav-title[data-v-28453a18]{font-size:16px;font-weight:400;color:#222;flex:1;text-align:center}.right-slot[data-v-28453a18]{min-width:24px}",""]),e.exports=t},d5a3:function(e,t,n){"use strict";n.d(t,"b",(function(){return i})),n.d(t,"c",(function(){return a})),n.d(t,"a",(function(){}));var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("v-uni-view",{staticClass:"nav-bar",style:{paddingTop:e.statusBarHeight+"px"}},[n("v-uni-view",{staticClass:"nav-content"},[n("v-uni-image",{staticClass:"back-btn",attrs:{src:"/static/back.png",mode:"aspectFit"},on:{click:function(t){arguments[0]=t=e.$handleEvent(t),e.onBack.apply(void 0,arguments)}}}),n("v-uni-text",{staticClass:"nav-title"},[e._v(e._s(e.title))]),n("v-uni-view",{staticClass:"right-slot"},[e._t("right")],2)],1),e._t("default")],2)},a=[]},ebd8:function(e,t,n){"use strict";n.r(t);var i=n("a0ae"),a=n.n(i);for(var o in i)["default"].indexOf(o)<0&&function(e){n.d(t,e,(function(){return i[e]}))}(o);t["default"]=a.a},f715:function(e,t,n){"use strict";n.r(t);var i=n("9f01"),a=n.n(i);for(var o in i)["default"].indexOf(o)<0&&function(e){n.d(t,e,(function(){return i[e]}))}(o);t["default"]=a.a}}]); \ No newline at end of file