移除线上仓库打包压缩文件

This commit is contained in:
2025-10-08 02:27:39 +08:00
parent f5742048d1
commit c8b8a34e06
244 changed files with 0 additions and 22740 deletions
-1
View File
@@ -1 +0,0 @@
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./common/vendor.js"),e=require("./util/index.js"),t=require("./utils/orderMonitor.js");Math;const n={onLaunch:function(){console.log("App Launch")},onShow:async function(){await this.autoLogin()},onHide:function(){console.log("App Hide")},methods:{async autoLogin(){try{await e.wxLogin()}catch(o){console.error("自动登录失败:",o)}},async getUserInfoData(){try{await e.getUserInfo()}catch(o){console.error("获取用户信息失败:",o)}}}};function r(){const e=o.createSSRApp(n);return e.config.globalProperties.$orderMonitor=t.orderMonitor,{app:e}}r().app.mount("#app"),exports.createApp=r;
-56
View File
@@ -1,56 +0,0 @@
{
"pages": [
"pages/index/index",
"pages/my/index",
"pages/deposit/index",
"pages/order/index",
"pages/order/payment",
"pages/expressReturn/addExpressReturn",
"pages/feedback/index",
"pages/help/index",
"pages/device/detail",
"pages/serve/bagCheck/index",
"pages/return/index",
"pages/order/success",
"pages/order/return-success",
"pages/expressReturn/index",
"pages/expressReturn/detail"
],
"window": {
"navigationBarTextStyle": "black",
"navigationBarTitleText": "共享风扇",
"navigationBarBackgroundColor": "#F8F8F8",
"backgroundColor": "#F8F8F8"
},
"tabBar": {
"color": "#999999",
"selectedColor": "#1976D2",
"backgroundColor": "#ffffff",
"list": [
{
"pagePath": "pages/index/index",
"text": "首页",
"iconPath": "static/home.png",
"selectedIconPath": "static/home-active.png"
},
{
"pagePath": "pages/my/index",
"text": "我的",
"iconPath": "static/user.png",
"selectedIconPath": "static/user-active.png"
}
]
},
"permission": {
"scope.getPhoneNumber": {
"desc": "您的手机号将用于登录和订单服务"
},
"scope.userLocation": {
"desc": "您的位置信息将用于获取附近的设备"
}
},
"requiredPrivateInfos": [
"getLocation"
],
"usingComponents": {}
}
File diff suppressed because one or more lines are too long
-1
View File
@@ -1 +0,0 @@
"use strict";exports._imports_0="/static/scan-icon.png",exports._imports_0$1="/static/logo.png",exports._imports_0$2="/static/user-active.png",exports._imports_0$3="/static/images/wxpayflag.png",exports._imports_0$4="/static/images/location-map.svg",exports._imports_1="/static/jl.png",exports._imports_1$1="/static/map.png",exports._imports_2="/static/complaint.png",exports._imports_3="/static/hlep.png";
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
"use strict";const e=require("../common/vendor.js"),t=require("../common/assets.js");if(!Array){e.resolveComponent("uv-icon")()}Math;const o={__name:"MapComponent",props:{userLocation:{type:Object,default:null},positionList:{type:Array,default:()=>[]},filteredPositions:{type:Array,default:()=>[]},searchKeyword:{type:String,default:""}},emits:["relocate","scan","showList","markerTap","mapCenterChange"],setup(o,{expose:i,emit:a}){const l=e.ref(null);e.ref([{title:"扫码使用",desc:"找到附近设备,扫描设备上的二维码"},{title:"免押金支付",desc:"无需支付押金,使用支付分免押即可完成租借"},{title:"开始使用",desc:"设备自动解锁,风扇弹出后取出即可开始使用"},{title:"归还设备",desc:"使用完毕后,按照设备规格要求将风扇还入即可结束订单"}]);const n=o,u=a,d=e.ref(!0),r=e.ref({longitude:116.397128,latitude:39.916527}),s=e.ref(17),c=e.ref([]),p=e.ref(null),f=()=>{c.value=[],n.userLocation&&c.value.push({id:0,width:32,height:32,latitude:n.userLocation.latitude,longitude:n.userLocation.longitude,title:"我的位置",callout:{content:"我的位置",color:"#ffffff",fontSize:12,borderRadius:4,bgColor:"#2196F3",padding:6,display:"BYCLICK"},customCallout:{anchorX:0,anchorY:0}}),n.filteredPositions&&n.filteredPositions.length>0&&n.filteredPositions.forEach(((e,t)=>{if(e.longitude&&e.latitude){const o=parseFloat(e.latitude),i=parseFloat(e.longitude);o>=-90&&o<=90&&i>=-180&&i<=180?c.value.push({id:t+1,width:30,height:30,latitude:o,longitude:i,title:e.name,position:e,callout:{content:e.name,color:"#333333",fontSize:12,borderRadius:4,bgColor:"#ffffff",padding:6,display:"BYCLICK"}}):console.warn(`忽略无效坐标: ${e.name}, 纬度=${o}, 经度=${i}`)}})),d.value=!1},v=e=>{e&&e.longitude&&e.latitude&&p.value&&p.value.moveToLocation({longitude:e.longitude,latitude:e.latitude,success:()=>{console.log("地图已移动到指定位置")},fail:e=>{console.error("移动地图失败:",e)}})};e.watch((()=>n.userLocation),(e=>{e&&e.longitude&&e.latitude&&(r.value={longitude:e.longitude,latitude:e.latitude},f(),v(e))}),{immediate:!0,deep:!0}),e.watch((()=>n.filteredPositions),(e=>{f()}),{deep:!0});const m=()=>{d.value=!1},g=e=>{"end"===e.type&&"drag"===e.causedBy&&p.value&&p.value.getCenterLocation({success:e=>{e.longitude&&e.latitude&&(r.value={longitude:e.longitude,latitude:e.latitude},u("mapCenterChange",r.value))}})},h=t=>{const o=t.markerId,i=c.value.find((e=>e.id===o));if(i){if(0===o)return void e.index.showToast({title:"这是您的位置",icon:"none"});i.position&&u("markerTap",i.position)}},C=e=>{const t=e.markerId,o=c.value.find((e=>e.id===t));o&&o.position&&u("markerTap",o.position)},L=e=>{console.error("地图加载失败:",e),d.value=!1},y=()=>{u("relocate")},w=()=>{u("scan")},_=()=>{u("showList")};return e.onMounted((()=>{e.nextTick$1((()=>{p.value=e.index.createMapContext("map"),f(),l.value&&l.value.init()}))})),e.onUnmounted((()=>{p.value=null})),i({mapCenter:e.computed((()=>r.value)),moveToLocation:v,updateMapMarkers:f,initCollapse:()=>{l.value&&l.value.init()}}),(o,i)=>e.e({a:r.value.longitude,b:r.value.latitude,c:c.value,d:s.value,e:e.o(g),f:e.o(h),g:e.o(C),h:e.o(m),i:e.o(L),j:d.value},(d.value,{}),{k:e.p({name:"map-fill",size:"18"}),l:e.o(y),m:t._imports_0,n:e.o(w),o:t._imports_1$1,p:e.o(_)})}},i=e._export_sfc(o,[["__scopeId","data-v-bb5e40bd"]]);wx.createComponent(i);
@@ -1,6 +0,0 @@
{
"component": true,
"usingComponents": {
"uv-icon": "../node-modules/@climblee/uv-ui/components/uv-icon/uv-icon"
}
}
@@ -1 +0,0 @@
<view class="map-container data-v-bb5e40bd"><view class="map-wrapper data-v-bb5e40bd"><map id="map" class="native-map data-v-bb5e40bd" longitude="{{a}}" latitude="{{b}}" markers="{{c}}" scale="{{d}}" show-location="{{true}}" bindregionchange="{{e}}" bindmarkertap="{{f}}" bindcallouttap="{{g}}" bindupdated="{{h}}" binderror="{{i}}"></map><view wx:if="{{j}}" class="map-loading data-v-bb5e40bd"><view class="loading-content data-v-bb5e40bd"><view class="loading-spinner data-v-bb5e40bd"></view><text class="data-v-bb5e40bd">地图加载中...</text></view></view></view><view class="map-controls data-v-bb5e40bd"><view class="control-btn location-control data-v-bb5e40bd" bindtap="{{l}}"><uv-icon wx:if="{{k}}" class="data-v-bb5e40bd" u-i="bb5e40bd-0" bind:__l="__l" u-p="{{k}}"></uv-icon><text class="data-v-bb5e40bd" style="margin-left:8rpx">我的位置</text></view><view class="control-btn scan-control main-btn data-v-bb5e40bd" bindtap="{{n}}"><image class="control-icon data-v-bb5e40bd" src="{{m}}" mode="aspectFit"/><text class="data-v-bb5e40bd">扫码使用</text></view><view class="control-btn list-control data-v-bb5e40bd" bindtap="{{p}}"><image class="control-icon data-v-bb5e40bd" src="{{o}}" mode="aspectFit"/><text class="data-v-bb5e40bd">附近设备</text></view></view></view>
@@ -1 +0,0 @@
.map-container.data-v-bb5e40bd{flex:1;position:relative;height:60vh;width:92%;margin:10rpx auto 30rpx;border-radius:24rpx;overflow:hidden;box-shadow:0 4rpx 16rpx rgba(0,0,0,.1)}.map-container .map-wrapper.data-v-bb5e40bd{width:100%;height:100%;position:relative;overflow:hidden;border-radius:24rpx}.map-container .map-wrapper .native-map.data-v-bb5e40bd{width:100%;height:100%;display:block;border-radius:24rpx}.map-container .map-loading.data-v-bb5e40bd{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(255,255,255,.8);display:flex;justify-content:center;align-items:center;z-index:10}.map-container .map-loading .loading-content.data-v-bb5e40bd{display:flex;flex-direction:column;align-items:center;justify-content:center}.map-container .map-loading .loading-content .loading-spinner.data-v-bb5e40bd{width:60rpx;height:60rpx;border:8rpx solid #f3f3f3;border-top:8rpx solid #3498db;border-radius:50%;animation:spin-bb5e40bd 1s linear infinite;margin-bottom:20rpx}.map-container .map-loading .loading-content text.data-v-bb5e40bd{font-size:32rpx;color:#333;font-weight:500}.map-container .map-controls.data-v-bb5e40bd{position:absolute;right:20rpx;bottom:20rpx;left:20rpx;display:flex;justify-content:center;align-items:center;gap:20rpx}.map-container .map-controls .control-btn.data-v-bb5e40bd{min-width:120rpx;height:70rpx;background:#fff;border-radius:35rpx;display:flex;flex-direction:row;align-items:center;justify-content:center;box-shadow:0 4rpx 12rpx rgba(0,0,0,.1);transition:all .2s ease;padding:0 16rpx}.map-container .map-controls .control-btn.data-v-bb5e40bd:active{transform:scale(.95)}.map-container .map-controls .control-btn .control-icon.data-v-bb5e40bd{width:32rpx;height:32rpx;margin-right:12rpx}.map-container .map-controls .control-btn text.data-v-bb5e40bd{font-size:26rpx;color:#333;white-space:nowrap;font-weight:500}.map-container .map-controls .control-btn.main-btn.data-v-bb5e40bd{min-width:140rpx;height:80rpx;box-shadow:0 6rpx 20rpx rgba(33,150,243,.4);transform:translateY(-5rpx)}.map-container .map-controls .control-btn.main-btn .control-icon.data-v-bb5e40bd{width:36rpx;height:36rpx;margin-right:16rpx}.map-container .map-controls .control-btn.main-btn text.data-v-bb5e40bd{font-size:28rpx;font-weight:600}.map-container .map-controls .control-btn.main-btn.data-v-bb5e40bd:active{transform:translateY(-5rpx) scale(.95)}.map-container .map-controls .scan-control.data-v-bb5e40bd{background:#2196f3}.map-container .map-controls .scan-control .control-icon.data-v-bb5e40bd{filter:brightness(0) invert(1)}.map-container .map-controls .scan-control text.data-v-bb5e40bd{color:#fff}.map-container .map-controls .list-control.data-v-bb5e40bd{background:#4caf50}.map-container .map-controls .list-control .control-icon.data-v-bb5e40bd{filter:brightness(0) invert(1)}.map-container .map-controls .list-control text.data-v-bb5e40bd{color:#fff}.map-container .map-controls .location-control.data-v-bb5e40bd{background:#fff;border:2rpx solid #e0e0e0}.map-container .map-controls .location-control .control-icon.data-v-bb5e40bd{filter:none}.map-container .map-controls .location-control text.data-v-bb5e40bd{color:#333}@keyframes spin-bb5e40bd{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
-1
View File
@@ -1 +0,0 @@
"use strict";const e=require("../common/vendor.js"),d=require("./url.js");exports.request=a=>new Promise(((t,o)=>{a.hideLoading||e.index.showLoading({title:a.loadingText||"加载中...",mask:!0}),e.index.request({url:d.URL+a.url,method:a.method,data:a.data,header:{"Content-Type":"application/x-www-form-urlencoded",...a.headers,appid:d.appid,Authorization:"Bearer "+e.index.getStorageSync("token"),Clientid:e.index.getStorageSync("client_id")},success:e=>200!==e.statusCode?(console.error(`HTTP状态码错误: ${e.statusCode}`,e.data),e.data?void t(e.data):void o({msg:`请求失败,状态码:${e.statusCode}`})):e.data&&200!==e.data.code?(console.warn(`业务状态码错误: ${e.data.code}`,e.data),a.ignoreEmptyError&&500===e.data.code&&e.data.msg&&(e.data.msg.includes("未找到")||e.data.msg.includes("不存在"))?void t({code:200,msg:"操作成功",data:[]}):void t(e.data)):void t(e.data),fail(e){console.error(`请求失败: ${a.url}`,e),o(e)},complete(){a.hideLoading||e.index.hideLoading()}})}));
-1
View File
@@ -1 +0,0 @@
"use strict";exports.URL="https://my.gxfs123.com/api",exports.appid="wx2165f0be356ae7a9";
-1
View File
@@ -1 +0,0 @@
"use strict";const e=require("./http.js");exports.addUserFeedback=r=>(console.log(r),e.request({url:"/app/feedback/add",method:"post",data:r})),exports.cancelOrder=r=>e.request({url:`/device/order/clear/${r.orderId}`,method:"get",data:r}),exports.checkOrdersByStatus=(r,t)=>{const o=t.join(",");return e.request({url:`/app/order/list?deviceNo=${r}&orderStatus=${o}`,method:"get",hideLoading:!0,ignoreEmptyError:!0})},exports.confirmPaymentAndRent=r=>(console.log(`确认支付并弹出风扇, orderId: ${r}`),e.request({url:`/app/device/confirmPaymentAndRent?orderId=${r}`,method:"GET"})),exports.getDeviceInfo=r=>e.request({url:`/app/device/${r}`,method:"get"}),exports.getMyIndexInfo=r=>e.request({url:"/app/user/userInfo",method:"get",data:r}),exports.getOrderByOrderNo=r=>e.request({url:`/app/order/byOrderNo/${r}`,method:"get",hideLoading:!0}),exports.getOrderByOrderNoScore=r=>(console.log("通过订单号获取支付分订单信息",r),e.request({url:`/app/wx-payment/score/create/${r}`,method:"get",hideLoading:!0})),exports.getOrderByOrderNoScorePayStatus=r=>(console.log("通过订单号获取支付分订单状态",r),e.request({url:`/app/wx-payment/score/status/${r}`,method:"get",hideLoading:!0})),exports.getOrderList=r=>e.request({url:"/app/order/list",method:"get",data:r,hideLoading:!0}),exports.login=r=>e.request({url:"/app/user/login",method:"get",data:r}),exports.queryById=r=>(console.log(`查询订单详情, orderId: ${r}`),e.request({url:`/app/order/${r}`,method:"get",hideLoading:!0})),exports.rentPowerBank=(r,t)=>e.request({url:"/app/device/rentPowerBank",method:"post",data:{deviceNo:r,phone:t}}),exports.updateUserBalance=r=>e.request({url:`/app/user/updateBalance/${r}`,method:"post",hideLoading:!0}),exports.withdrawDeposit=r=>e.request({url:`/app/withdraw/add/${r}`,method:"get",hideLoading:!0});
-1
View File
@@ -1 +0,0 @@
"use strict";exports.HELP_CONTENT={FAQ_LIST:[{question:"如何租借风扇?",answer:'点击首页"扫码租借"按钮,使用微信扫描设备上的二维码,按提示完成支付即可使用。'},{question:"收费标准是怎样的?",answer:"本产品租界风扇采用免押金租借形式,无需支付押金,具体计费方式以场地机柜扫码提示为准。"},{question:"如何归还风扇?",answer:'将风扇带到任意归还点,点击首页"扫码归还"按钮,扫描归还点二维码即可完成归还。'},{question:"押金多久能退还?",answer:"归还设备后押金将自动发起退款,预计0-7个工作日到账。"},{question:"设备无法正常使用怎么办?",answer:'您可以通过"我的-投诉与建议"提交故障反馈,或直接拨打客服电话处理。'}],CONTACT:{TITLE:"联系客服",PHONE:{LABEL:"客服电话",VALUE:"400-077-6018"},SERVICE_TIME:{LABEL:"服务时间",VALUE:"周一至周日 09:00-22:00"}}};
@@ -1 +0,0 @@
"use strict";const e=require("../../../../../common/vendor.js"),o={emits:["click","close","change"],mixins:[e.mpMixin,e.mixin,e.props$2],watch:{text:{immediate:!0,handler(e,o){this.$uv.test.array(e)||this.$uv.error("noticebar组件direction为column时,要求text参数为数组形式")}}},computed:{textStyle(){let e={};return e.color=this.color,e.fontSize=this.$uv.addUnit(this.fontSize),e},vertical(){return"horizontal"!=this.mode},swiperStyle:()=>({})},data:()=>({index:0}),methods:{noticeChange(e){this.index=e.detail.current,this.$emit("change",this.index)},clickHandler(){this.$emit("click",this.index)},close(){this.$emit("close")}}};if(!Array){e.resolveComponent("uv-icon")()}Math;const i=e._export_sfc(o,[["render",function(o,i,t,c,n,l){return e.e({a:o.icon},o.icon?{b:e.p({name:o.icon,color:o.color,size:"19"})}:{},{c:e.f(o.text,((o,i,t)=>({a:e.t(o),b:i}))),d:e.s(l.textStyle),e:o.disableTouch,f:!o.step,g:o.duration,h:!o.disableScroll,i:e.s(l.swiperStyle),j:e.o(((...e)=>l.noticeChange&&l.noticeChange(...e))),k:["link","closable"].includes(o.mode)},["link","closable"].includes(o.mode)?e.e({l:"link"===o.mode},"link"===o.mode?{m:e.p({name:"arrow-right",size:17,color:o.color})}:{},{n:"closable"===o.mode},"closable"===o.mode?{o:e.o(l.close),p:e.p({name:"close",size:16,color:o.color})}:{}):{},{q:e.o(((...e)=>l.clickHandler&&l.clickHandler(...e)))})}],["__scopeId","data-v-1e0ed8e8"]]);wx.createComponent(i);
@@ -1,6 +0,0 @@
{
"component": true,
"usingComponents": {
"uv-icon": "../uv-icon/uv-icon"
}
}
@@ -1 +0,0 @@
<view class="uv-notice data-v-1e0ed8e8" bindtap="{{q}}"><block wx:if="{{$slots.icon}}"><slot name="icon"></slot></block><block wx:else><view wx:if="{{a}}" class="uv-notice__left-icon data-v-1e0ed8e8"><uv-icon wx:if="{{b}}" class="data-v-1e0ed8e8" u-i="1e0ed8e8-0" bind:__l="__l" u-p="{{b}}"></uv-icon></view></block><swiper disable-touch="{{e}}" vertical="{{f}}" circular interval="{{g}}" autoplay="{{h}}" class="uv-notice__swiper data-v-1e0ed8e8" style="{{i}}" bindchange="{{j}}"><swiper-item wx:for="{{c}}" wx:for-item="item" wx:key="b" class="uv-notice__swiper__item data-v-1e0ed8e8"><text class="uv-notice__swiper__item__text uv-line-1 data-v-1e0ed8e8" style="{{d}}">{{item.a}}</text></swiper-item></swiper><view wx:if="{{k}}" class="uv-notice__right-icon data-v-1e0ed8e8"><uv-icon wx:if="{{l}}" class="data-v-1e0ed8e8" u-i="1e0ed8e8-1" bind:__l="__l" u-p="{{m}}"></uv-icon><uv-icon wx:if="{{n}}" class="data-v-1e0ed8e8" bindclick="{{o}}" u-i="1e0ed8e8-2" bind:__l="__l" u-p="{{p}}"></uv-icon></view></view>
@@ -1 +0,0 @@
.uv-line-1.data-v-1e0ed8e8{display:-webkit-box!important;overflow:hidden;text-overflow:ellipsis;word-break:break-all;-webkit-line-clamp:1;-webkit-box-orient:vertical!important}.uv-line-2.data-v-1e0ed8e8{display:-webkit-box!important;overflow:hidden;text-overflow:ellipsis;word-break:break-all;-webkit-line-clamp:2;-webkit-box-orient:vertical!important}.uv-line-3.data-v-1e0ed8e8{display:-webkit-box!important;overflow:hidden;text-overflow:ellipsis;word-break:break-all;-webkit-line-clamp:3;-webkit-box-orient:vertical!important}.uv-line-4.data-v-1e0ed8e8{display:-webkit-box!important;overflow:hidden;text-overflow:ellipsis;word-break:break-all;-webkit-line-clamp:4;-webkit-box-orient:vertical!important}.uv-line-5.data-v-1e0ed8e8{display:-webkit-box!important;overflow:hidden;text-overflow:ellipsis;word-break:break-all;-webkit-line-clamp:5;-webkit-box-orient:vertical!important}view.data-v-1e0ed8e8,scroll-view.data-v-1e0ed8e8,swiper-item.data-v-1e0ed8e8{display:flex;flex-direction:column;flex-shrink:0;flex-grow:0;flex-basis:auto;align-items:stretch;align-content:flex-start}.uv-notice.data-v-1e0ed8e8{display:flex;flex-direction:row;align-items:center;justify-content:space-between}.uv-notice__left-icon.data-v-1e0ed8e8{align-items:center;margin-right:5px}.uv-notice__right-icon.data-v-1e0ed8e8{margin-left:5px;align-items:center}.uv-notice__swiper.data-v-1e0ed8e8{height:16px;display:flex;flex-direction:row;align-items:center;flex:1}.uv-notice__swiper__item.data-v-1e0ed8e8{display:flex;flex-direction:row;align-items:center;overflow:hidden}.uv-notice__swiper__item__text.data-v-1e0ed8e8{font-size:14px;color:#f9ae3d}
@@ -1 +0,0 @@
"use strict";const i=require("../../../../../common/vendor.js"),t={name:"uv-icon",emits:["click"],mixins:[i.mpMixin,i.mixin,i.props$1],data:()=>({colorType:["primary","success","info","error","warning"]}),computed:{uClasses(){let i=[];return i.push(this.customPrefix),i.push(this.customPrefix+"-"+this.name),this.color&&this.colorType.includes(this.color)&&i.push("uv-icon__icon--"+this.color),i},iconStyle(){let i={};return i={fontSize:this.$uv.addUnit(this.size),lineHeight:this.$uv.addUnit(this.size),fontWeight:this.bold?"bold":"normal",top:this.$uv.addUnit(this.top)},this.color&&!this.colorType.includes(this.color)&&(i.color=this.color),i},isImg(){const i=this.name.indexOf("data:")>-1&&this.name.indexOf("base64")>-1;return-1!==this.name.indexOf("/")||i},imgStyle(){let i={};return i.width=this.width?this.$uv.addUnit(this.width):this.$uv.addUnit(this.size),i.height=this.height?this.$uv.addUnit(this.height):this.$uv.addUnit(this.size),i},icon(){const t=i.icons["uvicon-"+this.name];return t?unescape(`%u${t}`):["uvicon"].indexOf(this.customPrefix)>-1?this.name:""}},methods:{clickHandler(i){this.$emit("click",this.index),this.stop&&this.preventEvent(i)}}};const e=i._export_sfc(t,[["render",function(t,e,s,o,n,l){return i.e({a:l.isImg},l.isImg?{b:t.name,c:t.imgMode,d:i.s(l.imgStyle),e:i.s(t.$uv.addStyle(t.customStyle))}:{f:i.t(l.icon),g:i.n(l.uClasses),h:i.s(l.iconStyle),i:i.s(t.$uv.addStyle(t.customStyle)),j:t.hoverClass},{k:""!==t.label},""!==t.label?{l:i.t(t.label),m:t.labelColor,n:t.$uv.addUnit(t.labelSize),o:"right"==t.labelPos?t.$uv.addUnit(t.space):0,p:"bottom"==t.labelPos?t.$uv.addUnit(t.space):0,q:"left"==t.labelPos?t.$uv.addUnit(t.space):0,r:"top"==t.labelPos?t.$uv.addUnit(t.space):0}:{},{s:i.o(((...i)=>l.clickHandler&&l.clickHandler(...i))),t:i.n("uv-icon--"+t.labelPos)})}],["__scopeId","data-v-553bbf60"]]);wx.createComponent(e);
@@ -1,4 +0,0 @@
{
"component": true,
"usingComponents": {}
}
@@ -1 +0,0 @@
<view bindtap="{{s}}" class="{{['uv-icon', 'data-v-553bbf60', t]}}"><image wx:if="{{a}}" class="uv-icon__img data-v-553bbf60" src="{{b}}" mode="{{c}}" style="{{d + ';' + e}}"></image><text wx:else class="{{['uv-icon__icon', 'data-v-553bbf60', g]}}" style="{{h + ';' + i}}" hover-class="{{j}}">{{f}}</text><text wx:if="{{k}}" class="uv-icon__label data-v-553bbf60" style="{{'color:' + m + ';' + ('font-size:' + n) + ';' + ('margin-left:' + o) + ';' + ('margin-top:' + p) + ';' + ('margin-right:' + q) + ';' + ('margin-bottom:' + r)}}">{{l}}</text></view>
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
"use strict";const o=require("../../../../../common/vendor.js"),e={name:"uv-notice-bar",emits:["click","close","change"],mixins:[o.mpMixin,o.mixin,o.props],data:()=>({show:!0}),methods:{click(o){this.$emit("click",o),this.url&&this.linkType&&this.openPage()},close(){this.show=!1,this.$emit("close")},change(o){this.$emit("change",o)}}};if(!Array){(o.resolveComponent("uv-column-notice")+o.resolveComponent("uv-row-notice"))()}Math||((()=>"../uv-column-notice/uv-column-notice.js")+(()=>"../uv-row-notice/uv-row-notice.js"))();const c=o._export_sfc(e,[["render",function(e,c,i,t,n,s){return o.e({a:n.show},n.show?o.e({b:"column"===e.direction||"row"===e.direction&&e.step},"column"===e.direction||"row"===e.direction&&e.step?{c:o.o(s.close),d:o.o(s.click),e:o.o(s.change),f:o.p({color:e.color,bgColor:e.bgColor,text:e.text,mode:e.mode,step:e.step,icon:e.icon,"disable-touch":e.disableTouch,"disable-scroll":e.disableScroll,fontSize:e.fontSize,duration:e.duration})}:{g:o.o(s.close),h:o.o(s.click),i:o.p({color:e.color,bgColor:e.bgColor,text:e.text,mode:e.mode,fontSize:e.fontSize,speed:e.speed,url:e.url,linkType:e.linkType,icon:e.icon})},{j:o.s({backgroundColor:e.bgColor}),k:o.s(e.$uv.addStyle(e.customStyle))}):{})}],["__scopeId","data-v-20a3c1e7"]]);wx.createComponent(c);
@@ -1,7 +0,0 @@
{
"component": true,
"usingComponents": {
"uv-column-notice": "../uv-column-notice/uv-column-notice",
"uv-row-notice": "../uv-row-notice/uv-row-notice"
}
}
@@ -1 +0,0 @@
<view wx:if="{{a}}" class="uv-notice-bar data-v-20a3c1e7" style="{{j + ';' + k}}"><block wx:if="{{b}}"><uv-column-notice wx:if="{{f}}" class="data-v-20a3c1e7" bindclose="{{c}}" bindclick="{{d}}" bindchange="{{e}}" u-i="20a3c1e7-0" bind:__l="__l" u-p="{{f}}"></uv-column-notice></block><block wx:else><uv-row-notice wx:if="{{i}}" class="data-v-20a3c1e7" bindclose="{{g}}" bindclick="{{h}}" u-i="20a3c1e7-1" bind:__l="__l" u-p="{{i}}"></uv-row-notice></block></view>
@@ -1 +0,0 @@
view.data-v-20a3c1e7,scroll-view.data-v-20a3c1e7,swiper-item.data-v-20a3c1e7{display:flex;flex-direction:column;flex-shrink:0;flex-grow:0;flex-basis:auto;align-items:stretch;align-content:flex-start}.uv-notice-bar.data-v-20a3c1e7{overflow:hidden;padding:9px 12px;flex:1}
@@ -1 +0,0 @@
"use strict";const t=require("../../../../../common/vendor.js"),e={name:"uv-row-notice",emits:["click","close"],mixins:[t.mpMixin,t.mixin,t.props$3],data:()=>({animationDuration:"0",animationPlayState:"paused",nvueInit:!0,show:!0}),watch:{text:{immediate:!0,handler(t,e){this.vue(),this.$uv.test.string(t)||this.$uv.error("noticebar组件direction为row时,要求text参数为字符串形式")}},fontSize(){this.vue()},speed(){this.vue()}},computed:{textStyle(){let t={};return t.color=this.color,t.fontSize=this.$uv.addUnit(this.fontSize),t},animationStyle(){let t={};return t.animationDuration=this.animationDuration,t.animationPlayState=this.animationPlayState,t},innerText(){let t=[];const e=this.text?this.text.split(""):[];for(let i=0;i<e.length;i+=20)t.push(e.slice(i,i+20).join(""));return t}},mounted(){this.init()},methods:{init(){this.vue(),this.$uv.test.string(this.text)||this.$uv.error("noticebar组件direction为row时,要求text参数为字符串形式")},async vue(){let t=0;await this.$uv.sleep(),t=(await this.$uvGetRect(".uv-notice__content__text")).width,(await this.$uvGetRect(".uv-notice__content")).width,this.animationDuration=t/this.$uv.getPx(this.speed)+"s",this.animationPlayState="paused",setTimeout((()=>{this.animationPlayState="running"}),10)},async nvue(){},loopAnimation(t,e){},getNvueRect(t){},clickHandler(t){this.$emit("click")},close(){this.$emit("close")}}};if(!Array){t.resolveComponent("uv-icon")()}Math;const i=t._export_sfc(e,[["render",function(e,i,n,o,a,s){return t.e({a:e.icon},e.icon?{b:t.p({name:e.icon,color:e.color,size:"19"})}:{},{c:t.f(s.innerText,((e,i,n)=>({a:t.t(e),b:i}))),d:t.s(s.textStyle),e:t.s(s.animationStyle),f:["link","closable"].includes(e.mode)},["link","closable"].includes(e.mode)?t.e({g:"link"===e.mode},"link"===e.mode?{h:t.p({name:"arrow-right",size:17,color:e.color})}:{},{i:"closable"===e.mode},"closable"===e.mode?{j:t.o(s.close),k:t.p({name:"close",size:16,color:e.color})}:{}):{},{l:t.o(((...t)=>s.clickHandler&&s.clickHandler(...t)))})}],["__scopeId","data-v-07c5f837"]]);wx.createComponent(i);
@@ -1,6 +0,0 @@
{
"component": true,
"usingComponents": {
"uv-icon": "../uv-icon/uv-icon"
}
}
@@ -1 +0,0 @@
<view class="uv-notice data-v-07c5f837" bindtap="{{l}}"><block wx:if="{{$slots.icon}}"><slot name="icon"></slot></block><block wx:else><view wx:if="{{a}}" class="uv-notice__left-icon data-v-07c5f837"><uv-icon wx:if="{{b}}" class="data-v-07c5f837" u-i="07c5f837-0" bind:__l="__l" u-p="{{b}}"></uv-icon></view></block><view class="uv-notice__content data-v-07c5f837" ref="uv-notice__content"><view ref="uv-notice__content__text" class="uv-notice__content__text data-v-07c5f837" style="{{e}}"><text wx:for="{{c}}" wx:for-item="item" wx:key="b" class="data-v-07c5f837" style="{{d}}">{{item.a}}</text></view></view><view wx:if="{{f}}" class="uv-notice__right-icon data-v-07c5f837"><uv-icon wx:if="{{g}}" class="data-v-07c5f837" u-i="07c5f837-1" bind:__l="__l" u-p="{{h}}"></uv-icon><uv-icon wx:if="{{i}}" class="data-v-07c5f837" bindclick="{{j}}" u-i="07c5f837-2" bind:__l="__l" u-p="{{k}}"></uv-icon></view></view>
@@ -1 +0,0 @@
view.data-v-07c5f837,scroll-view.data-v-07c5f837,swiper-item.data-v-07c5f837{display:flex;flex-direction:column;flex-shrink:0;flex-grow:0;flex-basis:auto;align-items:stretch;align-content:flex-start}.uv-notice.data-v-07c5f837{display:flex;flex-direction:row;align-items:center;justify-content:space-between}.uv-notice__left-icon.data-v-07c5f837{align-items:center;margin-right:5px}.uv-notice__right-icon.data-v-07c5f837{margin-left:5px;align-items:center}.uv-notice__content.data-v-07c5f837{text-align:right;flex:1;display:flex;flex-direction:row;flex-wrap:nowrap;overflow:hidden}.uv-notice__content__text.data-v-07c5f837{font-size:14px;color:#f9ae3d;padding-left:100%;word-break:keep-all;white-space:nowrap;animation:uv-loop-animation-07c5f837 10s linear infinite both;display:flex;flex-direction:row}@keyframes uv-loop-animation-07c5f837{0%{transform:translateZ(0)}to{transform:translate3d(-100%,0,0)}}
-1
View File
@@ -1 +0,0 @@
"use strict";const e=require("../../common/vendor.js"),t=require("../../util/index.js"),o=require("../../config/user.js"),s={data:()=>({depositAmount:"0.00",orderNo:"",records:[],orderId:""}),onLoad(){},onShow(){this.loadUserInfo()},methods:{async loadUserInfo(){try{const e=await t.getUserInfo();console.log("loadUserInfo",e),200===e.code&&(this.depositAmount=e.data.balanceAmount||"0.00",this.orderNo=e.data.latestOrderNo||"",this.orderId=e.data.latestOrderId||"",parseFloat(this.depositAmount)>0&&this.orderNo?this.records=[{type:"支付",time:this.formatDate(new Date),amount:this.depositAmount}]:this.records=[])}catch(o){console.error("获取用户信息失败:",o),e.index.showToast({title:"获取用户信息失败",icon:"none"})}},async handleWithdraw(){if(parseFloat(this.depositAmount)<=0)e.index.showToast({title:"无可提现余额",icon:"none"});else{if(0!=this.orderId.length||0!=this.orderNo.length){const e=await o.queryById(Number(this.orderId));console.log(e)}e.index.showModal({title:"确认提现",content:"押金将原路退回,预计0-7个工作日到账",success:async t=>{if(t.confirm){e.index.showLoading({title:"提现中..."});try{console.log("发起提现请求,订单号:",this.orderNo);const t=await o.withdrawDeposit(this.orderNo);if(console.log("提现响应:",t),200!==t.code)throw new Error(t.msg||"提现失败");e.index.hideLoading(),e.index.showToast({title:"提现申请已提交",icon:"success"}),this.depositAmount="0.00",this.records.push({type:"退还",time:this.formatDate(new Date),amount:this.depositAmount}),setTimeout((()=>{this.loadUserInfo()}),1500)}catch(s){console.error("提现失败:",s),e.index.hideLoading();let t="提现失败,请稍后再试";s.message&&(t=s.message.includes("尚未归还")?"当前订单尚未归还,请归还后再提现":s.message.includes("已退还")?"押金已退还,无需重复提现":s.message.includes("处理中")?"押金退还处理中,请耐心等待":s.message.includes("余额为0")?"账户余额为0,无法提现":s.message),e.index.showModal({title:"提现失败",content:t,showCancel:!1})}}}})}},formatDate:e=>`${e.getFullYear()}-${(e.getMonth()+1).toString().padStart(2,"0")}-${e.getDate().toString().padStart(2,"0")} ${e.getHours().toString().padStart(2,"0")}:${e.getMinutes().toString().padStart(2,"0")}`}};const r=e._export_sfc(s,[["render",function(t,o,s,r,n,i){return e.e({a:e.t(n.depositAmount),b:e.o(((...e)=>i.handleWithdraw&&i.handleWithdraw(...e))),c:n.depositAmount<=0,d:n.records.length>0},n.records.length>0?{e:e.f(n.records,((t,o,s)=>({a:e.t(t.type),b:e.t(t.time),c:e.t("退还"===t.type?"+":"-"),d:e.t(t.amount),e:e.n("退还"===t.type?"refund":""),f:o})))}:{})}],["__scopeId","data-v-8981ee42"]]);wx.createPage(r);
@@ -1,4 +0,0 @@
{
"navigationBarTitleText": "押金管理",
"usingComponents": {}
}
@@ -1 +0,0 @@
<view class="deposit-container data-v-8981ee42"><view class="deposit-card data-v-8981ee42"><view class="title data-v-8981ee42">押金余额</view><view class="amount data-v-8981ee42">¥{{a}}</view><button class="withdraw-btn data-v-8981ee42" bindtap="{{b}}" disabled="{{c}}">提现</button></view><view class="notice-card data-v-8981ee42"><view class="notice-title data-v-8981ee42"><view class="dot data-v-8981ee42"></view><text class="data-v-8981ee42">提现说明</text></view><view class="notice-content data-v-8981ee42"><view class="notice-item data-v-8981ee42">1. 提现金额将原路退回支付账户</view><view class="notice-item data-v-8981ee42">2. 提现申请提交后预计0-7个工作日到账</view><view class="notice-item data-v-8981ee42">3. 如超时未收到,请联系客服处理</view></view></view><view wx:if="{{d}}" class="record-card data-v-8981ee42"><view class="record-title data-v-8981ee42">押金记录</view><view class="record-list data-v-8981ee42"><view wx:for="{{e}}" wx:for-item="item" wx:key="f" class="record-item data-v-8981ee42"><view class="record-info data-v-8981ee42"><text class="record-type data-v-8981ee42">{{item.a}}</text><text class="record-time data-v-8981ee42">{{item.b}}</text></view><text class="{{['record-amount', 'data-v-8981ee42', item.e]}}">{{item.c}}¥{{item.d}}</text></view></view></view></view>
@@ -1 +0,0 @@
.deposit-container.data-v-8981ee42{min-height:100vh;background:#f8f8f8;padding:30rpx}.deposit-container .deposit-card.data-v-8981ee42{background:linear-gradient(135deg,#1976d2,#64b5f6);border-radius:20rpx;padding:40rpx;color:#fff;text-align:center;box-shadow:0 4rpx 20rpx rgba(25,118,210,.2)}.deposit-container .deposit-card .title.data-v-8981ee42{font-size:28rpx;opacity:.9;margin-bottom:20rpx}.deposit-container .deposit-card .amount.data-v-8981ee42{font-size:72rpx;font-weight:700;margin-bottom:40rpx}.deposit-container .deposit-card .withdraw-btn.data-v-8981ee42{background:#fff;color:#1976d2;width:80%;height:80rpx;line-height:80rpx;border-radius:40rpx;font-size:32rpx;font-weight:500;margin:0 auto}.deposit-container .deposit-card .withdraw-btn.data-v-8981ee42:active{transform:scale(.98)}.deposit-container .deposit-card .withdraw-btn[disabled].data-v-8981ee42{background:rgba(255,255,255,.6);color:rgba(25,118,210,.5)}.deposit-container .notice-card.data-v-8981ee42{margin-top:30rpx;background:#fff;border-radius:20rpx;padding:30rpx;box-shadow:0 4rpx 16rpx rgba(0,0,0,.04)}.deposit-container .notice-card .notice-title.data-v-8981ee42{display:flex;align-items:center;margin-bottom:20rpx}.deposit-container .notice-card .notice-title .dot.data-v-8981ee42{width:12rpx;height:12rpx;background:#1976d2;border-radius:50%;margin-right:10rpx}.deposit-container .notice-card .notice-title text.data-v-8981ee42{font-size:30rpx;font-weight:500;color:#333}.deposit-container .notice-card .notice-content .notice-item.data-v-8981ee42{font-size:26rpx;color:#666;line-height:1.8;padding-left:22rpx}.deposit-container .record-card.data-v-8981ee42{margin-top:30rpx;background:#fff;border-radius:20rpx;padding:30rpx;box-shadow:0 4rpx 16rpx rgba(0,0,0,.04)}.deposit-container .record-card .record-title.data-v-8981ee42{font-size:30rpx;font-weight:500;color:#333;margin-bottom:20rpx;border-left:8rpx solid #1976D2;padding-left:20rpx}.deposit-container .record-card .record-list .record-item.data-v-8981ee42{display:flex;justify-content:space-between;align-items:center;padding:20rpx 0;border-bottom:1rpx solid #f5f5f5}.deposit-container .record-card .record-list .record-item.data-v-8981ee42:last-child{border-bottom:none}.deposit-container .record-card .record-list .record-item .record-info .record-type.data-v-8981ee42{font-size:28rpx;color:#333;margin-bottom:6rpx;display:block}.deposit-container .record-card .record-list .record-item .record-info .record-time.data-v-8981ee42{font-size:24rpx;color:#999}.deposit-container .record-card .record-list .record-item .record-amount.data-v-8981ee42{font-size:32rpx;color:#333;font-weight:500}.deposit-container .record-card .record-list .record-item .record-amount.refund.data-v-8981ee42{color:#4caf50}
File diff suppressed because one or more lines are too long
@@ -1,6 +0,0 @@
{
"navigationBarTitleText": "设备详情",
"navigationBarBackgroundColor": "#ffffff",
"navigationBarTextStyle": "black",
"usingComponents": {}
}
@@ -1 +0,0 @@
<view class="container data-v-fb925e18"><view class="device-header data-v-fb925e18"><view class="{{['device-status-card', 'data-v-fb925e18', b]}}"><view class="status-indicator data-v-fb925e18"></view><text class="status-text data-v-fb925e18">{{a}}</text></view><view class="device-title data-v-fb925e18"><text class="name data-v-fb925e18">共享风扇</text><view class="device-meta data-v-fb925e18"><text class="id-label data-v-fb925e18">设备号:</text><text class="id-value data-v-fb925e18">{{c}}</text></view></view></view><view class="card device-info-card data-v-fb925e18"><view class="card-row data-v-fb925e18"><view class="card-item data-v-fb925e18"><view class="item-icon location-icon data-v-fb925e18"><image class="data-v-fb925e18" src="{{d}}" mode="aspectFill" style="width:45rpx;height:45rpx"></image></view><view class="item-content data-v-fb925e18"><text class="item-label data-v-fb925e18">当前位置</text><text class="item-value data-v-fb925e18">{{e}}</text></view></view></view></view><view class="card pricing-card data-v-fb925e18"><view class="card-header data-v-fb925e18"><text class="card-title data-v-fb925e18">计费规则</text></view><view class="pricing-banner data-v-fb925e18"><view class="pricing-main data-v-fb925e18"><text class="price data-v-fb925e18">¥{{f}}</text><text class="unit data-v-fb925e18">/小时</text></view><text class="cap-price data-v-fb925e18">封顶 ¥{{g}}</text></view><view class="pricing-rules data-v-fb925e18"><view class="rule-item data-v-fb925e18"><view class="rule-dot data-v-fb925e18"></view><text class="rule-text data-v-fb925e18">不足60分钟按60分钟计费</text></view><view class="rule-item data-v-fb925e18"><view class="rule-dot data-v-fb925e18"></view><text class="rule-text data-v-fb925e18">持续计费至99元视为买断</text></view></view></view><view class="card notice-card data-v-fb925e18"><view class="card-header data-v-fb925e18"><text class="card-title data-v-fb925e18">使用须知</text></view><view class="notice-items data-v-fb925e18"><view class="notice-item data-v-fb925e18"><view class="notice-dot data-v-fb925e18"></view><text class="notice-text data-v-fb925e18">请在使用前检查设备是否完好</text></view><view class="notice-item data-v-fb925e18"><view class="notice-dot data-v-fb925e18"></view><text class="notice-text data-v-fb925e18">请在指定区域内使用设备</text></view><view class="notice-item data-v-fb925e18"><view class="notice-dot data-v-fb925e18"></view><text class="notice-text data-v-fb925e18">归还时请确保设备完好,避免损坏</text></view></view></view><view class="footer data-v-fb925e18"><button class="{{['rent-button', 'data-v-fb925e18', i && 'return-button']}}" bindtap="{{j}}"><text class="data-v-fb925e18">{{h}}</text></button><view class="wechat-credit data-v-fb925e18"><image src="{{k}}" mode="aspectFit" class="wx-icon data-v-fb925e18"></image><view class="credit-text data-v-fb925e18"><text class="data-v-fb925e18">微信支付分</text><text class="credit-divider data-v-fb925e18">|</text><text class="credit-score data-v-fb925e18">550分及以上优享</text></view></view></view><view wx:if="{{l}}" class="phone-auth-popup data-v-fb925e18"><view class="popup-mask data-v-fb925e18" catchtap="{{m}}"></view><view class="popup-content data-v-fb925e18"><view class="popup-header data-v-fb925e18"><text class="popup-title data-v-fb925e18">授权获取手机号</text></view><view class="popup-body data-v-fb925e18"><view class="auth-desc data-v-fb925e18"><text class="data-v-fb925e18">为了提供更好的服务,需要授权获取您的手机号</text></view><button class="auth-btn data-v-fb925e18" open-type="getPhoneNumber" bindgetphonenumber="{{n}}"> 一键获取手机号 </button><view class="auth-cancel data-v-fb925e18" bindtap="{{o}}"><text class="data-v-fb925e18">暂不授权</text></view></view></view></view></view>
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
"use strict";const e=require("../../common/vendor.js"),a=require("../../config/user.js"),o={__name:"index",setup(o){const t=e.ref(["设备故障","收费问题","使用建议","其他"]),n=e.ref(-1),u=e.ref(""),i=e.ref("");e.ref([]);const l=e.ref(""),s=async()=>{if(-1===n.value)return void e.index.showToast({title:"请选择问题类型",icon:"none"});if(!i.value.trim())return void e.index.showToast({title:"请描述您的问题",icon:"none"});if(!l.value)return void e.index.showToast({title:"请留下联系方式",icon:"none"});"设备故障"==t.value[n.value]||"收费问题"==t.value[n.value]?u.value="complain":u.value="suggestion";const o={type:u.value,content:i.value,phone:l.value};200==(await a.addUserFeedback(o)).code?e.index.showToast({title:"反馈成功",icon:"success"}):e.index.showToast({title:"反馈失败",icon:"none"})};return(a,o)=>({a:e.f(t.value,((a,o,t)=>({a:e.t(a),b:o,c:n.value===o?1:"",d:e.o((e=>(e=>{n.value=e})(o)),o)}))),b:i.value,c:e.o((e=>i.value=e.detail.value)),d:e.t(i.value.length),e:l.value,f:e.o((e=>l.value=e.detail.value)),g:e.o(s)})}},t=e._export_sfc(o,[["__scopeId","data-v-22cdb973"]]);wx.createPage(t);
@@ -1,4 +0,0 @@
{
"navigationBarTitleText": "投诉与建议",
"usingComponents": {}
}
@@ -1 +0,0 @@
<view class="feedback-container data-v-22cdb973"><form class="data-v-22cdb973"><view class="type-section data-v-22cdb973"><view class="section-title data-v-22cdb973">问题类型</view><view class="type-grid data-v-22cdb973"><view wx:for="{{a}}" wx:for-item="type" wx:key="b" class="{{['type-item', 'data-v-22cdb973', type.c && 'active']}}" bindtap="{{type.d}}">{{type.a}}</view></view></view><view class="description-section data-v-22cdb973"><view class="section-title data-v-22cdb973">问题描述</view><block wx:if="{{r0}}"><textarea class="description-input data-v-22cdb973" placeholder="请详细描述您遇到的问题,以便我们更好地为您解决" maxlength="500" name="description" value="{{b}}" bindinput="{{c}}"/></block><view class="word-count data-v-22cdb973">{{d}}/500</view></view><view class="contact-section data-v-22cdb973"><view class="section-title data-v-22cdb973">联系方式</view><input class="contact-input data-v-22cdb973" placeholder="请留下您的手机号,方便我们联系您" type="number" maxlength="11" name="contact" value="{{e}}" bindinput="{{f}}"/></view><view class="submit-section data-v-22cdb973"><view class="submit-btn data-v-22cdb973" bindtap="{{g}}">提交反馈</view></view></form></view>
@@ -1 +0,0 @@
.feedback-container.data-v-22cdb973{min-height:100vh;background:#f8f8f8;padding:30rpx}.feedback-container .section-title.data-v-22cdb973{font-size:30rpx;color:#333;font-weight:500;margin-bottom:20rpx}.feedback-container .type-section.data-v-22cdb973{background:#fff;border-radius:20rpx;padding:30rpx;margin-bottom:20rpx}.feedback-container .type-section .type-grid.data-v-22cdb973{display:flex;flex-wrap:wrap;margin:0 -10rpx}.feedback-container .type-section .type-grid .type-item.data-v-22cdb973{width:calc(50% - 20rpx);margin:10rpx;height:80rpx;display:flex;align-items:center;justify-content:center;background:#f5f5f5;border-radius:10rpx;font-size:28rpx;color:#666;transition:all .3s}.feedback-container .type-section .type-grid .type-item.active.data-v-22cdb973{background:#e3f2fd;color:#1976d2}.feedback-container .description-section.data-v-22cdb973{background:#fff;border-radius:20rpx;padding:30rpx;margin-bottom:20rpx}.feedback-container .description-section .description-input.data-v-22cdb973{width:100%;height:240rpx;background:#f8f8f8;border-radius:10rpx;padding:20rpx;font-size:28rpx;color:#333;box-sizing:border-box}.feedback-container .description-section .word-count.data-v-22cdb973{text-align:right;font-size:24rpx;color:#999;margin-top:10rpx}.feedback-container .upload-section.data-v-22cdb973{background:#fff;border-radius:20rpx;padding:30rpx;margin-bottom:20rpx}.feedback-container .upload-section .upload-grid.data-v-22cdb973{display:flex;flex-wrap:wrap}.feedback-container .upload-section .upload-grid .upload-item.data-v-22cdb973{width:200rpx;height:200rpx;margin-right:20rpx;margin-bottom:20rpx;position:relative}.feedback-container .upload-section .upload-grid .upload-item image.data-v-22cdb973{width:100%;height:100%;border-radius:10rpx}.feedback-container .upload-section .upload-grid .upload-item .delete-btn.data-v-22cdb973{position:absolute;right:-10rpx;top:-10rpx;width:40rpx;height:40rpx;background:rgba(0,0,0,.5);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32rpx}.feedback-container .upload-section .upload-grid .upload-btn.data-v-22cdb973{width:200rpx;height:200rpx;background:#f5f5f5;border-radius:10rpx;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#999}.feedback-container .upload-section .upload-grid .upload-btn .plus.data-v-22cdb973{font-size:60rpx;line-height:1;margin-bottom:10rpx}.feedback-container .upload-section .upload-grid .upload-btn .tip.data-v-22cdb973{font-size:24rpx}.feedback-container .contact-section.data-v-22cdb973{background:#fff;border-radius:20rpx;padding:30rpx;margin-bottom:40rpx}.feedback-container .contact-section .contact-input.data-v-22cdb973{width:100%;height:80rpx;background:#f8f8f8;border-radius:10rpx;padding:0 20rpx;font-size:28rpx;color:#333;box-sizing:border-box}.feedback-container .submit-section.data-v-22cdb973{padding:0 40rpx}.feedback-container .submit-section .submit-btn.data-v-22cdb973{width:100%;height:88rpx;background:#1976d2;color:#fff;border-radius:44rpx;font-size:32rpx;font-weight:500;display:flex;align-items:center;justify-content:center}.feedback-container .submit-section .submit-btn.data-v-22cdb973:active{transform:scale(.98)}
-1
View File
@@ -1 +0,0 @@
"use strict";const e=require("../../common/vendor.js"),T=require("../../constants/help.js"),E={data:()=>({HELP_CONTENT:T.HELP_CONTENT,faqList:T.HELP_CONTENT.FAQ_LIST.map((e=>({...e,isOpen:!1})))}),methods:{toggleFaq(e){this.faqList[e].isOpen=!this.faqList[e].isOpen},makePhoneCall(){e.index.makePhoneCall({phoneNumber:T.HELP_CONTENT.CONTACT.PHONE.VALUE})}}};const t=e._export_sfc(E,[["render",function(T,E,t,N,C,a){return{a:e.f(C.faqList,((T,E,t)=>({a:e.t(T.question),b:T.isOpen?1:"",c:e.t(T.answer),d:T.isOpen,e:E,f:e.o((e=>a.toggleFaq(E)),E)}))),b:e.t(C.HELP_CONTENT.CONTACT.TITLE),c:e.t(C.HELP_CONTENT.CONTACT.PHONE.LABEL),d:e.t(C.HELP_CONTENT.CONTACT.PHONE.VALUE),e:e.o(((...e)=>a.makePhoneCall&&a.makePhoneCall(...e))),f:e.t(C.HELP_CONTENT.CONTACT.SERVICE_TIME.LABEL),g:e.t(C.HELP_CONTENT.CONTACT.SERVICE_TIME.VALUE)}}],["__scopeId","data-v-8f1810be"]]);wx.createPage(t);
-4
View File
@@ -1,4 +0,0 @@
{
"navigationBarTitleText": "帮助中心",
"usingComponents": {}
}
-1
View File
@@ -1 +0,0 @@
<view class="help-container data-v-8f1810be"><view class="faq-list data-v-8f1810be"><view wx:for="{{a}}" wx:for-item="item" wx:key="e" class="faq-item data-v-8f1810be" bindtap="{{item.f}}"><view class="faq-header data-v-8f1810be"><text class="question data-v-8f1810be">{{item.a}}</text><view class="{{['arrow', 'data-v-8f1810be', item.b && 'open']}}"></view></view><view class="answer data-v-8f1810be" hidden="{{!item.d}}">{{item.c}}</view></view></view><view class="contact-card data-v-8f1810be"><view class="contact-title data-v-8f1810be">{{b}}</view><view class="contact-content data-v-8f1810be"><view class="contact-item data-v-8f1810be"><text class="label data-v-8f1810be">{{c}}</text><text class="value data-v-8f1810be" bindtap="{{e}}">{{d}}</text></view><view class="contact-item data-v-8f1810be"><text class="label data-v-8f1810be">{{f}}</text><text class="value data-v-8f1810be">{{g}}</text></view></view></view></view>
-1
View File
@@ -1 +0,0 @@
.help-container.data-v-8f1810be{min-height:100vh;background:#f8f8f8;padding:30rpx}.help-container .faq-list.data-v-8f1810be{background:#fff;border-radius:20rpx;padding:20rpx;margin-bottom:30rpx;box-shadow:0 4rpx 16rpx rgba(0,0,0,.04)}.help-container .faq-list .faq-item.data-v-8f1810be{border-bottom:1rpx solid #f5f5f5}.help-container .faq-list .faq-item.data-v-8f1810be:last-child{border-bottom:none}.help-container .faq-list .faq-item .faq-header.data-v-8f1810be{display:flex;justify-content:space-between;align-items:center;padding:30rpx 20rpx}.help-container .faq-list .faq-item .faq-header .question.data-v-8f1810be{font-size:30rpx;color:#333;flex:1;padding-right:20rpx}.help-container .faq-list .faq-item .faq-header .arrow.data-v-8f1810be{width:16rpx;height:16rpx;border-right:4rpx solid #999;border-bottom:4rpx solid #999;transform:rotate(45deg);transition:all .3s}.help-container .faq-list .faq-item .faq-header .arrow.open.data-v-8f1810be{transform:rotate(-135deg)}.help-container .faq-list .faq-item .answer.data-v-8f1810be{font-size:28rpx;color:#666;line-height:1.6;padding:0 20rpx 30rpx;background:#f9f9f9;border-radius:10rpx;margin:0 20rpx 20rpx}.help-container .contact-card.data-v-8f1810be{background:#fff;border-radius:20rpx;padding:30rpx;box-shadow:0 4rpx 16rpx rgba(0,0,0,.04)}.help-container .contact-card .contact-title.data-v-8f1810be{font-size:32rpx;color:#333;font-weight:500;margin-bottom:20rpx;border-left:8rpx solid #1976D2;padding-left:20rpx}.help-container .contact-card .contact-content .contact-item.data-v-8f1810be{display:flex;justify-content:space-between;align-items:center;padding:20rpx 0}.help-container .contact-card .contact-content .contact-item .label.data-v-8f1810be{font-size:28rpx;color:#666}.help-container .contact-card .contact-content .contact-item .value.data-v-8f1810be{font-size:28rpx;color:#333;font-weight:500}.help-container .contact-card .contact-content .contact-item .value.data-v-8f1810be:active{opacity:.7}
File diff suppressed because one or more lines are too long
-8
View File
@@ -1,8 +0,0 @@
{
"navigationBarTitleText": "附近场地",
"usingComponents": {
"uv-notice-bar": "../../node-modules/@climblee/uv-ui/components/uv-notice-bar/uv-notice-bar",
"uv-icon": "../../node-modules/@climblee/uv-ui/components/uv-icon/uv-icon",
"map-component": "../../components/MapComponent"
}
}
-1
View File
@@ -1 +0,0 @@
<view class="container data-v-cfb209b7"><view class="header-section data-v-cfb209b7"><view class="logo-container data-v-cfb209b7"><image class="logo-image data-v-cfb209b7" src="{{a}}" mode="aspectFit"/><text class="app-name data-v-cfb209b7">共享风扇</text></view><uv-notice-bar wx:if="{{b}}" class="data-v-cfb209b7" u-i="cfb209b7-0" bind:__l="__l" u-p="{{b}}"></uv-notice-bar></view><map-component wx:if="{{c}}" class="r data-v-cfb209b7" u-r="mapRef" bindrelocate="{{e}}" bindscan="{{f}}" bindshowList="{{g}}" bindmarkerTap="{{h}}" bindmapCenterChange="{{i}}" u-i="cfb209b7-1" bind:__l="__l" u-p="{{j}}"/><view class="steps-guide data-v-cfb209b7"><view class="guide-header data-v-cfb209b7"><text class="guide-title data-v-cfb209b7">使用指南</text></view><view class="steps-container data-v-cfb209b7"><view wx:for="{{k}}" wx:for-item="step" wx:key="d" class="step-item data-v-cfb209b7"><view class="step-number data-v-cfb209b7">{{step.a}}</view><view class="step-content data-v-cfb209b7"><text class="step-title data-v-cfb209b7">{{step.b}}</text><text class="step-desc data-v-cfb209b7">{{step.c}}</text></view></view></view></view><view wx:if="{{l}}" class="map-loading-placeholder data-v-cfb209b7"><view class="loading-content data-v-cfb209b7"><view class="loading-spinner data-v-cfb209b7"></view><text class="data-v-cfb209b7">正在获取位置信息...</text></view></view><view wx:if="{{m}}" class="location-popup data-v-cfb209b7"><view class="popup-mask data-v-cfb209b7" bindtap="{{n}}"></view><view class="{{['location-sheet', 'data-v-cfb209b7', v && 'expanded']}}"><view class="sheet-header data-v-cfb209b7"><text class="sheet-title data-v-cfb209b7">附近设备场地 ({{o}})</text><view class="close-btn data-v-cfb209b7" bindtap="{{q}}"><uv-icon wx:if="{{p}}" class="data-v-cfb209b7" u-i="cfb209b7-2" bind:__l="__l" u-p="{{p}}"></uv-icon></view></view><scroll-view class="sheet-content data-v-cfb209b7" scroll-y="true"><view wx:for="{{r}}" wx:for-item="item" wx:key="k" class="position-item data-v-cfb209b7" bindtap="{{item.l}}"><view class="position-info data-v-cfb209b7"><view class="position-name data-v-cfb209b7">{{item.a}}</view><view class="{{['status-tag', 'data-v-cfb209b7', item.c]}}"><text class="data-v-cfb209b7">{{item.b}}</text></view><view wx:if="{{item.d}}" class="position-time data-v-cfb209b7"><text class="data-v-cfb209b7">营业时间:{{item.e}}</text></view></view><view class="position-actions data-v-cfb209b7"><view wx:if="{{item.f}}" class="distance-info data-v-cfb209b7"><text class="data-v-cfb209b7">{{item.g}}</text></view><view class="{{['status-tag', 'data-v-cfb209b7', item.i]}}"><text class="data-v-cfb209b7">{{item.h}}</text></view><view class="nav-btn data-v-cfb209b7" catchtap="{{item.j}}"><text class="data-v-cfb209b7">导航</text></view></view></view><view wx:if="{{s}}" class="empty-state data-v-cfb209b7"><image class="empty-icon data-v-cfb209b7" src="{{t}}" mode="aspectFit"/><text class="empty-text data-v-cfb209b7">附近5公里内暂无设备</text></view></scroll-view></view></view><view wx:if="{{w}}" class="loading-overlay data-v-cfb209b7"><view class="loading-content data-v-cfb209b7"><view class="loading-spinner data-v-cfb209b7"></view><text class="data-v-cfb209b7">正在获取场地信息...</text></view></view><view wx:if="{{x}}" class="phone-auth-popup data-v-cfb209b7"><view class="popup-mask data-v-cfb209b7" catchtap="{{y}}"></view><view class="popup-content data-v-cfb209b7"><view class="popup-header data-v-cfb209b7"><text class="popup-title data-v-cfb209b7">授权获取手机号</text></view><view class="popup-body data-v-cfb209b7"><view class="auth-desc data-v-cfb209b7"><text class="data-v-cfb209b7">为了提供更好的服务和紧急联系,需要授权获取您的手机号</text></view><button class="auth-btn data-v-cfb209b7" open-type="getPhoneNumber" bindgetphonenumber="{{z}}"><text class="data-v-cfb209b7">一键获取手机号</text></button><view class="auth-cancel data-v-cfb209b7" bindtap="{{A}}"><text class="data-v-cfb209b7">暂不授权</text></view></view></view></view></view>
File diff suppressed because one or more lines are too long
-1
View File
@@ -1 +0,0 @@
"use strict";const e=require("../../common/vendor.js"),a=require("../../common/assets.js"),o=require("../../util/index.js");if(!Array){e.resolveComponent("uni-icons")()}const n={__name:"index",setup(n){const t=e.ref({}),r=e.ref("0.00"),i=e.ref(""),s=e.ref(null),d=e.ref(!1);e.onMounted((()=>{l()}));const l=async()=>{try{if(!e.index.getStorageSync("token"))return void(await o.wxLogin());const a=await o.getUserInfo();console.log("User info response:",a),200==a.code&&(a.data.openId&&(i.value=a.data.openId,e.index.setStorageSync("openId",a.data.openId)),t.value={nickName:a.data.nickname,phone:a.data.phone,avatar:a.data.iconUrl,isAdmin:a.data.isAdmin},e.index.setStorageSync("userInfo",t.value),r.value=a.data.balanceAmount||"0.00")}catch(a){console.error("获取用户信息失败:",a),e.index.showToast({title:"获取用户信息失败",icon:"none"})}},c=a=>{e.index.navigateTo({url:a})},p=()=>{c("/pages/deposit/index")},u=()=>{t.value||v()},v=()=>{s.value&&(s.value.open(),d.value=!0)};return(o,n)=>{return e.e({a:t.value.avatar},t.value.avatar?{b:t.value.avatar}:{c:a._imports_0$2},{d:t.value.isAdmin},(t.value.isAdmin,{}),{e:t.value},t.value?{f:e.t(t.value.nickName),g:e.t(t.value.phone?(i=t.value.phone,i?i.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2"):""):"未绑定手机号")}:{},{h:e.p({type:"right",size:"16",color:"#999"}),i:e.o(u),j:e.t(r.value),k:e.o(p),l:a._imports_1,m:e.p({type:"right",size:"16",color:"#999"}),n:e.o((e=>c("/pages/order/index"))),o:a._imports_2,p:e.p({type:"right",size:"16",color:"#999"}),q:e.o((e=>c("/pages/feedback/index"))),r:a._imports_3,s:e.p({type:"right",size:"16",color:"#999"}),t:e.o((e=>c("/pages/help/index")))});var i}}},t=e._export_sfc(n,[["__scopeId","data-v-ffe8dcc1"]]);wx.createPage(t);
-4
View File
@@ -1,4 +0,0 @@
{
"navigationBarTitleText": "个人中心",
"usingComponents": {}
}
-1
View File
@@ -1 +0,0 @@
<view class="profile-container data-v-ffe8dcc1"><view class="header-section data-v-ffe8dcc1"><view class="user-profile data-v-ffe8dcc1" bindtap="{{i}}"><view class="avatar-container data-v-ffe8dcc1"><image wx:if="{{a}}" class="avatar data-v-ffe8dcc1" src="{{b}}" mode="aspectFill"></image><image wx:else class="avatar data-v-ffe8dcc1" src="{{c}}" mode="aspectFill"></image><view wx:if="{{d}}" class="avatar-badge data-v-ffe8dcc1"></view></view><view wx:if="{{e}}" class="user-details data-v-ffe8dcc1"><view class="username data-v-ffe8dcc1">{{f}}</view><view class="user-id data-v-ffe8dcc1">{{g}}</view></view><view wx:else class="user-details data-v-ffe8dcc1"><view class="username data-v-ffe8dcc1">点击登录</view><view class="user-id data-v-ffe8dcc1">授权登录后享受更多服务</view></view><view class="edit-profile data-v-ffe8dcc1"><uni-icons wx:if="{{h}}" class="data-v-ffe8dcc1" u-i="ffe8dcc1-0" bind:__l="__l" u-p="{{h}}"></uni-icons></view></view></view><view class="balance-card data-v-ffe8dcc1"><view class="balance-info data-v-ffe8dcc1"><view class="balance-label data-v-ffe8dcc1">押金余额</view><view class="balance-amount data-v-ffe8dcc1">¥{{j}}</view></view><view class="action-button data-v-ffe8dcc1" bindtap="{{k}}"><text class="data-v-ffe8dcc1">提现</text></view></view><view class="function-list data-v-ffe8dcc1"><view class="function-item data-v-ffe8dcc1" bindtap="{{n}}"><view class="item-left data-v-ffe8dcc1"><view class="item-icon data-v-ffe8dcc1"><image class="data-v-ffe8dcc1" src="{{l}}" mode="aspectFit"></image></view><text class="item-title data-v-ffe8dcc1">订单中心</text></view><view class="item-right data-v-ffe8dcc1"><uni-icons wx:if="{{m}}" class="data-v-ffe8dcc1" u-i="ffe8dcc1-1" bind:__l="__l" u-p="{{m}}"></uni-icons></view></view><view class="function-item data-v-ffe8dcc1" bindtap="{{q}}"><view class="item-left data-v-ffe8dcc1"><view class="item-icon data-v-ffe8dcc1"><image class="data-v-ffe8dcc1" src="{{o}}" mode="aspectFit"></image></view><text class="item-title data-v-ffe8dcc1">投诉建议</text></view><view class="item-right data-v-ffe8dcc1"><uni-icons wx:if="{{p}}" class="data-v-ffe8dcc1" u-i="ffe8dcc1-2" bind:__l="__l" u-p="{{p}}"></uni-icons></view></view><view class="function-item data-v-ffe8dcc1" bindtap="{{t}}"><view class="item-left data-v-ffe8dcc1"><view class="item-icon data-v-ffe8dcc1"><image class="data-v-ffe8dcc1" src="{{r}}" mode="aspectFit"></image></view><text class="item-title data-v-ffe8dcc1">帮助中心</text></view><view class="item-right data-v-ffe8dcc1"><uni-icons wx:if="{{s}}" class="data-v-ffe8dcc1" u-i="ffe8dcc1-3" bind:__l="__l" u-p="{{s}}"></uni-icons></view></view></view></view>
-1
View File
@@ -1 +0,0 @@
.profile-container.data-v-ffe8dcc1{min-height:100vh;background-color:#f5f7fa;padding-bottom:env(safe-area-inset-bottom)}.header-section.data-v-ffe8dcc1{padding:40rpx;background:linear-gradient(135deg,#4facfe,#00f2fe);position:relative;border-radius:0 0 30rpx 30rpx;margin-bottom:20rpx;box-shadow:0 10rpx 30rpx rgba(79,172,254,.2)}.user-profile.data-v-ffe8dcc1{display:flex;align-items:center;padding:20rpx 0}.avatar-container.data-v-ffe8dcc1{position:relative;margin-right:30rpx}.avatar.data-v-ffe8dcc1{width:120rpx;height:120rpx;border-radius:60rpx;border:4rpx solid rgba(255,255,255,.6);box-shadow:0 8rpx 20rpx rgba(0,0,0,.1)}.avatar-badge.data-v-ffe8dcc1{position:absolute;bottom:0;right:0;width:36rpx;height:36rpx;border-radius:18rpx;background-color:#ff9500;border:4rpx solid white}.user-details.data-v-ffe8dcc1{flex:1}.username.data-v-ffe8dcc1{font-size:36rpx;font-weight:600;color:#fff;margin-bottom:8rpx}.user-id.data-v-ffe8dcc1{font-size:26rpx;color:rgba(255,255,255,.8)}.edit-profile.data-v-ffe8dcc1{background-color:rgba(255,255,255,.2);padding:10rpx;border-radius:50%}.balance-card.data-v-ffe8dcc1{margin:30rpx;background:#fff;border-radius:20rpx;padding:30rpx;display:flex;justify-content:space-between;align-items:center;box-shadow:0 10rpx 30rpx rgba(0,0,0,.05)}.balance-label.data-v-ffe8dcc1{font-size:28rpx;color:#666;margin-bottom:10rpx}.balance-amount.data-v-ffe8dcc1{font-size:48rpx;font-weight:600;color:#4facfe}.action-button.data-v-ffe8dcc1{background:linear-gradient(135deg,#4facfe,#00f2fe);border-radius:40rpx;height:80rpx;display:flex;align-items:center;justify-content:center;padding:0 40rpx;color:#fff;font-weight:500;font-size:30rpx;box-shadow:0 8rpx 16rpx rgba(79,172,254,.2)}.action-button.data-v-ffe8dcc1:active{opacity:.9;transform:scale(.98)}.action-button text.data-v-ffe8dcc1{margin-right:10rpx}.function-list.data-v-ffe8dcc1{margin:30rpx;background:#fff;border-radius:20rpx;overflow:hidden;box-shadow:0 6rpx 16rpx rgba(0,0,0,.04)}.function-item.data-v-ffe8dcc1{display:flex;justify-content:space-between;align-items:center;padding:32rpx 30rpx;border-bottom:1rpx solid #f0f0f0}.function-item.data-v-ffe8dcc1:last-child{border-bottom:none}.function-item.data-v-ffe8dcc1:active{background-color:#f9f9f9}.item-left.data-v-ffe8dcc1{display:flex;align-items:center}.item-icon.data-v-ffe8dcc1{width:48rpx;height:48rpx;margin-right:24rpx;display:flex;align-items:center;justify-content:center}.item-icon image.data-v-ffe8dcc1{width:40rpx;height:40rpx}.item-title.data-v-ffe8dcc1{font-size:30rpx;color:#333;font-weight:500}.item-right.data-v-ffe8dcc1{display:flex;align-items:center}.auth-popup.data-v-ffe8dcc1{background-color:#fff;width:100%;padding:40rpx;border-radius:15rpx}.auth-title.data-v-ffe8dcc1{font-size:34rpx;font-weight:600;color:#333;text-align:center;margin-bottom:20rpx}.auth-desc.data-v-ffe8dcc1{font-size:28rpx;color:#666;text-align:center;margin-bottom:40rpx}.auth-buttons.data-v-ffe8dcc1{display:flex;justify-content:space-between}.cancel-btn.data-v-ffe8dcc1,.confirm-btn.data-v-ffe8dcc1{width:240rpx;height:80rpx;line-height:80rpx;text-align:center;border-radius:40rpx;font-size:28rpx}.cancel-btn.data-v-ffe8dcc1:after,.confirm-btn.data-v-ffe8dcc1:after{border:none}.cancel-btn.data-v-ffe8dcc1{background-color:#f0f0f0;color:#666}.confirm-btn.data-v-ffe8dcc1{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff}
-1
View File
@@ -1 +0,0 @@
"use strict";const e=require("../../common/vendor.js"),t=require("../../common/assets.js"),a=require("../../config/user.js"),s=require("../../config/url.js"),r={__name:"index",setup(r){const o=e.ref(0),n=e.ref([]),d=e.reactive({0:{text:"待支付",class:"status-waiting"},1:{text:"使用中",class:"status-using"},2:{text:"已完成",class:"status-finished"},3:{text:"已取消",class:"status-cancelled"},waiting_for_payment:{text:"待支付",class:"status-waiting"},in_used:{text:"使用中",class:"status-using"},used_done:{text:"已完成",class:"status-finished"},order_cancelled:{text:"已取消",class:"status-cancelled"}}),i=e.reactive([{text:"全部",status:[]},{text:"待付款",status:["waiting_for_payment"]},{text:"使用中",status:["in_used"]},{text:"已完成",status:["used_done"]},{text:"已取消",status:["order_cancelled"]}]);e.onLoad((async e=>{if(e&&e.orderId)try{const t=await a.queryById(e.orderId);if(200===t.code&&t.data){const e=t.data,a=e.startTime||e.createTime||"",s={orderNo:e.orderId,status:e.orderStatus,deviceId:e.deviceNo,payWay:e.payWay,startTime:a,endTime:e.endTime||"",amount:e.payAmount||e.actualDeviceAmount||"0.00"};n.value=[s,...n.value];const r=i.findIndex((t=>t.status.includes(e.orderStatus)));-1!==r&&c(r)}}catch(t){console.error("获取订单详情失败:",t)}await u()}));const c=async e=>{o.value=e;const t=i[e].status[0];await u(t)},u=async t=>{try{null!=t&&(t={orderStatus:t});const e=await a.getOrderList(t);200===e.code&&e.data&&e.data.records&&(n.value=e.data.records.map((e=>{const t=e.startTime||e.createTime||"";return{orderNo:e.orderNo,orderId:e.orderId,orderStatus:e.orderStatus,deviceId:e.deviceNo,payWay:e.payWay,startTime:t,endTime:e.endTime||"",amount:e.payAmount||e.actualDeviceAmount||"0.00"}})))}catch(s){console.error("获取订单列表失败:",s),e.index.showToast({title:"获取订单列表失败",icon:"none"})}};return(r,l)=>e.e({a:e.f(i,((t,a,s)=>({a:e.t(t.text),b:a,c:o.value===a?1:"",d:e.o((e=>c(a)),a)}))),b:0===n.value.length},(n.value.length,{}),{c:e.f(n.value,((r,n,c)=>{var l,y;return e.e({a:e.t(r.orderNo),b:e.t(null==(l=d[r.orderStatus])?void 0:l.text),c:e.n(null==(y=d[r.orderStatus])?void 0:y.class),d:e.t(r.deviceId),e:"wx_score_pay"==r.payWay},"wx_score_pay"==r.payWay?{f:t._imports_0$3}:("wx_member_pay"==r.payWay||r.payWay,{}),{g:"wx_member_pay"==r.payWay,h:"wx_pay"==r.payWay,i:e.t(r.startTime),j:e.t(r.endTime||"-"),k:e.t(r.amount),l:"waiting_for_payment"===r.status||"waiting_for_payment"===r.orderStatus},"waiting_for_payment"===r.status||"waiting_for_payment"===r.orderStatus?{m:e.o((t=>(async t=>{try{e.index.showLoading({title:"处理中"});const r=await e.index.request({url:`${s.URL||"http://127.0.0.1:8080"}/app/wx-payment/create/${t.orderNo}`,method:"GET",header:{Authorization:"Bearer "+e.index.getStorageSync("token"),Clientid:e.index.getStorageSync("client_id")}});if(200!==r.statusCode||200!==r.data.code)throw new Error(r.data.msg||"创建支付订单失败");{const s=r.data.data;await e.index.requestPayment({...s,success:async()=>{e.index.showToast({title:"支付成功",icon:"success"});try{await a.updateUserBalance(t.orderId||t.orderNo)}catch(s){console.warn("更新用户余额失败:",s)}await u(i[o.value].status)},fail:e=>{throw console.error("支付失败:",e),new Error("支付失败,请重试")}})}e.index.hideLoading()}catch(r){e.index.hideLoading(),e.index.showToast({title:r.message||"支付失败",icon:"none"})}})(r)),n)}:{},{n:"waiting_for_payment"===r.status||"waiting_for_payment"===r.orderStatus},"waiting_for_payment"===r.status||"waiting_for_payment"===r.orderStatus?{o:e.o((t=>(async t=>{try{e.index.showModal({title:"确认取消",content:"确定要取消此订单吗?",success:async s=>{if(s.confirm){e.index.showLoading({title:"处理中"});const s=await a.cancelOrder({orderId:t.orderNo});if(!s)throw new Error(s.msg||"取消订单失败");e.index.hideLoading(),e.index.showToast({title:"订单已取消",icon:"success"}),await u()}}})}catch(s){e.index.hideLoading(),e.index.showToast({title:s.message||"取消订单失败",icon:"none"})}})(r)),n)}:{},{p:"in_used"==r.status||"in_used"==r.orderStatus},"in_used"==r.status||"in_used"==r.orderStatus?{q:e.o((t=>{return a=r.deviceId,s=r.orderId,console.log(s),void e.index.navigateTo({url:`/pages/return/index?deviceId=${a}&orderId=${s}`});var a,s}),n)}:{},{r:e.o((t=>(t=>{e.index.navigateTo({url:`/pages/return/index?orderId=${t.orderId||t.orderNo}&deviceId=${t.deviceId}`})})(r)),n),s:n})}))})}},o=e._export_sfc(r,[["__scopeId","data-v-f4c30c93"]]);wx.createPage(o);
-4
View File
@@ -1,4 +0,0 @@
{
"navigationBarTitleText": "租借记录",
"usingComponents": {}
}
-1
View File
@@ -1 +0,0 @@
<view class="order-container data-v-f4c30c93"><view class="status-tabs data-v-f4c30c93"><view wx:for="{{a}}" wx:for-item="tab" wx:key="b" class="{{['tab-item', 'data-v-f4c30c93', tab.c && 'active']}}" bindtap="{{tab.d}}">{{tab.a}}</view></view><view class="order-list data-v-f4c30c93"><view wx:if="{{b}}" class="empty-state data-v-f4c30c93"><view class="empty-icon data-v-f4c30c93"></view><text class="empty-text data-v-f4c30c93">暂无订单记录</text></view><view wx:for="{{c}}" wx:for-item="order" wx:key="s" class="order-item data-v-f4c30c93"><view class="order-header data-v-f4c30c93"><view class="order-id data-v-f4c30c93"><text class="data-v-f4c30c93">订单号:{{order.a}}</text></view><view class="{{['order-status', 'data-v-f4c30c93', order.c]}}">{{order.b}}</view></view><view class="order-body data-v-f4c30c93"><view class="device-info data-v-f4c30c93"><view class="device-left data-v-f4c30c93"><view class="device-name data-v-f4c30c93">共享风扇</view><view class="device-id data-v-f4c30c93">设备号:{{order.d}}</view></view><view class="device-right data-v-f4c30c93"><view wx:if="{{order.e}}" class="payment-badge wx-score data-v-f4c30c93"><image src="{{order.f}}" mode="aspectFit" class="badge-icon data-v-f4c30c93"></image><view class="badge-text data-v-f4c30c93"><text class="data-v-f4c30c93">微信支付分</text><text class="divider data-v-f4c30c93">|</text><text class="highlight data-v-f4c30c93">免押租借</text></view></view><view wx:elif="{{order.g}}" class="payment-badge member data-v-f4c30c93"><text class="badge-text data-v-f4c30c93">会员订单</text></view><view wx:elif="{{order.h}}" class="payment-badge deposit data-v-f4c30c93"><text class="badge-text data-v-f4c30c93">押金租借</text></view></view></view><view class="order-times data-v-f4c30c93"><view class="time-row data-v-f4c30c93"><text class="time-label data-v-f4c30c93">开始时间:</text><text class="time-value data-v-f4c30c93">{{order.i}}</text></view><view class="time-row data-v-f4c30c93"><text class="time-label data-v-f4c30c93">结束时间:</text><text class="time-value data-v-f4c30c93">{{order.j}}</text></view></view></view><view class="order-footer data-v-f4c30c93"><view class="price data-v-f4c30c93">¥{{order.k}}</view><view class="actions data-v-f4c30c93"><view wx:if="{{order.l}}" class="action-item primary data-v-f4c30c93" bindtap="{{order.m}}"> 立即支付 </view><view wx:if="{{order.n}}" class="action-item secondary data-v-f4c30c93" bindtap="{{order.o}}"> 取消订单 </view><view wx:if="{{order.p}}" class="action-item primary data-v-f4c30c93" bindtap="{{order.q}}"> 归还设备 </view><view class="action-item secondary data-v-f4c30c93" bindtap="{{order.r}}"> 查看详情 </view></view></view></view></view></view>
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,6 +0,0 @@
{
"navigationBarTitleText": "订单支付",
"navigationBarBackgroundColor": "#ffffff",
"navigationBarTextStyle": "black",
"usingComponents": {}
}
@@ -1 +0,0 @@
<view class="payment-container data-v-6af544c6"><view class="status-card data-v-6af544c6"><view class="{{['status-icon', 'data-v-6af544c6', a]}}"></view><view class="status-text data-v-6af544c6">{{b}}</view><view class="status-desc data-v-6af544c6">{{c}}</view></view><view class="order-card data-v-6af544c6"><view class="card-title data-v-6af544c6">订单信息</view><view class="info-item data-v-6af544c6"><text class="label data-v-6af544c6">订单号</text><text class="value data-v-6af544c6">{{d}}</text></view><view class="info-item data-v-6af544c6"><text class="label data-v-6af544c6">设备号</text><text class="value data-v-6af544c6">{{e}}</text></view><view class="info-item data-v-6af544c6"><text class="label data-v-6af544c6">创建时间</text><text class="value data-v-6af544c6">{{f}}</text></view><view class="info-item data-v-6af544c6"><text class="label data-v-6af544c6">联系电话</text><text class="value data-v-6af544c6">{{g}}</text></view></view><view class="price-card data-v-6af544c6"><view class="card-title data-v-6af544c6">费用信息</view><view class="price-item data-v-6af544c6"><text class="label data-v-6af544c6">押金</text><text class="value data-v-6af544c6">¥{{h}}</text></view><view class="price-item data-v-6af544c6"><text class="label data-v-6af544c6">套餐</text><text class="value data-v-6af544c6">{{i}}元/{{j}}小时</text></view><view class="price-item total data-v-6af544c6"><text class="label data-v-6af544c6">合计</text><text class="value data-v-6af544c6">¥{{k}}</text></view></view><view class="bottom-bar data-v-6af544c6"><view class="total-amount data-v-6af544c6"><text class="data-v-6af544c6">合计:</text><text class="amount data-v-6af544c6">¥{{l}}</text></view><view class="pay-btn data-v-6af544c6" bindtap="{{m}}">立即支付</view></view></view>
File diff suppressed because one or more lines are too long
@@ -1 +0,0 @@
"use strict";const e=require("../../common/vendor.js"),t=require("../../config/user.js"),r=require("../../config/url.js"),o={data:()=>({orderId:"",orderInfo:{orderNo:"",deviceNo:"",usedTime:"",currentFee:"0.00",deposit:"99.00",refundAmount:"99.00",endTime:"",withdrawStatus:"waiting",isWithdrawn:!1}}),onLoad(t){t&&t.orderId?(this.orderId=t.orderId,this.loadOrderInfo()):(e.index.showToast({title:"订单ID不能为空",icon:"none"}),setTimeout((()=>{this.goToHome()}),1500))},methods:{getWithdrawStatusText(){return{waiting:"待申请",processing:"处理中",success:"已退款",failed:"退款失败"}[this.orderInfo.withdrawStatus]||"待申请"},async loadOrderInfo(){try{e.index.showLoading({title:"加载中"});const o=await t.queryById(this.orderId);if(200!==o.code||!o.data)throw new Error(o.msg||"获取订单信息失败");{const e=o.data;let t=60,n=0,d=0,i="0.00",a="0.00";if(e.remark)try{const r=e.remark,o=r.match(/使用时长:(\d+)分钟/);o&&o[1]&&(d=parseInt(o[1]));const s=r.match(/套餐时长:(\d+)分钟/);s&&s[1]&&(t=parseInt(s[1]));const c=r.match(/超出时长:(\d+)分钟/);c&&c[1]&&(n=parseInt(c[1]));const h=r.match(/套餐费用:([\d.]+)元/);h&&h[1]&&(i=h[1]);const u=r.match(/超时费用:([\d.]+)元/);u&&u[1]&&(a=u[1]),console.log("从remark解析到的信息:",{usedMinutes:d,packageMinutes:t,extraMinutes:n,packagePrice:i,extraFee:a})}catch(r){console.error("解析remark字段失败:",r)}this.orderInfo={orderNo:e.orderNo||"",deviceNo:e.deviceNo||"",usedTime:d+"分钟",packageTime:t+"分钟",extraTime:n+"分钟",packagePrice:i,extraFee:a,currentFee:e.actualDeviceAmount||"0.00",deposit:e.depositAmount||"99.00",refundAmount:e.residueAmount||"99.00",endTime:e.endTime||"",withdrawStatus:e.withdrawStatus||"waiting",isWithdrawn:"success"===e.withdrawStatus}}}catch(o){console.error("加载订单信息错误:",o),e.index.showToast({title:o.message||"获取订单信息失败",icon:"none"})}finally{e.index.hideLoading()}},async handleWithdraw(){try{e.index.showLoading({title:"处理中"});const t=await e.index.request({url:`${r.URL||"http://127.0.0.1:8080"}/app/withdraw/add/${this.orderInfo.orderNo}`,method:"GET",header:{"Content-Type":"application/json",Authorization:"Bearer "+e.index.getStorageSync("token"),Clientid:e.index.getStorageSync("client_id")}});if(200!==t.statusCode||200!==t.data.code)throw new Error(t.data.msg||"退款申请失败");e.index.showToast({title:"退款申请成功",icon:"success"}),this.orderInfo.withdrawStatus="processing",this.orderInfo.isWithdrawn=!0,setTimeout((()=>{this.loadOrderInfo()}),1500)}catch(t){console.error("退款申请错误:",t),e.index.showToast({title:t.message||"退款申请失败",icon:"none"})}finally{e.index.hideLoading()}},goToHome(){e.index.reLaunch({url:"/pages/index/index"})}}};const n=e._export_sfc(o,[["render",function(t,r,o,n,d,i){return e.e({a:e.t(d.orderInfo.orderNo||"-"),b:e.t(d.orderInfo.deviceNo||"-"),c:e.t(d.orderInfo.usedTime||"-"),d:e.t(d.orderInfo.packageTime||"1小时"),e:e.t(d.orderInfo.extraTime||"0分钟"),f:e.t(d.orderInfo.endTime||"-"),g:e.t(d.orderInfo.packagePrice||"0.00"),h:e.t(d.orderInfo.extraFee||"0.00"),i:e.t(d.orderInfo.currentFee||"0.00"),j:e.t(d.orderInfo.deposit||"99.00"),k:e.t(d.orderInfo.refundAmount||"99.00"),l:e.t(i.getWithdrawStatusText()),m:e.n(d.orderInfo.withdrawStatus||"waiting"),n:!d.orderInfo.isWithdrawn&&d.orderInfo.refundAmount>0},!d.orderInfo.isWithdrawn&&d.orderInfo.refundAmount>0?{o:e.o(((...e)=>i.handleWithdraw&&i.handleWithdraw(...e)))}:{},{p:e.o(((...e)=>i.goToHome&&i.goToHome(...e)))})}],["__scopeId","data-v-ef076c96"]]);wx.createPage(n);
@@ -1,6 +0,0 @@
{
"navigationBarTitleText": "归还成功",
"navigationBarBackgroundColor": "#ffffff",
"navigationBarTextStyle": "black",
"usingComponents": {}
}
@@ -1 +0,0 @@
<view class="success-container data-v-ef076c96"><view class="status-card data-v-ef076c96"><view class="status-icon success data-v-ef076c96"></view><view class="status-text data-v-ef076c96">归还成功</view><view class="status-desc data-v-ef076c96">您的风扇已归还,费用已从押金中扣除</view></view><view class="order-card data-v-ef076c96"><view class="card-title data-v-ef076c96">订单信息</view><view class="info-item data-v-ef076c96"><text class="label data-v-ef076c96">订单号</text><text class="value data-v-ef076c96">{{a}}</text></view><view class="info-item data-v-ef076c96"><text class="label data-v-ef076c96">设备号</text><text class="value data-v-ef076c96">{{b}}</text></view><view class="info-item data-v-ef076c96"><text class="label data-v-ef076c96">使用时长</text><text class="value data-v-ef076c96">{{c}}</text></view><view class="info-item data-v-ef076c96"><text class="label data-v-ef076c96">套餐时长</text><text class="value data-v-ef076c96">{{d}}</text></view><view class="info-item data-v-ef076c96"><text class="label data-v-ef076c96">超出时长</text><text class="value data-v-ef076c96">{{e}}</text></view><view class="info-item data-v-ef076c96"><text class="label data-v-ef076c96">归还时间</text><text class="value data-v-ef076c96">{{f}}</text></view></view><view class="refund-card data-v-ef076c96"><view class="card-title data-v-ef076c96">费用信息</view><view class="info-item data-v-ef076c96"><text class="label data-v-ef076c96">套餐费用</text><text class="value data-v-ef076c96">¥{{g}}</text></view><view class="info-item data-v-ef076c96"><text class="label data-v-ef076c96">超时费用</text><text class="value data-v-ef076c96">¥{{h}}</text></view><view class="info-item data-v-ef076c96"><text class="label data-v-ef076c96">总费用</text><text class="value data-v-ef076c96">¥{{i}}</text></view><view class="info-item data-v-ef076c96"><text class="label data-v-ef076c96">押金</text><text class="value data-v-ef076c96">¥{{j}}</text></view><view class="info-item data-v-ef076c96"><text class="label data-v-ef076c96">退还金额</text><text class="value highlight data-v-ef076c96">¥{{k}}</text></view><view class="info-item data-v-ef076c96"><text class="label data-v-ef076c96">退还状态</text><text class="{{['value', 'data-v-ef076c96', m]}}">{{l}}</text></view></view><view class="notice-card data-v-ef076c96"><view class="card-title data-v-ef076c96">退款说明</view><view class="notice-content data-v-ef076c96"><view class="data-v-ef076c96">1. 押金剩余金额需要您手动申请提现</view><view class="data-v-ef076c96">2. 提现申请提交后将在1-3个工作日内退还到原支付账户</view><view class="data-v-ef076c96">3. 如有疑问,请联系客服</view></view></view><view class="button-group data-v-ef076c96"><button wx:if="{{n}}" class="primary-btn data-v-ef076c96" bindtap="{{o}}">申请退款</button><button class="primary-btn data-v-ef076c96" bindtap="{{p}}">返回首页</button></view></view>
@@ -1 +0,0 @@
.success-container.data-v-ef076c96{padding:20px;background-color:#f8f8f8;min-height:100vh}.status-card.data-v-ef076c96{background-color:#fff;border-radius:12px;padding:30px;text-align:center;margin-bottom:20px;box-shadow:0 2px 8px rgba(0,0,0,.04)}.status-card .status-icon.data-v-ef076c96{width:60px;height:60px;margin:0 auto 16px}.status-card .status-icon.success.data-v-ef076c96{background-color:#07c160;border-radius:50%;position:relative}.status-card .status-icon.success.data-v-ef076c96:after{content:"";position:absolute;left:50%;top:50%;width:30px;height:20px;border:3px solid #fff;border-top:none;border-right:none;transform-origin:center;transform:translate(-50%,-70%) rotate(-45deg)}.status-card .status-text.data-v-ef076c96{font-size:24px;font-weight:700;color:#07c160;margin-bottom:8px}.status-card .status-desc.data-v-ef076c96{font-size:14px;color:#666}.order-card.data-v-ef076c96,.refund-card.data-v-ef076c96{background-color:#fff;border-radius:12px;padding:20px;margin-bottom:20px;box-shadow:0 2px 8px rgba(0,0,0,.04)}.order-card .card-title.data-v-ef076c96,.refund-card .card-title.data-v-ef076c96{font-size:16px;font-weight:700;margin-bottom:16px;color:#333;border-bottom:1px solid #f0f0f0;padding-bottom:10px}.order-card .info-item.data-v-ef076c96,.refund-card .info-item.data-v-ef076c96{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.order-card .info-item.data-v-ef076c96:last-child,.refund-card .info-item.data-v-ef076c96:last-child{margin-bottom:0}.order-card .info-item .label.data-v-ef076c96,.refund-card .info-item .label.data-v-ef076c96{color:#666;font-size:14px}.order-card .info-item .value.data-v-ef076c96,.refund-card .info-item .value.data-v-ef076c96{color:#333;font-size:14px}.order-card .info-item .value.highlight.data-v-ef076c96,.refund-card .info-item .value.highlight.data-v-ef076c96{color:#ff6b00;font-weight:700;font-size:16px}.order-card .info-item .value.success.data-v-ef076c96,.refund-card .info-item .value.success.data-v-ef076c96{color:#07c160}.button-group.data-v-ef076c96{margin-top:40rpx;display:flex;justify-content:center;gap:20rpx}.button-group .primary-btn.data-v-ef076c96,.button-group .secondary-btn.data-v-ef076c96{width:50%;height:88rpx;line-height:88rpx;border-radius:44rpx;text-align:center;font-size:32rpx}.button-group .primary-btn.data-v-ef076c96{background:#07c160;color:#fff}.button-group .primary-btn.data-v-ef076c96:active{opacity:.8}.button-group .secondary-btn.data-v-ef076c96{background:#f0f0f0;color:#333}.button-group .secondary-btn.data-v-ef076c96:active{opacity:.8}.notice-card.data-v-ef076c96{background-color:#fff;border-radius:12px;padding:20px;margin-bottom:20px;box-shadow:0 2px 8px rgba(0,0,0,.04)}.notice-card .card-title.data-v-ef076c96{font-size:16px;font-weight:700;margin-bottom:16px;color:#333;border-bottom:1px solid #f0f0f0;padding-bottom:10px}.notice-card .notice-content.data-v-ef076c96{text-align:left;color:#666;font-size:14px}.waiting.data-v-ef076c96{color:#fa0;font-weight:700}
-1
View File
@@ -1 +0,0 @@
"use strict";const e=require("../../common/vendor.js"),o=require("../../config/user.js"),r={data:()=>({orderId:"",orderInfo:{},isLoading:!0,deviceMessage:"正在准备您的设备,请稍候...",hasTriggeredDevice:!1}),onLoad(o){o&&o.orderId?(this.orderId=o.orderId,this.loadOrderInfo(),e.index.$once("orderSuccess:"+this.orderId,(()=>{console.log("已经触发过弹出逻辑,不再重复触发"),this.hasTriggeredDevice=!0}))):(e.index.showToast({title:"订单信息不存在",icon:"none"}),setTimeout((()=>{this.goToHome()}),1500))},methods:{async loadOrderInfo(){try{e.index.showLoading({title:"加载中"});const r=await o.queryById(this.orderId);if(200!==r.code||!r.data)throw new Error("获取订单信息失败");{const o=r.data;this.orderInfo={orderNo:o.orderNo||o.orderId,deviceNo:o.deviceNo,amount:o.payAmount||o.amount,payTime:o.payTime||this.formatTime(new Date)},"IN_USED"===o.orderStatus?(this.deviceMessage="设备已弹出,请取走您的风扇",this.isLoading=!1,this.hasTriggeredDevice||(e.index.$emit("orderSuccess:"+this.orderId),this.hasTriggeredDevice=!0)):this.triggerDeviceEject()}e.index.hideLoading()}catch(r){e.index.hideLoading(),e.index.showToast({title:r.message||"获取订单信息失败",icon:"none"})}},async triggerDeviceEject(){if(this.hasTriggeredDevice)console.log("已经触发过弹出风扇,不重复触发");else{this.hasTriggeredDevice=!0,e.index.$emit("orderSuccess:"+this.orderId),this.isLoading=!0,this.deviceMessage="正在准备您的设备,请稍候...";try{console.log(`准备触发弹出风扇,orderId: ${this.orderId}`);const r=await o.confirmPaymentAndRent(this.orderId);if(console.log("确认支付并弹出风扇结果:",JSON.stringify(r)),!r||200!==r.code)throw new Error(r&&r.msg||"弹出风扇失败");this.deviceMessage="设备已弹出,请取走您的风扇",e.index.showToast({title:"风扇已弹出",icon:"success"})}catch(r){console.error("弹出风扇错误:",r),this.deviceMessage="弹出设备失败,请联系客服",e.index.showToast({title:r.message||"弹出风扇失败,请联系客服",icon:"none"})}finally{this.isLoading=!1}}},formatTime:e=>`${e.getFullYear()}-${(e.getMonth()+1).toString().padStart(2,"0")}-${e.getDate().toString().padStart(2,"0")} ${e.getHours().toString().padStart(2,"0")}:${e.getMinutes().toString().padStart(2,"0")}:${e.getSeconds().toString().padStart(2,"0")}`,goToHome(){e.index.switchTab({url:"/pages/index/index"})},goToOrderList(){e.index.redirectTo({url:"/pages/order/index"})}}};const i=e._export_sfc(r,[["render",function(o,r,i,t,d,s){return e.e({a:e.t(d.orderInfo.orderNo||"-"),b:e.t(d.orderInfo.deviceNo||"-"),c:e.t(d.orderInfo.amount||"0.00"),d:e.t(d.orderInfo.payTime||"-"),e:e.t(d.deviceMessage),f:d.isLoading},(d.isLoading,{}),{g:e.o(((...e)=>s.goToHome&&s.goToHome(...e))),h:e.o(((...e)=>s.goToOrderList&&s.goToOrderList(...e)))})}],["__scopeId","data-v-e41af8d4"]]);wx.createPage(i);
@@ -1,6 +0,0 @@
{
"navigationBarTitleText": "支付成功",
"navigationBarBackgroundColor": "#ffffff",
"navigationBarTextStyle": "black",
"usingComponents": {}
}
@@ -1 +0,0 @@
<view class="success-container data-v-e41af8d4"><view class="status-card data-v-e41af8d4"><view class="status-icon success data-v-e41af8d4"></view><view class="status-text data-v-e41af8d4">支付成功</view><view class="status-desc data-v-e41af8d4">您的订单已支付成功</view></view><view class="order-card data-v-e41af8d4"><view class="card-title data-v-e41af8d4">订单信息</view><view class="info-item data-v-e41af8d4"><text class="label data-v-e41af8d4">订单号</text><text class="value data-v-e41af8d4">{{a}}</text></view><view class="info-item data-v-e41af8d4"><text class="label data-v-e41af8d4">设备号</text><text class="value data-v-e41af8d4">{{b}}</text></view><view class="info-item data-v-e41af8d4"><text class="label data-v-e41af8d4">支付金额</text><text class="value data-v-e41af8d4">¥{{c}}</text></view><view class="info-item data-v-e41af8d4"><text class="label data-v-e41af8d4">支付时间</text><text class="value data-v-e41af8d4">{{d}}</text></view></view><view class="device-status data-v-e41af8d4"><view class="status-message data-v-e41af8d4">{{e}}</view><view wx:if="{{f}}" class="loading-animation data-v-e41af8d4"><view class="loading-circle data-v-e41af8d4"></view></view></view><view class="button-group data-v-e41af8d4"><button class="primary-btn data-v-e41af8d4" bindtap="{{g}}">返回首页</button><button class="secondary-btn data-v-e41af8d4" bindtap="{{h}}">查看订单</button></view></view>
@@ -1 +0,0 @@
.success-container.data-v-e41af8d4{padding:20px;background-color:#f5f5f5;min-height:100vh}.status-card.data-v-e41af8d4{background-color:#fff;border-radius:12px;padding:30px;text-align:center;margin-bottom:20px}.status-card .status-icon.data-v-e41af8d4{width:60px;height:60px;margin:0 auto 16px;background-color:#07c160;border-radius:50%;position:relative}.status-card .status-icon.data-v-e41af8d4:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:30px;height:20px;border:3px solid #fff;border-top:none;border-right:none;transform-origin:center;transform:translate(-50%,-70%) rotate(-45deg)}.status-card .status-text.data-v-e41af8d4{font-size:24px;font-weight:700;color:#07c160;margin-bottom:8px}.status-card .status-desc.data-v-e41af8d4{font-size:14px;color:#666}.order-card.data-v-e41af8d4{background-color:#fff;border-radius:12px;padding:20px;margin-bottom:20px}.order-card .card-title.data-v-e41af8d4{font-size:16px;font-weight:700;margin-bottom:16px;color:#333}.order-card .info-item.data-v-e41af8d4{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.order-card .info-item .label.data-v-e41af8d4{color:#666;font-size:14px}.order-card .info-item .value.data-v-e41af8d4{color:#333;font-size:14px}.device-status.data-v-e41af8d4{background-color:#fff;border-radius:12px;padding:20px;margin-bottom:20px;text-align:center}.device-status .status-message.data-v-e41af8d4{font-size:16px;color:#333;margin-bottom:12px}.device-status .loading-animation.data-v-e41af8d4{display:flex;justify-content:center;align-items:center;height:40px}.device-status .loading-animation .loading-circle.data-v-e41af8d4{width:30px;height:30px;border-radius:50%;border:3px solid #f0f0f0;border-top-color:#07c160;animation:spin-e41af8d4 1s linear infinite}@keyframes spin-e41af8d4{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.button-group.data-v-e41af8d4{margin-top:30px;display:flex;gap:16px}.button-group .primary-btn.data-v-e41af8d4{background-color:#07c160;color:#fff;border:none;border-radius:24px;padding:12px;font-size:16px}.button-group .primary-btn.data-v-e41af8d4:active{opacity:.8}.button-group .secondary-btn.data-v-e41af8d4{background-color:#fff;color:#07c160;border:1px solid #07c160;border-radius:24px;padding:12px;font-size:16px}.button-group .secondary-btn.data-v-e41af8d4:active{background-color:#f5f5f5}
File diff suppressed because one or more lines are too long
@@ -1,6 +0,0 @@
{
"navigationBarTitleText": "归还设备",
"navigationBarBackgroundColor": "#ffffff",
"navigationBarTextStyle": "black",
"usingComponents": {}
}
@@ -1 +0,0 @@
<view class="return-container data-v-c1cfdb3c"><view class="order-card data-v-c1cfdb3c"><view class="order-header data-v-c1cfdb3c"><text class="title data-v-c1cfdb3c">{{a}}</text><text class="order-no data-v-c1cfdb3c">订单号:{{b}}</text></view><view class="device-info data-v-c1cfdb3c"><view class="device-left data-v-c1cfdb3c"><view class="device-name data-v-c1cfdb3c">共享风扇</view><view class="device-id data-v-c1cfdb3c">设备号:{{c}}</view></view><view class="device-right data-v-c1cfdb3c"><view wx:if="{{d}}" class="payment-badge wx-score data-v-c1cfdb3c"><image src="{{e}}" mode="aspectFit" class="badge-icon data-v-c1cfdb3c"></image><view class="badge-text data-v-c1cfdb3c"><text class="data-v-c1cfdb3c">微信支付分</text><text class="divider data-v-c1cfdb3c">|</text><text class="highlight data-v-c1cfdb3c">免押租借</text></view></view><view wx:elif="{{f}}" class="payment-badge member data-v-c1cfdb3c"><text class="badge-text data-v-c1cfdb3c">会员订单</text></view><view wx:elif="{{g}}" class="payment-badge deposit data-v-c1cfdb3c"><text class="badge-text data-v-c1cfdb3c">押金租借</text></view></view></view><view class="time-info data-v-c1cfdb3c"><view class="time-item data-v-c1cfdb3c"><text class="label data-v-c1cfdb3c">开始时间</text><text class="value data-v-c1cfdb3c">{{h}}</text></view><view wx:if="{{i}}" class="time-item data-v-c1cfdb3c"><text class="label data-v-c1cfdb3c">结束时间</text><text class="value data-v-c1cfdb3c">{{j}}</text></view><view wx:if="{{k}}" class="time-item data-v-c1cfdb3c"><text class="label data-v-c1cfdb3c">已使用时长</text><text class="value highlight data-v-c1cfdb3c">{{l}}</text></view><view wx:if="{{m}}" class="time-item data-v-c1cfdb3c"><text class="label data-v-c1cfdb3c">当前费用</text><text class="value data-v-c1cfdb3c">¥{{n}}</text></view><view wx:if="{{o}}" class="time-item data-v-c1cfdb3c"><text class="label data-v-c1cfdb3c">联系电话</text><text class="value data-v-c1cfdb3c">{{p}}</text></view></view><view wx:if="{{false}}" class="debug-info data-v-c1cfdb3c"><view class="debug-title data-v-c1cfdb3c">调试信息</view><view class="debug-item data-v-c1cfdb3c">原始开始时间: {{q}}</view><view class="debug-item data-v-c1cfdb3c">处理后开始时间: {{r}}</view><view class="debug-item data-v-c1cfdb3c">订单状态: {{s}}</view></view></view><view wx:if="{{t}}" class="notice-card data-v-c1cfdb3c"><view class="notice-title data-v-c1cfdb3c">费用信息</view><view class="notice-list data-v-c1cfdb3c"><view wx:if="{{v}}" class="notice-item data-v-c1cfdb3c"><view class="dot data-v-c1cfdb3c"></view><text class="data-v-c1cfdb3c">押金:¥{{w}}</text></view><view wx:if="{{x}}" class="notice-item data-v-c1cfdb3c"><view class="dot data-v-c1cfdb3c"></view><text class="data-v-c1cfdb3c">套餐:¥{{y}}元 / {{z}}</text></view><view class="notice-item data-v-c1cfdb3c"><view class="dot data-v-c1cfdb3c"></view><text class="data-v-c1cfdb3c">合计:¥{{A}}</text></view></view></view><view wx:if="{{B}}" class="notice-card data-v-c1cfdb3c"><view class="notice-title data-v-c1cfdb3c">归还说明</view><view class="notice-list data-v-c1cfdb3c"><view class="notice-item data-v-c1cfdb3c"><view class="dot data-v-c1cfdb3c"></view><text class="data-v-c1cfdb3c">请确保设备完好无损</text></view><view class="notice-item data-v-c1cfdb3c"><view class="dot data-v-c1cfdb3c"></view><text class="data-v-c1cfdb3c">将风扇插入原位置或空闲插口</text></view><view class="notice-item data-v-c1cfdb3c"><view class="dot data-v-c1cfdb3c"></view><text class="data-v-c1cfdb3c">系统将自动检测归还并处理退款</text></view><view class="notice-item data-v-c1cfdb3c"><view class="dot data-v-c1cfdb3c"></view><text class="data-v-c1cfdb3c">归还成功后将自动跳转到成功页面</text></view></view></view><view class="bottom-bar data-v-c1cfdb3c"><view wx:if="{{C}}" class="action-item secondary data-v-c1cfdb3c" bindtap="{{D}}"> 刷新状态</view><view wx:if="{{E}}" class="action-item primary data-v-c1cfdb3c" bindtap="{{F}}">返回首页</view><view wx:if="{{G}}" class="action-item secondary data-v-c1cfdb3c" bindtap="{{H}}">返回首页</view><view wx:if="{{I}}" class="action-item primary data-v-c1cfdb3c" bindtap="{{J}}">查看详情</view><view wx:if="{{K}}" class="action-item secondary data-v-c1cfdb3c" bindtap="{{L}}">取消订单</view><view wx:if="{{M}}" class="action-item primary data-v-c1cfdb3c" bindtap="{{N}}">立即支付</view></view></view>
@@ -1 +0,0 @@
.return-container.data-v-c1cfdb3c{min-height:100vh;background:#f7f8fa;padding:30rpx 30rpx 180rpx;box-sizing:border-box}.return-container .order-card.data-v-c1cfdb3c{background:#fff;border-radius:20rpx;padding:30rpx;margin-bottom:30rpx;box-shadow:0 4rpx 16rpx rgba(0,0,0,.04)}.return-container .order-card .order-header.data-v-c1cfdb3c{display:flex;justify-content:space-between;align-items:center;margin-bottom:20rpx;padding-bottom:16rpx;border-bottom:1rpx solid #f0f0f0}.return-container .order-card .order-header .title.data-v-c1cfdb3c{font-size:30rpx;font-weight:700;color:#333}.return-container .order-card .order-header .order-no.data-v-c1cfdb3c{font-size:24rpx;color:#999}.return-container .order-card .device-info.data-v-c1cfdb3c{margin-bottom:24rpx;display:flex;justify-content:space-between;align-items:flex-start}.return-container .order-card .device-info .device-left.data-v-c1cfdb3c{flex:1;margin-right:20rpx}.return-container .order-card .device-info .device-left .device-name.data-v-c1cfdb3c{font-size:32rpx;font-weight:500;color:#333;margin-bottom:8rpx}.return-container .order-card .device-info .device-left .device-id.data-v-c1cfdb3c{font-size:26rpx;color:#999;margin-bottom:0}.return-container .order-card .device-info .device-right .payment-badge.data-v-c1cfdb3c{display:inline-flex;align-items:center;padding:6rpx 12rpx;border-radius:8rpx;white-space:nowrap}.return-container .order-card .device-info .device-right .payment-badge.wx-score.data-v-c1cfdb3c{background:rgba(7,193,96,.08)}.return-container .order-card .device-info .device-right .payment-badge.wx-score .badge-icon.data-v-c1cfdb3c{width:32rpx;height:26rpx;margin-right:8rpx}.return-container .order-card .device-info .device-right .payment-badge.wx-score .badge-text.data-v-c1cfdb3c{font-size:22rpx;color:#07c160;display:flex;align-items:center}.return-container .order-card .device-info .device-right .payment-badge.wx-score .badge-text .divider.data-v-c1cfdb3c{margin:0 6rpx}.return-container .order-card .device-info .device-right .payment-badge.wx-score .badge-text .highlight.data-v-c1cfdb3c{font-weight:500}.return-container .order-card .device-info .device-right .payment-badge.member.data-v-c1cfdb3c{background:rgba(25,118,210,.08)}.return-container .order-card .device-info .device-right .payment-badge.member .badge-text.data-v-c1cfdb3c{font-size:22rpx;color:#1976d2;font-weight:500}.return-container .order-card .device-info .device-right .payment-badge.deposit.data-v-c1cfdb3c{background:#f5f5f5}.return-container .order-card .device-info .device-right .payment-badge.deposit .badge-text.data-v-c1cfdb3c{font-size:22rpx;color:#666;font-weight:500}.return-container .order-card .time-info.data-v-c1cfdb3c{background:#f9f9f9;border-radius:16rpx;padding:20rpx}.return-container .order-card .time-info .time-item.data-v-c1cfdb3c{display:flex;justify-content:space-between;align-items:center;margin-bottom:16rpx}.return-container .order-card .time-info .time-item.data-v-c1cfdb3c:last-child{margin-bottom:0}.return-container .order-card .time-info .time-item .label.data-v-c1cfdb3c{font-size:26rpx;color:#666}.return-container .order-card .time-info .time-item .value.data-v-c1cfdb3c{font-size:26rpx;color:#333}.return-container .order-card .time-info .time-item .value.highlight.data-v-c1cfdb3c{color:#ff6b6b;font-weight:700}.return-container .notice-card.data-v-c1cfdb3c{background:#fff;border-radius:20rpx;padding:30rpx;margin-bottom:30rpx;box-shadow:0 4rpx 16rpx rgba(0,0,0,.04)}.return-container .notice-card .notice-title.data-v-c1cfdb3c{font-size:30rpx;font-weight:700;color:#333;margin-bottom:20rpx}.return-container .notice-card .notice-list .notice-item.data-v-c1cfdb3c{display:flex;align-items:flex-start;margin-bottom:16rpx}.return-container .notice-card .notice-list .notice-item.data-v-c1cfdb3c:last-child{margin-bottom:0}.return-container .notice-card .notice-list .notice-item .dot.data-v-c1cfdb3c{width:12rpx;height:12rpx;background:#07c160;border-radius:50%;margin-top:10rpx;margin-right:16rpx;flex-shrink:0}.return-container .notice-card .notice-list .notice-item text.data-v-c1cfdb3c{font-size:26rpx;color:#666;line-height:1.5}.return-container .bottom-bar.data-v-c1cfdb3c{position:fixed;left:0;right:0;bottom:0;padding:20rpx 30rpx;padding-bottom:calc(20rpx + env(safe-area-inset-bottom));background:#fff;box-shadow:0 -4rpx 16rpx rgba(0,0,0,.04);z-index:10;display:flex;justify-content:space-between;gap:20rpx}.return-container .bottom-bar .action-item.data-v-c1cfdb3c{height:88rpx;display:flex;align-items:center;justify-content:center;font-size:30rpx;border-radius:44rpx;flex:1}.return-container .bottom-bar .action-item.primary.data-v-c1cfdb3c{background:#07c160;color:#fff}.return-container .bottom-bar .action-item.primary.data-v-c1cfdb3c:active{opacity:.8}.return-container .bottom-bar .action-item.secondary.data-v-c1cfdb3c{background:#f5f5f5;color:#333;border:1rpx solid #e0e0e0}.return-container .bottom-bar .action-item.secondary.data-v-c1cfdb3c:active{opacity:.8}
@@ -1 +0,0 @@
"use strict";const e=require("../../../common/vendor.js"),o=require("../../../config/user.js"),d={data:()=>({}),async onLoad(d){console.log("bagCheck onLoad option:",d);try{if(e.index.showLoading({title:"处理中...",mask:!0}),!d||!d.deviceNo)throw new Error("未识别到设备编号");const r=d.deviceNo,i=["in_used","waiting_for_payment"],t=await o.checkOrdersByStatus(r,i);if(200===t.code&&t.data&&t.data.length>0){const o=t.data[0];if("in_used"===o.orderStatus)console.log("检测到使用中订单,跳转归还页:",o.orderId),e.index.redirectTo({url:`/pages/device/return?orderId=${o.orderId}`});else if("waiting_for_payment"===o.orderStatus){console.log("检测到待支付订单,跳转支付页:",o.orderId);const d=o.packageTime||60,r=(d/60).toFixed(1),i=o.packagePrice||"0.00",t=(parseFloat(i)/(d/60)).toFixed(2),a=o.depositAmount||"99.00",s=(parseFloat(a)+parseFloat(i)).toFixed(2);e.index.redirectTo({url:`/pages/order/payment?orderId=${o.orderId}&packageTimeHours=${r}&packagePrice=${i}&hourlyRate=${t}&totalAmount=${s}&depositAmount=${a}`})}else console.log("检测到其他状态订单,跳转详情页:",o.orderId),e.index.redirectTo({url:`/pages/device/detail?deviceNo=${r}`})}else console.log("未检测到相关订单,跳转详情页"),e.index.redirectTo({url:`/pages/device/detail?deviceNo=${r}`})}catch(r){r.message&&(r.message.includes("未识别到设备编号")||r.message.includes("网络请求失败")||r.message.includes("服务器错误"))?(console.error("扫码检查订单失败:",r),e.index.showToast({title:r.message||"处理失败,请稍后重试",icon:"none",duration:2e3})):console.log("没有找到符合条件的订单或发生其他错误,直接跳转详情页"),setTimeout((()=>{d&&d.deviceNo?e.index.redirectTo({url:`/pages/device/detail?deviceNo=${d.deviceNo}`}):e.index.switchTab({url:"/pages/index/index"})}),2e3)}finally{e.index.hideLoading()}},methods:{}};const r=e._export_sfc(d,[["render",function(e,o,d,r,i,t){return{}}]]);wx.createPage(r);
@@ -1,4 +0,0 @@
{
"navigationBarTitleText": "共享风扇",
"usingComponents": {}
}
@@ -1 +0,0 @@
<view></view>
-36
View File
@@ -1,36 +0,0 @@
{
"description": "项目配置文件。",
"packOptions": {
"ignore": []
},
"setting": {
"urlCheck": false,
"es6": true,
"postcss": false,
"minified": false,
"newFeature": true,
"bigPackageSizeSupport": true
},
"compileType": "miniprogram",
"libVersion": "",
"appid": "wx2165f0be356ae7a9",
"projectname": "uni-fans-score",
"condition": {
"search": {
"current": -1,
"list": []
},
"conversation": {
"current": -1,
"list": []
},
"game": {
"current": -1,
"list": []
},
"miniprogram": {
"current": -1,
"list": []
}
}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

@@ -1 +0,0 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1751009018822" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7460" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M779.073919 133.586954H667.784787V66.793477C667.784787 29.997071 637.887706 0 600.991309 0H423.008691c-36.796407 0-66.793477 29.997071-66.793478 66.793477v66.793477H244.926081c-36.796407 0-66.793477 29.997071-66.793477 66.793478v756.826091c0 36.796407 29.997071 66.793477 66.793477 66.793477h534.247828c36.796407 0 66.793477-29.997071 66.793477-66.793477v-756.926082c-0.09999-36.796407-29.997071-66.693487-66.893467-66.693487zM400.710868 66.793477c0-12.298799 9.999024-22.297822 22.297823-22.297822h177.982618c12.298799 0 22.297822 9.999024 22.297823 22.297822v64.593692H400.710868V66.793477z m400.660873 890.313056c0 12.298799-9.999024 22.297822-22.297822 22.297822H244.926081c-12.298799 0-22.297822-9.999024-22.297822-22.297822V200.280441c0-12.298799 9.999024-22.297822 22.297822-22.297822h534.247828c12.298799 0 22.297822 9.999024 22.297822 22.297822v756.826092z" fill="#ffffff" p-id="7461"></path><path d="M645.586954 489.652182H378.413046c-12.198809 0-22.297822 9.999024-22.297823 22.297823 0 12.198809 9.999024 22.297822 22.297823 22.297822h267.073918c12.198809 0 22.297822-9.999024 22.297823-22.297822 0-12.198809-9.999024-22.297822-22.197833-22.297823zM645.586954 667.734792H378.413046c-12.198809 0-22.297822 9.999024-22.297823 22.297822s9.999024 22.297822 22.297823 22.297822h267.073918c12.198809 0 22.297822-9.999024 22.297823-22.297822s-9.999024-22.297822-22.197833-22.297822zM645.586954 845.817401H378.413046c-12.198809 0-22.297822 9.999024-22.297823 22.297822s9.999024 22.297822 22.297823 22.297823h267.073918c12.198809 0 22.297822-9.999024 22.297823-22.297823s-9.999024-22.297822-22.197833-22.297822zM645.586954 311.669564H378.413046c-12.198809 0-22.297822 9.999024-22.297823 22.297822 0 12.198809 9.999024 22.297822 22.297823 22.297822h267.073918c12.198809 0 22.297822-9.999024 22.297823-22.297822s-9.999024-22.297822-22.197833-22.297822z" fill="#ffffff" p-id="7462"></path></svg>

Before

Width:  |  Height:  |  Size: 2.2 KiB

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="#1677FF" d="M23.8535534,15.1464466 C24.0488155,15.3417088 24.0488155,15.6582912 23.8535534,15.8535534 L15.8535534,23.8535534 C15.6582912,24.0488155 15.3417088,24.0488155 15.1464466,23.8535534 L0.146446609,8.85355339 C-0.0488155365,8.65829124 -0.0488155365,8.34170876 0.146446609,8.14644661 L8.14644661,0.146446609 C8.34170876,-0.0488155365 8.65829124,-0.0488155365 8.85355339,0.146446609 L23.8535534,15.1464466 Z M17.0355339,17.0355339 L19.0355339,15.0355339 L15.0355339,11.0355339 L13.0355339,13.0355339 L17.0355339,17.0355339 Z M11.0355339,15.0355339 L13.0355339,17.0355339 L9.03553391,21.0355339 L7.03553391,19.0355339 L11.0355339,15.0355339 Z M9.03553391,9.03553391 L11.0355339,11.0355339 L7.03553391,15.0355339 L5.03553391,13.0355339 L9.03553391,9.03553391 Z M3.03553391,11.0355339 L5.03553391,13.0355339 L3.03553391,15.0355339 L1.03553391,13.0355339 L3.03553391,11.0355339 Z M13.0355339,7.03553391 L15.0355339,9.03553391 L11.0355339,13.0355339 L9.03553391,11.0355339 L13.0355339,7.03553391 Z M17.0355339,3.03553391 L19.0355339,5.03553391 L15.0355339,9.03553391 L13.0355339,7.03553391 L17.0355339,3.03553391 Z M21.0355339,7.03553391 L23.0355339,9.03553391 L19.0355339,13.0355339 L17.0355339,11.0355339 L21.0355339,7.03553391 Z"/></svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

@@ -1 +0,0 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1751008766607" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5409" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M512 427.023m-90 0a90 90 0 1 0 180 0 90 90 0 1 0-180 0Z" fill="#ffffff" p-id="5410"></path><path d="M512 910.402c-19.14 0-37.482-5.854-53.042-16.929-14.063-10.01-24.926-23.596-31.589-39.46L255.043 585.177l-0.154-0.25C225.522 537.209 210 482.605 210 427.021c0-80.667 31.414-156.506 88.454-213.546S431.333 125.021 512 125.021s156.506 31.414 213.546 88.454C782.587 270.515 814 346.354 814 427.021c0 55.849-15.655 110.671-45.274 158.539l-0.264 0.419-172.081 268.716c-6.755 15.726-17.66 29.176-31.704 39.055-15.485 10.895-33.7 16.652-52.677 16.652zM309.246 551.141l175.494 273.78 1.194 3.197c4.149 11.107 14.381 18.284 26.066 18.284 11.584 0 21.791-7.071 26.004-18.015l1.165-3.028L714.43 551.678C737.701 513.983 750 470.884 750 427.021c0-63.572-24.756-123.339-69.709-168.292-44.952-44.951-104.719-69.708-168.291-69.708s-123.339 24.756-168.292 69.708S274 363.449 274 427.021c0 43.64 12.186 86.552 35.246 124.12z" fill="#ffffff" p-id="5411"></path></svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

@@ -1 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="#07C160" d="M9.82727273,24 C9.82727273,24 9.82727273,24 9.82727273,24 L9.82727273,24 C7.41773163,24 4.95318182,23.5318182 4.95318182,23.5318182 C4.95318182,23.5318182 3,23.1136364 1.5,22.2272727 C1.5,22.2272727 0.954545455,22.0863636 1.04318182,21.5454545 C1.13181818,21.0045455 1.36363636,20.25 1.36363636,20.25 L2.25,17.7272727 C0.409090909,16.0227273 0,14.0454545 0,12.8181818 C0,8.45454545 4.90909091,4.90909091 9.82727273,4.90909091 C13.7454545,4.90909091 17.1818182,7.10454545 18.5454545,10.2272727 C19.0909091,10.1318182 19.6363636,10.0909091 20.1818182,10.0909091 C24.5454545,10.0909091 28.0909091,13.1818182 28.0909091,16.9090909 C28.0909091,18.8181818 26.7272727,20.5909091 24.7272727,21.7272727 L25.3636364,23.5909091 C25.3636364,23.5909091 25.5,24.0454545 25.5909091,24.4090909 C25.6818182,24.7727273 25.3636364,24.9545455 25.3636364,24.9545455 C24.2727273,25.6363636 22.7272727,26.0454545 22.7272727,26.0454545 C22.7272727,26.0454545 20.7272727,26.4545455 18.7272727,26.4545455 C16.7272727,26.4545455 14.7272727,26.0454545 14.7272727,26.0454545 C13.6363636,25.7727273 12.5454545,25.4090909 11.5454545,24.9545455 C10.9090909,24.6818182 10.3636364,24.3636364 9.82727273,24 Z M6.13636364,11.3181818 C5.04545455,11.3181818 4.18181818,12.1818182 4.18181818,13.2727273 C4.18181818,14.3636364 5.04545455,15.2272727 6.13636364,15.2272727 C7.22727273,15.2272727 8.09090909,14.3636364 8.09090909,13.2727273 C8.09090909,12.1818182 7.22727273,11.3181818 6.13636364,11.3181818 Z M13.5,11.3181818 C12.4090909,11.3181818 11.5454545,12.1818182 11.5454545,13.2727273 C11.5454545,14.3636364 12.4090909,15.2272727 13.5,15.2272727 C14.5909091,15.2272727 15.4545455,14.3636364 15.4545455,13.2727273 C15.4545455,12.1818182 14.5909091,11.3181818 13.5,11.3181818 Z M20.1818182,16.5 C19.0909091,16.5 18.2272727,17.3636364 18.2272727,18.4545455 C18.2272727,19.5454545 19.0909091,20.4090909 20.1818182,20.4090909 C21.2727273,20.4090909 22.1363636,19.5454545 22.1363636,18.4545455 C22.1363636,17.3636364 21.2727273,16.5 20.1818182,16.5 Z M25.5,16.5 C24.4090909,16.5 23.5454545,17.3636364 23.5454545,18.4545455 C23.5454545,19.5454545 24.4090909,20.4090909 25.5,20.4090909 C26.5909091,20.4090909 27.4545455,19.5454545 27.4545455,18.4545455 C27.4545455,17.3636364 26.5909091,16.5 25.5,16.5 Z"/></svg>

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

-1
View File
@@ -1 +0,0 @@
"use strict";const e=require("../common/vendor.js"),r=require("../config/user.js"),o=require("../config/url.js");exports.getQueryString=function(e,r){var o=new RegExp("(^|&|/?)"+r+"=([^&|/?]*)(&|/?|$)","i"),n=e.substr(1).match(o);return null!=n?n[2]:null},exports.getUserInfo=()=>new Promise((async(e,o)=>{e(await r.getMyIndexInfo({isHide:!1}))})),exports.getUserPhoneNumber=r=>new Promise((async(n,t)=>{try{const s=e.index.getStorageSync("token");if(!s)return void t(new Error("用户未登录"));console.log("开始请求获取手机号,code=",r,"请求地址=",o.URL+"/app/user/getPhoneNumber"),e.index.request({url:o.URL+"/app/user/getPhoneNumber",method:"POST",header:{Authorization:"Bearer "+s,clientId:e.index.getStorageSync("client_id"),"Content-Type":"application/json"},data:{code:r,appid:o.appid},success:e=>{console.log("请求获取手机号接口成功,原始响应:",JSON.stringify(e)),200===e.statusCode?e.data?n(e.data):t(new Error("服务器返回空数据")):t(new Error(`HTTP错误: ${e.statusCode}`))},fail:e=>{console.error("请求获取手机号接口网络错误:",e),t(new Error("请求获取手机号接口失败: "+(e.errMsg||JSON.stringify(e))))}})}catch(s){console.error("获取手机号过程中出现异常:",s),t(new Error("获取手机号异常: "+(s.message||JSON.stringify(s))))}})),exports.initiateWeChatScorePayment=r=>new Promise(((o,n)=>{r&&r.data&&r.data.package?e.wx$1.openBusinessView({businessType:"wxpayScoreUse",extraData:{mch_id:r.data.mch_id,package:r.data.package},success:e=>{"openBusinessView:ok"===e.errMsg?o(e):n(new Error("支付流程未完成"))},fail:r=>{console.error("微信支付分小程序调用失败",r),e.index.showToast({title:r.errMsg||"支付分接口调用失败",icon:"none"}),n(r)}}):n(new Error("支付参数不完整"))})),exports.wxLogin=()=>new Promise(((o,n)=>{e.index.login({provider:"weixin",success:async t=>{try{if(!t.code)throw new Error("获取微信登录凭证失败");{const n=await r.login({code:t.code,appid:"wx2165f0be356ae7a9"});if(200!==n.code)throw new Error(n.message||"登录失败");e.index.setStorageSync("token",n.data.LoginWxVo.access_token),e.index.setStorageSync("client_id",n.data.LoginWxVo.client_id),o(n.data)}}catch(s){e.index.showToast({title:s.message||"登录失败",icon:"none"}),n(s)}},fail:r=>{e.index.showToast({title:"微信登录失败",icon:"none"}),n(r)}})}));
File diff suppressed because one or more lines are too long
-1
View File
@@ -1 +0,0 @@
"use strict";const e=require("../common/vendor.js"),t=require("../config/user.js");const r=new class{constructor(){this.activeOrders=new Map,this.timer=null,this.checkInterval=1e4,this.isRunning=!1,this.currentPage=null}addOrder(e,t="return"){e&&e.orderId?(console.log(`添加订单到监控队列: ${e.orderId}, 页面: ${t}`),this.activeOrders.set(e.orderId,{...e,pageName:t}),this.isRunning||this.start()):console.error("添加订单监控失败:无效的订单数据")}removeOrder(e){if(e){if(e.orderId&&this.activeOrders.has(e.orderId))console.log("从监控队列移除订单:",e.orderId),this.activeOrders.delete(e.orderId);else if(e.pageName){console.log("从监控队列移除页面相关订单:",e.pageName);for(const[t,r]of this.activeOrders.entries())r.pageName===e.pageName&&this.activeOrders.delete(t)}0===this.activeOrders.size&&this.stop()}}setActivePage(e){this.currentPage=e,console.log("设置当前活跃页面:",e)}start(){this.isRunning||(console.log("启动订单监控服务"),this.isRunning=!0,this.checkOrders(),this.timer=setInterval((()=>{this.checkOrders()}),this.checkInterval))}stop(){this.isRunning&&(console.log("停止订单监控服务"),this.isRunning=!1,this.timer&&(clearInterval(this.timer),this.timer=null))}async checkOrders(){if(0!==this.activeOrders.size){console.log(`检查 ${this.activeOrders.size} 个活跃订单状态, 当前页面: ${this.currentPage}`);for(const[t,r]of this.activeOrders.entries())try{r.pageName&&"return"!==r.pageName||"return"!==this.currentPage&&null!==this.currentPage||await this.checkOrderStatus(t)}catch(e){}}}async checkOrderStatus(r){try{const s=new Date;console.log(`检查订单 ${r} 的状态`);const i=await t.queryById(r);if(200===i.code&&i.data){const t=i.data,o=this.activeOrders.get(r),n=o?o.pageName:null;if(this.activeOrders.set(r,{...t,pageName:n}),"used_done"===t.orderStatus||"used_down"===t.orderStatus){console.log(`订单 ${r} 已完成!`);let i=!0;if(t.endTime){const e=new Date(t.endTime),o=Math.abs(s-e)/6e4;o>3&&(console.log(`订单 ${r} 完成时间与当前时间相差${o.toFixed(2)}分钟,超过3分钟,不进行提醒`),i=!1)}i&&(e.index.$emit("orderCompleted",t),e.index.showToast({title:"风扇归还成功",icon:"success",duration:2e3}),setTimeout((()=>{e.index.showModal({title:"归还成功",content:"风扇已归还成功,剩余押金将退还到您的账户",confirmText:"查看详情",success:t=>{t.confirm&&e.index.redirectTo({url:`/pages/order/return-success?orderId=${r}`})}})}),500)),this.removeOrder({orderId:r})}}}catch(s){console.error(`检查订单 ${r} 状态出错:`,s)}}};e.index.onAppRoute((e=>{const t=e.path||"",s=t.split("/"),i=s[s.length-1];r.setActivePage(i||null),console.log("页面切换:",t,"当前活跃页面:",i)}));(()=>{const t=e.index.getStorageSync("activeOrderId");if(t){const e={orderId:t};r.addOrder(e,"return")}})(),exports.orderMonitor=r;
-15
View File
@@ -1,15 +0,0 @@
{
"hash": "1aab2153",
"configHash": "d5af41b4",
"lockfileHash": "78df9316",
"browserHash": "506545f1",
"optimized": {
"uview-ui": {
"src": "../../../../../node_modules/uview-ui/index.js",
"file": "uview-ui.js",
"fileHash": "4f573264",
"needsInterop": false
}
},
"chunks": {}
}
-3
View File
@@ -1,3 +0,0 @@
{
"type": "module"
}
File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More