project:强制覆盖代码,更新.gitignore文件内容

This commit is contained in:
2025-09-16 17:23:51 +08:00
parent ab9a7279f5
commit 5ad77a857c
97 changed files with 2295 additions and 1751 deletions
+1 -1
View File
@@ -1 +1 @@
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./common/vendor.js"),n=require("./util/index.js"),e=require("./utils/orderMonitor.js");Math;const t={onLaunch:function(){console.log("App Launch")},onShow:async function(){console.log("App Show"),await this.autoLogin()},onHide:function(){console.log("App Hide")},methods:{async autoLogin(){try{await n.wxLogin()}catch(o){console.error("自动登录失败:",o)}}}};function r(){const n=o.createSSRApp(t);return n.config.globalProperties.$orderMonitor=e.orderMonitor,{app:n}}r().app.mount("#app"),exports.createApp=r;
"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;
+4 -2
View File
@@ -5,14 +5,16 @@
"pages/deposit/index",
"pages/order/index",
"pages/order/payment",
"pages/order/details",
"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/order/return-success",
"pages/expressReturn/index",
"pages/expressReturn/detail"
],
"window": {
"navigationBarTextStyle": "black",
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1 +1 @@
"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()}})}));
"use strict";const e=require("../common/vendor.js"),a=require("./url.js");exports.request=d=>new Promise(((t,o)=>{d.hideLoading||e.index.showLoading({title:d.loadingText||"加载中...",mask:!0}),e.index.request({url:a.URL+d.url,method:d.method,data:d.data,header:{"Content-Type":"application/json",...d.headers,appid:a.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),d.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(`请求失败: ${d.url}`,e),o(e)},complete(){d.hideLoading||e.index.hideLoading()}})}));
+1 -1
View File
@@ -1 +1 @@
"use strict";const e=require("./http.js");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.updateOrderPackage=r=>(console.log("更新订单套餐信息:",r),e.request({url:"/app/device/updateOrderPackage",method:"post",data:r})),exports.updateUserBalance=r=>e.request({url:`/app/user/updateBalance/${r}`,method:"post",hideLoading:!0}),exports.withdrawDeposit=r=>(console.log("调用提现API,订单号:",r),e.request({url:`/app/withdraw/add/${r}`,method:"get",hideLoading:!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.updateOrderPackage=r=>(console.log("更新订单套餐信息:",r),e.request({url:"/app/device/updateOrderPackage",method:"post",data:r})),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});
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1 +1 @@
<view class="container data-v-f998093e"><view class="device-header data-v-f998093e"><view class="{{['device-status-card', 'data-v-f998093e', b]}}"><view class="status-indicator data-v-f998093e"></view><text class="status-text data-v-f998093e">{{a}}</text></view><view class="device-title data-v-f998093e"><text class="name data-v-f998093e">共享风扇</text><view class="device-meta data-v-f998093e"><text class="id-label data-v-f998093e">设备号:</text><text class="id-value data-v-f998093e">{{c}}</text></view></view></view><view class="card device-info-card data-v-f998093e"><view class="card-row data-v-f998093e"><view class="card-item data-v-f998093e"><view class="item-icon location-icon data-v-f998093e"><image class="data-v-f998093e" src="{{d}}" mode="aspectFill" style="width:45rpx;height:45rpx"></image></view><view class="item-content data-v-f998093e"><text class="item-label data-v-f998093e">当前位置</text><text class="item-value data-v-f998093e">{{e}}</text></view></view></view></view><view class="card pricing-card data-v-f998093e"><view class="card-header data-v-f998093e"><text class="card-title data-v-f998093e">计费规则</text></view><view class="pricing-banner data-v-f998093e"><view class="pricing-main data-v-f998093e"><text class="price data-v-f998093e">¥{{f}}</text><text class="unit data-v-f998093e">/小时</text></view><text class="cap-price data-v-f998093e">封顶 ¥{{g}}</text></view><view class="pricing-rules data-v-f998093e"><view class="rule-item data-v-f998093e"><view class="rule-dot data-v-f998093e"></view><text class="rule-text data-v-f998093e">不足60分钟按60分钟计费</text></view><view class="rule-item data-v-f998093e"><view class="rule-dot data-v-f998093e"></view><text class="rule-text data-v-f998093e">持续计费至99元视为买断</text></view></view></view><view class="card notice-card data-v-f998093e"><view class="card-header data-v-f998093e"><text class="card-title data-v-f998093e">使用须知</text></view><view class="notice-items data-v-f998093e"><view class="notice-item data-v-f998093e"><view class="notice-dot data-v-f998093e"></view><text class="notice-text data-v-f998093e">请在使用前检查设备是否完好</text></view><view class="notice-item data-v-f998093e"><view class="notice-dot data-v-f998093e"></view><text class="notice-text data-v-f998093e">请在指定区域内使用设备</text></view><view class="notice-item data-v-f998093e"><view class="notice-dot data-v-f998093e"></view><text class="notice-text data-v-f998093e">归还时请确保设备完好,避免损坏</text></view></view></view><view class="footer data-v-f998093e"><button class="{{['rent-button', 'data-v-f998093e', i && 'return-button']}}" bindtap="{{j}}"><text class="data-v-f998093e">{{h}}</text></button><view class="wechat-credit data-v-f998093e"><image src="{{k}}" mode="aspectFit" class="wx-icon data-v-f998093e"></image><view class="credit-text data-v-f998093e"><text class="data-v-f998093e">微信支付分</text><text class="credit-divider data-v-f998093e">|</text><text class="credit-score data-v-f998093e">550分及以上优享</text></view></view></view><view wx:if="{{l}}" class="phone-auth-popup data-v-f998093e"><view class="popup-mask data-v-f998093e" catchtap="{{m}}"></view><view class="popup-content data-v-f998093e"><view class="popup-header data-v-f998093e"><text class="popup-title data-v-f998093e">授权获取手机号</text></view><view class="popup-body data-v-f998093e"><view class="auth-desc data-v-f998093e"><text class="data-v-f998093e">为了提供更好的服务,需要授权获取您的手机号</text></view><button class="auth-btn data-v-f998093e" open-type="getPhoneNumber" bindgetphonenumber="{{n}}"> 一键获取手机号 </button><view class="auth-cancel data-v-f998093e" bindtap="{{o}}"><text class="data-v-f998093e">暂不授权</text></view></view></view></view></view>
<view class="container data-v-23b2f720"><view class="device-header data-v-23b2f720"><view class="{{['device-status-card', 'data-v-23b2f720', b]}}"><view class="status-indicator data-v-23b2f720"></view><text class="status-text data-v-23b2f720">{{a}}</text></view><view class="device-title data-v-23b2f720"><text class="name data-v-23b2f720">共享风扇</text><view class="device-meta data-v-23b2f720"><text class="id-label data-v-23b2f720">设备号:</text><text class="id-value data-v-23b2f720">{{c}}</text></view></view></view><view class="card device-info-card data-v-23b2f720"><view class="card-row data-v-23b2f720"><view class="card-item data-v-23b2f720"><view class="item-icon location-icon data-v-23b2f720"><image class="data-v-23b2f720" src="{{d}}" mode="aspectFill" style="width:45rpx;height:45rpx"></image></view><view class="item-content data-v-23b2f720"><text class="item-label data-v-23b2f720">当前位置</text><text class="item-value data-v-23b2f720">{{e}}</text></view></view></view></view><view class="card pricing-card data-v-23b2f720"><view class="card-header data-v-23b2f720"><text class="card-title data-v-23b2f720">计费规则</text></view><view class="pricing-banner data-v-23b2f720"><view class="pricing-main data-v-23b2f720"><text class="price data-v-23b2f720">¥{{f}}</text><text class="unit data-v-23b2f720">/小时</text></view><text class="cap-price data-v-23b2f720">封顶 ¥{{g}}</text></view><view class="pricing-rules data-v-23b2f720"><view class="rule-item data-v-23b2f720"><view class="rule-dot data-v-23b2f720"></view><text class="rule-text data-v-23b2f720">不足60分钟按60分钟计费</text></view><view class="rule-item data-v-23b2f720"><view class="rule-dot data-v-23b2f720"></view><text class="rule-text data-v-23b2f720">持续计费至99元视为买断</text></view></view></view><view class="card notice-card data-v-23b2f720"><view class="card-header data-v-23b2f720"><text class="card-title data-v-23b2f720">使用须知</text></view><view class="notice-items data-v-23b2f720"><view class="notice-item data-v-23b2f720"><view class="notice-dot data-v-23b2f720"></view><text class="notice-text data-v-23b2f720">请在使用前检查设备是否完好</text></view><view class="notice-item data-v-23b2f720"><view class="notice-dot data-v-23b2f720"></view><text class="notice-text data-v-23b2f720">请在指定区域内使用设备</text></view><view class="notice-item data-v-23b2f720"><view class="notice-dot data-v-23b2f720"></view><text class="notice-text data-v-23b2f720">归还时请确保设备完好,避免损坏</text></view></view></view><view class="footer data-v-23b2f720"><button class="{{['rent-button', 'data-v-23b2f720', i && 'return-button']}}" bindtap="{{j}}"><text class="data-v-23b2f720">{{h}}</text></button><view class="wechat-credit data-v-23b2f720"><image src="{{k}}" mode="aspectFit" class="wx-icon data-v-23b2f720"></image><view class="credit-text data-v-23b2f720"><text class="data-v-23b2f720">微信支付分</text><text class="credit-divider data-v-23b2f720">|</text><text class="credit-score data-v-23b2f720">550分及以上优享</text></view></view></view><view wx:if="{{l}}" class="phone-auth-popup data-v-23b2f720"><view class="popup-mask data-v-23b2f720" catchtap="{{m}}"></view><view class="popup-content data-v-23b2f720"><view class="popup-header data-v-23b2f720"><text class="popup-title data-v-23b2f720">授权获取手机号</text></view><view class="popup-body data-v-23b2f720"><view class="auth-desc data-v-23b2f720"><text class="data-v-23b2f720">为了提供更好的服务,需要授权获取您的手机号</text></view><button class="auth-btn data-v-23b2f720" open-type="getPhoneNumber" bindgetphonenumber="{{n}}"> 一键获取手机号 </button><view class="auth-cancel data-v-23b2f720" bindtap="{{o}}"><text class="data-v-23b2f720">暂不授权</text></view></view></view></view></view>
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1 +1 @@
"use strict";const e=require("../../common/vendor.js"),t={data:()=>({types:["设备故障","收费问题","使用建议","其他"],selectedType:-1,description:"",images:[],contact:""}),methods:{selectType(e){this.selectedType=e},chooseImage(){e.index.chooseImage({count:3-this.images.length,success:e=>{this.images=[...this.images,...e.tempFilePaths]}})},deleteImage(e){this.images.splice(e,1)},submitFeedback(){if(-1===this.selectedType)return void e.index.showToast({title:"请选择问题类型",icon:"none"});if(!this.description.trim())return void e.index.showToast({title:"请描述您的问题",icon:"none"});if(!this.contact)return void e.index.showToast({title:"请留下联系方式",icon:"none"});const t={type:this.types[this.selectedType],content:this.description,phone:this.contact,images:this.images};e.index.request({url:"/app/feedback/add",method:"POST",data:t,success:t=>{200===t.statusCode?(e.index.showToast({title:"提交成功",icon:"success"}),this.selectedType=-1,this.description="",this.contact="",this.images=[]):e.index.showToast({title:"提交失败",icon:"none"})},fail:()=>{e.index.showToast({title:"提交失败",icon:"none"})}})}}};const s=e._export_sfc(t,[["render",function(t,s,i,o,c,n){return e.e({a:e.f(c.types,((t,s,i)=>({a:e.t(t),b:s,c:c.selectedType===s?1:"",d:e.o((e=>n.selectType(s)),s)}))),b:c.description,c:e.o((e=>c.description=e.detail.value)),d:e.t(c.description.length),e:e.f(c.images,((t,s,i)=>({a:t,b:e.o((e=>n.deleteImage(s)),s),c:s}))),f:c.images.length<3},c.images.length<3?{g:e.o(((...e)=>n.chooseImage&&n.chooseImage(...e)))}:{},{h:c.contact,i:e.o((e=>c.contact=e.detail.value)),j:e.o(((...e)=>n.submitFeedback&&n.submitFeedback(...e)))})}],["__scopeId","data-v-e7b0add7"]]);wx.createPage(s);
"use strict";const e=require("../../common/vendor.js"),a=require("../../config/user.js"),o={__name:"index",setup(o){const t=e.ref(["设备故障","收费问题","使用建议","其他"]),l=e.ref(-1),u=e.ref(""),n=e.ref(""),i=e.ref([]),s=e.ref(""),v=()=>{e.index.chooseImage({count:3-i.value.length,success:e=>{i.value=[...i.value,...e.tempFilePaths]}})},c=async()=>{if(-1===l.value)return void e.index.showToast({title:"请选择问题类型",icon:"none"});if(!n.value.trim())return void e.index.showToast({title:"请描述您的问题",icon:"none"});if(!s.value)return void e.index.showToast({title:"请留下联系方式",icon:"none"});"设备故障"==t.value[l.value]||"收费问题"==t.value[l.value]?u.value="complain":u.value="suggestion";const o={type:u.value,content:n.value,phone:s.value,images:i.value};200==(await a.addUserFeedback(o)).code?e.index.showToast({title:"反馈成功",icon:"success"}):e.index.showToast({title:"反馈失败",icon:"none"})};return(a,o)=>e.e({a:e.f(t.value,((a,o,t)=>({a:e.t(a),b:o,c:l.value===o?1:"",d:e.o((e=>(e=>{l.value=e})(o)),o)}))),b:n.value,c:e.o((e=>n.value=e.detail.value)),d:e.t(n.value.length),e:e.f(i.value,((a,o,t)=>({a:a,b:e.o((e=>(e=>{i.value.splice(e,1)})(o)),o),c:o}))),f:i.value.length<3},i.value.length<3?{g:e.o(v)}:{},{h:s.value,i:e.o((e=>s.value=e.detail.value)),j:e.o(c)})}},t=e._export_sfc(o,[["__scopeId","data-v-e2170816"]]);wx.createPage(t);
+1 -1
View File
@@ -1 +1 @@
<view class="feedback-container data-v-e7b0add7"><view class="type-section data-v-e7b0add7"><view class="section-title data-v-e7b0add7">问题类型</view><view class="type-grid data-v-e7b0add7"><view wx:for="{{a}}" wx:for-item="type" wx:key="b" class="{{['type-item', 'data-v-e7b0add7', type.c && 'active']}}" bindtap="{{type.d}}">{{type.a}}</view></view></view><view class="description-section data-v-e7b0add7"><view class="section-title data-v-e7b0add7">问题描述</view><block wx:if="{{r0}}"><textarea class="description-input data-v-e7b0add7" placeholder="请详细描述您遇到的问题,以便我们更好地为您解决" maxlength="500" value="{{b}}" bindinput="{{c}}"/></block><view class="word-count data-v-e7b0add7">{{d}}/500</view></view><view class="upload-section data-v-e7b0add7"><view class="section-title data-v-e7b0add7">图片上传(选填)</view><view class="upload-grid data-v-e7b0add7"><view wx:for="{{e}}" wx:for-item="img" wx:key="c" class="upload-item data-v-e7b0add7"><image class="data-v-e7b0add7" src="{{img.a}}" mode="aspectFill"/><view class="delete-btn data-v-e7b0add7" bindtap="{{img.b}}">×</view></view><view wx:if="{{f}}" class="upload-btn data-v-e7b0add7" bindtap="{{g}}"><text class="plus data-v-e7b0add7">+</text><text class="tip data-v-e7b0add7">上传图片</text></view></view></view><view class="contact-section data-v-e7b0add7"><view class="section-title data-v-e7b0add7">联系方式</view><input class="contact-input data-v-e7b0add7" placeholder="请留下您的手机号,方便我们联系您" type="number" maxlength="11" value="{{h}}" bindinput="{{i}}"/></view><view class="submit-section data-v-e7b0add7"><button class="submit-btn data-v-e7b0add7" bindtap="{{j}}">提交反馈</button></view></view>
<view class="feedback-container data-v-e2170816"><view class="type-section data-v-e2170816"><view class="section-title data-v-e2170816">问题类型</view><view class="type-grid data-v-e2170816"><view wx:for="{{a}}" wx:for-item="type" wx:key="b" class="{{['type-item', 'data-v-e2170816', type.c && 'active']}}" bindtap="{{type.d}}">{{type.a}}</view></view></view><view class="description-section data-v-e2170816"><view class="section-title data-v-e2170816">问题描述</view><block wx:if="{{r0}}"><textarea class="description-input data-v-e2170816" placeholder="请详细描述您遇到的问题,以便我们更好地为您解决" maxlength="500" value="{{b}}" bindinput="{{c}}"/></block><view class="word-count data-v-e2170816">{{d}}/500</view></view><view class="upload-section data-v-e2170816"><view class="section-title data-v-e2170816">图片上传(选填)</view><view class="upload-grid data-v-e2170816"><view wx:for="{{e}}" wx:for-item="img" wx:key="c" class="upload-item data-v-e2170816"><image class="data-v-e2170816" src="{{img.a}}" mode="aspectFill"/><view class="delete-btn data-v-e2170816" bindtap="{{img.b}}">×</view></view><view wx:if="{{f}}" class="upload-btn data-v-e2170816" bindtap="{{g}}"><text class="plus data-v-e2170816">+</text><text class="tip data-v-e2170816">上传图片</text></view></view></view><view class="contact-section data-v-e2170816"><view class="section-title data-v-e2170816">联系方式</view><input class="contact-input data-v-e2170816" placeholder="请留下您的手机号,方便我们联系您" type="number" maxlength="11" value="{{h}}" bindinput="{{i}}"/></view><view class="submit-section data-v-e2170816"><button class="submit-btn data-v-e2170816" bindtap="{{j}}">提交反馈</button></view></view>
+1 -1
View File
@@ -1 +1 @@
.feedback-container.data-v-e7b0add7{min-height:100vh;background:#f8f8f8;padding:30rpx}.feedback-container .section-title.data-v-e7b0add7{font-size:30rpx;color:#333;font-weight:500;margin-bottom:20rpx}.feedback-container .type-section.data-v-e7b0add7{background:#fff;border-radius:20rpx;padding:30rpx;margin-bottom:20rpx}.feedback-container .type-section .type-grid.data-v-e7b0add7{display:flex;flex-wrap:wrap;margin:0 -10rpx}.feedback-container .type-section .type-grid .type-item.data-v-e7b0add7{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-e7b0add7{background:#e3f2fd;color:#1976d2}.feedback-container .description-section.data-v-e7b0add7{background:#fff;border-radius:20rpx;padding:30rpx;margin-bottom:20rpx}.feedback-container .description-section .description-input.data-v-e7b0add7{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-e7b0add7{text-align:right;font-size:24rpx;color:#999;margin-top:10rpx}.feedback-container .upload-section.data-v-e7b0add7{background:#fff;border-radius:20rpx;padding:30rpx;margin-bottom:20rpx}.feedback-container .upload-section .upload-grid.data-v-e7b0add7{display:flex;flex-wrap:wrap}.feedback-container .upload-section .upload-grid .upload-item.data-v-e7b0add7{width:200rpx;height:200rpx;margin-right:20rpx;margin-bottom:20rpx;position:relative}.feedback-container .upload-section .upload-grid .upload-item image.data-v-e7b0add7{width:100%;height:100%;border-radius:10rpx}.feedback-container .upload-section .upload-grid .upload-item .delete-btn.data-v-e7b0add7{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-e7b0add7{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-e7b0add7{font-size:60rpx;line-height:1;margin-bottom:10rpx}.feedback-container .upload-section .upload-grid .upload-btn .tip.data-v-e7b0add7{font-size:24rpx}.feedback-container .contact-section.data-v-e7b0add7{background:#fff;border-radius:20rpx;padding:30rpx;margin-bottom:40rpx}.feedback-container .contact-section .contact-input.data-v-e7b0add7{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-e7b0add7{padding:0 40rpx}.feedback-container .submit-section .submit-btn.data-v-e7b0add7{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-e7b0add7:active{transform:scale(.98)}
.feedback-container.data-v-e2170816{min-height:100vh;background:#f8f8f8;padding:30rpx}.feedback-container .section-title.data-v-e2170816{font-size:30rpx;color:#333;font-weight:500;margin-bottom:20rpx}.feedback-container .type-section.data-v-e2170816{background:#fff;border-radius:20rpx;padding:30rpx;margin-bottom:20rpx}.feedback-container .type-section .type-grid.data-v-e2170816{display:flex;flex-wrap:wrap;margin:0 -10rpx}.feedback-container .type-section .type-grid .type-item.data-v-e2170816{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-e2170816{background:#e3f2fd;color:#1976d2}.feedback-container .description-section.data-v-e2170816{background:#fff;border-radius:20rpx;padding:30rpx;margin-bottom:20rpx}.feedback-container .description-section .description-input.data-v-e2170816{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-e2170816{text-align:right;font-size:24rpx;color:#999;margin-top:10rpx}.feedback-container .upload-section.data-v-e2170816{background:#fff;border-radius:20rpx;padding:30rpx;margin-bottom:20rpx}.feedback-container .upload-section .upload-grid.data-v-e2170816{display:flex;flex-wrap:wrap}.feedback-container .upload-section .upload-grid .upload-item.data-v-e2170816{width:200rpx;height:200rpx;margin-right:20rpx;margin-bottom:20rpx;position:relative}.feedback-container .upload-section .upload-grid .upload-item image.data-v-e2170816{width:100%;height:100%;border-radius:10rpx}.feedback-container .upload-section .upload-grid .upload-item .delete-btn.data-v-e2170816{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-e2170816{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-e2170816{font-size:60rpx;line-height:1;margin-bottom:10rpx}.feedback-container .upload-section .upload-grid .upload-btn .tip.data-v-e2170816{font-size:24rpx}.feedback-container .contact-section.data-v-e2170816{background:#fff;border-radius:20rpx;padding:30rpx;margin-bottom:40rpx}.feedback-container .contact-section .contact-input.data-v-e2170816{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-e2170816{padding:0 40rpx}.feedback-container .submit-section .submit-btn.data-v-e2170816{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-e2170816:active{transform:scale(.98)}
+1 -1
View File
@@ -1 +1 @@
"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-6fbc3933"]]);wx.createPage(t);
"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);
+1 -1
View File
@@ -1 +1 @@
<view class="profile-container data-v-6fbc3933"><view class="header-section data-v-6fbc3933"><view class="user-profile data-v-6fbc3933" bindtap="{{i}}"><view class="avatar-container data-v-6fbc3933"><image wx:if="{{a}}" class="avatar data-v-6fbc3933" src="{{b}}" mode="aspectFill"></image><image wx:else class="avatar data-v-6fbc3933" src="{{c}}" mode="aspectFill"></image><view wx:if="{{d}}" class="avatar-badge data-v-6fbc3933"></view></view><view wx:if="{{e}}" class="user-details data-v-6fbc3933"><view class="username data-v-6fbc3933">{{f}}</view><view class="user-id data-v-6fbc3933">{{g}}</view></view><view wx:else class="user-details data-v-6fbc3933"><view class="username data-v-6fbc3933">点击登录</view><view class="user-id data-v-6fbc3933">授权登录后享受更多服务</view></view><view class="edit-profile data-v-6fbc3933"><uni-icons wx:if="{{h}}" class="data-v-6fbc3933" u-i="6fbc3933-0" bind:__l="__l" u-p="{{h}}"></uni-icons></view></view></view><view class="balance-card data-v-6fbc3933"><view class="balance-info data-v-6fbc3933"><view class="balance-label data-v-6fbc3933">押金余额</view><view class="balance-amount data-v-6fbc3933">¥{{j}}</view></view><view class="action-button data-v-6fbc3933" bindtap="{{k}}"><text class="data-v-6fbc3933">提现</text></view></view><view class="function-list data-v-6fbc3933"><view class="function-item data-v-6fbc3933" bindtap="{{n}}"><view class="item-left data-v-6fbc3933"><view class="item-icon data-v-6fbc3933"><image class="data-v-6fbc3933" src="{{l}}" mode="aspectFit"></image></view><text class="item-title data-v-6fbc3933">订单中心</text></view><view class="item-right data-v-6fbc3933"><uni-icons wx:if="{{m}}" class="data-v-6fbc3933" u-i="6fbc3933-1" bind:__l="__l" u-p="{{m}}"></uni-icons></view></view><view class="function-item data-v-6fbc3933" bindtap="{{q}}"><view class="item-left data-v-6fbc3933"><view class="item-icon data-v-6fbc3933"><image class="data-v-6fbc3933" src="{{o}}" mode="aspectFit"></image></view><text class="item-title data-v-6fbc3933">投诉建议</text></view><view class="item-right data-v-6fbc3933"><uni-icons wx:if="{{p}}" class="data-v-6fbc3933" u-i="6fbc3933-2" bind:__l="__l" u-p="{{p}}"></uni-icons></view></view><view class="function-item data-v-6fbc3933" bindtap="{{t}}"><view class="item-left data-v-6fbc3933"><view class="item-icon data-v-6fbc3933"><image class="data-v-6fbc3933" src="{{r}}" mode="aspectFit"></image></view><text class="item-title data-v-6fbc3933">帮助中心</text></view><view class="item-right data-v-6fbc3933"><uni-icons wx:if="{{s}}" class="data-v-6fbc3933" u-i="6fbc3933-3" bind:__l="__l" u-p="{{s}}"></uni-icons></view></view></view></view>
<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 -1
View File
@@ -1 +1 @@
.profile-container.data-v-6fbc3933{min-height:100vh;background-color:#f5f7fa;padding-bottom:env(safe-area-inset-bottom)}.header-section.data-v-6fbc3933{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-6fbc3933{display:flex;align-items:center;padding:20rpx 0}.avatar-container.data-v-6fbc3933{position:relative;margin-right:30rpx}.avatar.data-v-6fbc3933{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-6fbc3933{position:absolute;bottom:0;right:0;width:36rpx;height:36rpx;border-radius:18rpx;background-color:#ff9500;border:4rpx solid white}.user-details.data-v-6fbc3933{flex:1}.username.data-v-6fbc3933{font-size:36rpx;font-weight:600;color:#fff;margin-bottom:8rpx}.user-id.data-v-6fbc3933{font-size:26rpx;color:rgba(255,255,255,.8)}.edit-profile.data-v-6fbc3933{background-color:rgba(255,255,255,.2);padding:10rpx;border-radius:50%}.balance-card.data-v-6fbc3933{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-6fbc3933{font-size:28rpx;color:#666;margin-bottom:10rpx}.balance-amount.data-v-6fbc3933{font-size:48rpx;font-weight:600;color:#4facfe}.action-button.data-v-6fbc3933{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-6fbc3933:active{opacity:.9;transform:scale(.98)}.action-button text.data-v-6fbc3933{margin-right:10rpx}.function-list.data-v-6fbc3933{margin:30rpx;background:#fff;border-radius:20rpx;overflow:hidden;box-shadow:0 6rpx 16rpx rgba(0,0,0,.04)}.function-item.data-v-6fbc3933{display:flex;justify-content:space-between;align-items:center;padding:32rpx 30rpx;border-bottom:1rpx solid #f0f0f0}.function-item.data-v-6fbc3933:last-child{border-bottom:none}.function-item.data-v-6fbc3933:active{background-color:#f9f9f9}.item-left.data-v-6fbc3933{display:flex;align-items:center}.item-icon.data-v-6fbc3933{width:48rpx;height:48rpx;margin-right:24rpx;display:flex;align-items:center;justify-content:center}.item-icon image.data-v-6fbc3933{width:40rpx;height:40rpx}.item-title.data-v-6fbc3933{font-size:30rpx;color:#333;font-weight:500}.item-right.data-v-6fbc3933{display:flex;align-items:center}.auth-popup.data-v-6fbc3933{background-color:#fff;width:100%;padding:40rpx;border-radius:15rpx}.auth-title.data-v-6fbc3933{font-size:34rpx;font-weight:600;color:#333;text-align:center;margin-bottom:20rpx}.auth-desc.data-v-6fbc3933{font-size:28rpx;color:#666;text-align:center;margin-bottom:40rpx}.auth-buttons.data-v-6fbc3933{display:flex;justify-content:space-between}.cancel-btn.data-v-6fbc3933,.confirm-btn.data-v-6fbc3933{width:240rpx;height:80rpx;line-height:80rpx;text-align:center;border-radius:40rpx;font-size:28rpx}.cancel-btn.data-v-6fbc3933:after,.confirm-btn.data-v-6fbc3933:after{border:none}.cancel-btn.data-v-6fbc3933{background-color:#f0f0f0;color:#666}.confirm-btn.data-v-6fbc3933{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff}
.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"),a=require("../../common/assets.js"),t=require("../../config/user.js"),r={__name:"details",setup(r){const n=e.ref(""),u=e.ref({}),o=e.computed((()=>{switch(u.value.orderStatus){case"waiting_for_payment":return"待支付";case"in_used":default:return"使用中";case"used_done":return"已完成";case"order_cancelled":return"已取消"}}));e.onLoad((async a=>{a&&a.orderId?(n.value=a.orderId,await i()):(e.index.showToast({title:"订单信息不存在",icon:"none"}),setTimeout((()=>{e.index.navigateBack()}),1500))}));const i=async()=>{try{e.index.showLoading({title:"加载中"});const a=await t.queryById(n.value);if(200!==a.code||!a.data)throw new Error("获取订单详情失败");u.value=a.data,u.value.createTime&&(u.value.createTime=d(new Date(u.value.createTime))),u.value.startTime&&(u.value.startTime=d(new Date(u.value.startTime))),u.value.endTime&&(u.value.endTime=d(new Date(u.value.endTime))),e.index.hideLoading()}catch(a){e.index.hideLoading(),e.index.showToast({title:a.message||"获取订单详情失败",icon:"none"})}},d=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")}`,l=e=>{if(!e)return"";const a=parseInt(e);if(a<60)return`${a}分钟`;{const e=Math.floor(a/60),t=a%60;return t>0?`${e}小时${t}分钟`:`${e}小时`}};return(t,r)=>e.e({a:e.t(o.value),b:e.t(u.value.orderNo||"-"),c:e.t(u.value.deviceNo||"-"),d:"wx_score_pay"===u.value.payWay},"wx_score_pay"===u.value.payWay?{e:a._imports_0$3}:("wx_member_pay"===u.value.payWay||u.value.payWay,{}),{f:"wx_member_pay"===u.value.payWay,g:"wx_pay"===u.value.payWay,h:e.t(u.value.startTime||"-"),i:u.value.endTime},u.value.endTime?{j:e.t(u.value.endTime)}:{},{k:u.value.phone},u.value.phone?{l:e.t(u.value.phone)}:{},{m:u.value.depositAmount},u.value.depositAmount?{n:e.t(u.value.depositAmount)}:{},{o:u.value.packageTime&&u.value.packagePrice},u.value.packageTime&&u.value.packagePrice?{p:e.t(u.value.packagePrice),q:e.t(l(u.value.packageTime))}:{},{r:e.t(u.value.payAmount||0)})}},n=e._export_sfc(r,[["__scopeId","data-v-d8a382d6"]]);wx.createPage(n);
@@ -1,6 +0,0 @@
{
"navigationBarTitleText": "订单详情",
"navigationBarBackgroundColor": "#ffffff",
"navigationBarTextStyle": "black",
"usingComponents": {}
}
@@ -1 +0,0 @@
<view class="return-container data-v-d8a382d6"><view class="order-card data-v-d8a382d6"><view class="order-header data-v-d8a382d6"><text class="title data-v-d8a382d6">{{a}}</text><text class="order-no data-v-d8a382d6">订单号:{{b}}</text></view><view class="device-info data-v-d8a382d6"><view class="device-left data-v-d8a382d6"><view class="device-name data-v-d8a382d6">共享风扇</view><view class="device-id data-v-d8a382d6">设备号:{{c}}</view></view><view class="device-right data-v-d8a382d6"><view wx:if="{{d}}" class="payment-badge wx-score data-v-d8a382d6"><image src="{{e}}" mode="aspectFit" class="badge-icon data-v-d8a382d6"></image><view class="badge-text data-v-d8a382d6"><text class="data-v-d8a382d6">微信支付分</text><text class="divider data-v-d8a382d6">|</text><text class="highlight data-v-d8a382d6">免押租借</text></view></view><view wx:elif="{{f}}" class="payment-badge member data-v-d8a382d6"><text class="badge-text data-v-d8a382d6">会员订单</text></view><view wx:elif="{{g}}" class="payment-badge deposit data-v-d8a382d6"><text class="badge-text data-v-d8a382d6">押金租借</text></view></view></view><view class="time-info data-v-d8a382d6"><view class="time-item data-v-d8a382d6"><text class="label data-v-d8a382d6">开始时间</text><text class="value data-v-d8a382d6">{{h}}</text></view><view wx:if="{{i}}" class="time-item data-v-d8a382d6"><text class="label data-v-d8a382d6">结束时间</text><text class="value data-v-d8a382d6">{{j}}</text></view><view wx:if="{{k}}" class="time-item data-v-d8a382d6"><text class="label data-v-d8a382d6">联系电话</text><text class="value data-v-d8a382d6">{{l}}</text></view></view></view><view class="notice-card data-v-d8a382d6"><view class="notice-title data-v-d8a382d6">费用信息</view><view class="notice-list data-v-d8a382d6"><view wx:if="{{m}}" class="notice-item data-v-d8a382d6"><view class="dot data-v-d8a382d6"></view><text class="data-v-d8a382d6">押金:¥{{n}}</text></view><view wx:if="{{o}}" class="notice-item data-v-d8a382d6"><view class="dot data-v-d8a382d6"></view><text class="data-v-d8a382d6">套餐:¥{{p}}元 / {{q}}</text></view><view class="notice-item data-v-d8a382d6"><view class="dot data-v-d8a382d6"></view><text class="data-v-d8a382d6">合计:¥{{r}}</text></view></view></view></view>
@@ -1 +0,0 @@
.return-container.data-v-d8a382d6{min-height:100vh;background:#f7f8fa;padding:30rpx 30rpx 180rpx;box-sizing:border-box}.return-container .order-card.data-v-d8a382d6{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-d8a382d6{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-d8a382d6{font-size:30rpx;font-weight:700;color:#333}.return-container .order-card .order-header .order-no.data-v-d8a382d6{font-size:24rpx;color:#999}.return-container .order-card .device-info.data-v-d8a382d6{margin-bottom:24rpx;display:flex;justify-content:space-between;align-items:flex-start}.return-container .order-card .device-info .device-left.data-v-d8a382d6{flex:1;margin-right:20rpx}.return-container .order-card .device-info .device-left .device-name.data-v-d8a382d6{font-size:32rpx;font-weight:500;color:#333;margin-bottom:8rpx}.return-container .order-card .device-info .device-left .device-id.data-v-d8a382d6{font-size:26rpx;color:#999;margin-bottom:0}.return-container .order-card .device-info .device-right .payment-badge.data-v-d8a382d6{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-d8a382d6{background:rgba(7,193,96,.08)}.return-container .order-card .device-info .device-right .payment-badge.wx-score .badge-icon.data-v-d8a382d6{width:32rpx;height:26rpx;margin-right:8rpx}.return-container .order-card .device-info .device-right .payment-badge.wx-score .badge-text.data-v-d8a382d6{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-d8a382d6{margin:0 6rpx}.return-container .order-card .device-info .device-right .payment-badge.wx-score .badge-text .highlight.data-v-d8a382d6{font-weight:500}.return-container .order-card .device-info .device-right .payment-badge.member.data-v-d8a382d6{background:rgba(25,118,210,.08)}.return-container .order-card .device-info .device-right .payment-badge.member .badge-text.data-v-d8a382d6{font-size:22rpx;color:#1976d2;font-weight:500}.return-container .order-card .device-info .device-right .payment-badge.deposit.data-v-d8a382d6{background:#f5f5f5}.return-container .order-card .device-info .device-right .payment-badge.deposit .badge-text.data-v-d8a382d6{font-size:22rpx;color:#666;font-weight:500}.return-container .order-card .time-info.data-v-d8a382d6{background:#f9f9f9;border-radius:16rpx;padding:20rpx}.return-container .order-card .time-info .time-item.data-v-d8a382d6{display:flex;justify-content:space-between;align-items:center;margin-bottom:16rpx}.return-container .order-card .time-info .time-item.data-v-d8a382d6:last-child{margin-bottom:0}.return-container .order-card .time-info .time-item .label.data-v-d8a382d6{font-size:26rpx;color:#666}.return-container .order-card .time-info .time-item .value.data-v-d8a382d6{font-size:26rpx;color:#333}.return-container .order-card .time-info .time-item .value.highlight.data-v-d8a382d6{color:#ff6b6b;font-weight:700}.return-container .notice-card.data-v-d8a382d6{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-d8a382d6{font-size:30rpx;font-weight:700;color:#333;margin-bottom:20rpx}.return-container .notice-card .notice-list .notice-item.data-v-d8a382d6{display:flex;align-items:flex-start;margin-bottom:16rpx}.return-container .notice-card .notice-list .notice-item.data-v-d8a382d6:last-child{margin-bottom:0}.return-container .notice-card .notice-list .notice-item .dot.data-v-d8a382d6{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-d8a382d6{font-size:26rpx;color:#666;line-height:1.5}.return-container .bottom-bar.data-v-d8a382d6{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-d8a382d6{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-d8a382d6{background:#07c160;color:#fff}.return-container .bottom-bar .action-item.primary.data-v-d8a382d6:active{opacity:.8}.return-container .bottom-bar .action-item.secondary.data-v-d8a382d6{background:#f5f5f5;color:#333;border:1rpx solid #e0e0e0}.return-container .bottom-bar .action-item.secondary.data-v-d8a382d6:active{opacity:.8}
+1 -1
View File
@@ -1 +1 @@
"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/order/details?orderId=${t.orderId||t.orderNo}`})})(r)),n),s:n})}))})}},o=e._export_sfc(r,[["__scopeId","data-v-ccb8ba5b"]]);wx.createPage(o);
"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);
+1 -1
View File
@@ -1 +1 @@
<view class="order-container data-v-ccb8ba5b"><view class="status-tabs data-v-ccb8ba5b"><view wx:for="{{a}}" wx:for-item="tab" wx:key="b" class="{{['tab-item', 'data-v-ccb8ba5b', tab.c && 'active']}}" bindtap="{{tab.d}}">{{tab.a}}</view></view><view class="order-list data-v-ccb8ba5b"><view wx:if="{{b}}" class="empty-state data-v-ccb8ba5b"><view class="empty-icon data-v-ccb8ba5b"></view><text class="empty-text data-v-ccb8ba5b">暂无订单记录</text></view><view wx:for="{{c}}" wx:for-item="order" wx:key="s" class="order-item data-v-ccb8ba5b"><view class="order-header data-v-ccb8ba5b"><view class="order-id data-v-ccb8ba5b"><text class="data-v-ccb8ba5b">订单号:{{order.a}}</text></view><view class="{{['order-status', 'data-v-ccb8ba5b', order.c]}}">{{order.b}}</view></view><view class="order-body data-v-ccb8ba5b"><view class="device-info data-v-ccb8ba5b"><view class="device-left data-v-ccb8ba5b"><view class="device-name data-v-ccb8ba5b">共享风扇</view><view class="device-id data-v-ccb8ba5b">设备号:{{order.d}}</view></view><view class="device-right data-v-ccb8ba5b"><view wx:if="{{order.e}}" class="payment-badge wx-score data-v-ccb8ba5b"><image src="{{order.f}}" mode="aspectFit" class="badge-icon data-v-ccb8ba5b"></image><view class="badge-text data-v-ccb8ba5b"><text class="data-v-ccb8ba5b">微信支付分</text><text class="divider data-v-ccb8ba5b">|</text><text class="highlight data-v-ccb8ba5b">免押租借</text></view></view><view wx:elif="{{order.g}}" class="payment-badge member data-v-ccb8ba5b"><text class="badge-text data-v-ccb8ba5b">会员订单</text></view><view wx:elif="{{order.h}}" class="payment-badge deposit data-v-ccb8ba5b"><text class="badge-text data-v-ccb8ba5b">押金租借</text></view></view></view><view class="order-times data-v-ccb8ba5b"><view class="time-row data-v-ccb8ba5b"><text class="time-label data-v-ccb8ba5b">开始时间:</text><text class="time-value data-v-ccb8ba5b">{{order.i}}</text></view><view class="time-row data-v-ccb8ba5b"><text class="time-label data-v-ccb8ba5b">结束时间:</text><text class="time-value data-v-ccb8ba5b">{{order.j}}</text></view></view></view><view class="order-footer data-v-ccb8ba5b"><view class="price data-v-ccb8ba5b">¥{{order.k}}</view><view class="actions data-v-ccb8ba5b"><view wx:if="{{order.l}}" class="action-item primary data-v-ccb8ba5b" bindtap="{{order.m}}"> 立即支付 </view><view wx:if="{{order.n}}" class="action-item secondary data-v-ccb8ba5b" bindtap="{{order.o}}"> 取消订单 </view><view wx:if="{{order.p}}" class="action-item primary data-v-ccb8ba5b" bindtap="{{order.q}}"> 归还设备 </view><view class="action-item secondary data-v-ccb8ba5b" bindtap="{{order.r}}"> 查看详情 </view></view></view></view></view></view>
<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
@@ -1 +1 @@
"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-ef3c1c80"]]);wx.createPage(n);
"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 +1 @@
<view class="success-container data-v-ef3c1c80"><view class="status-card data-v-ef3c1c80"><view class="status-icon success data-v-ef3c1c80"></view><view class="status-text data-v-ef3c1c80">归还成功</view><view class="status-desc data-v-ef3c1c80">您的风扇已归还,费用已从押金中扣除</view></view><view class="order-card data-v-ef3c1c80"><view class="card-title data-v-ef3c1c80">订单信息</view><view class="info-item data-v-ef3c1c80"><text class="label data-v-ef3c1c80">订单号</text><text class="value data-v-ef3c1c80">{{a}}</text></view><view class="info-item data-v-ef3c1c80"><text class="label data-v-ef3c1c80">设备号</text><text class="value data-v-ef3c1c80">{{b}}</text></view><view class="info-item data-v-ef3c1c80"><text class="label data-v-ef3c1c80">使用时长</text><text class="value data-v-ef3c1c80">{{c}}</text></view><view class="info-item data-v-ef3c1c80"><text class="label data-v-ef3c1c80">套餐时长</text><text class="value data-v-ef3c1c80">{{d}}</text></view><view class="info-item data-v-ef3c1c80"><text class="label data-v-ef3c1c80">超出时长</text><text class="value data-v-ef3c1c80">{{e}}</text></view><view class="info-item data-v-ef3c1c80"><text class="label data-v-ef3c1c80">归还时间</text><text class="value data-v-ef3c1c80">{{f}}</text></view></view><view class="refund-card data-v-ef3c1c80"><view class="card-title data-v-ef3c1c80">费用信息</view><view class="info-item data-v-ef3c1c80"><text class="label data-v-ef3c1c80">套餐费用</text><text class="value data-v-ef3c1c80">¥{{g}}</text></view><view class="info-item data-v-ef3c1c80"><text class="label data-v-ef3c1c80">超时费用</text><text class="value data-v-ef3c1c80">¥{{h}}</text></view><view class="info-item data-v-ef3c1c80"><text class="label data-v-ef3c1c80">总费用</text><text class="value data-v-ef3c1c80">¥{{i}}</text></view><view class="info-item data-v-ef3c1c80"><text class="label data-v-ef3c1c80">押金</text><text class="value data-v-ef3c1c80">¥{{j}}</text></view><view class="info-item data-v-ef3c1c80"><text class="label data-v-ef3c1c80">退还金额</text><text class="value highlight data-v-ef3c1c80">¥{{k}}</text></view><view class="info-item data-v-ef3c1c80"><text class="label data-v-ef3c1c80">退还状态</text><text class="{{['value', 'data-v-ef3c1c80', m]}}">{{l}}</text></view></view><view class="notice-card data-v-ef3c1c80"><view class="card-title data-v-ef3c1c80">退款说明</view><view class="notice-content data-v-ef3c1c80"><text class="data-v-ef3c1c80">1. 押金剩余金额需要您手动申请提现</text><text class="data-v-ef3c1c80">2. 提现申请提交后将在1-3个工作日内退还到原支付账户</text><text class="data-v-ef3c1c80">3. 如有疑问,请联系客服</text></view></view><view class="button-group data-v-ef3c1c80"><button wx:if="{{n}}" class="primary-btn data-v-ef3c1c80" bindtap="{{o}}">申请退款</button><button class="primary-btn data-v-ef3c1c80" bindtap="{{p}}">返回首页</button></view></view>
<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 +1 @@
.success-container.data-v-ef3c1c80{padding:20px;background-color:#f8f8f8;min-height:100vh}.status-card.data-v-ef3c1c80{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-ef3c1c80{width:60px;height:60px;margin:0 auto 16px}.status-card .status-icon.success.data-v-ef3c1c80{background-color:#07c160;border-radius:50%;position:relative}.status-card .status-icon.success.data-v-ef3c1c80: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-ef3c1c80{font-size:24px;font-weight:700;color:#07c160;margin-bottom:8px}.status-card .status-desc.data-v-ef3c1c80{font-size:14px;color:#666}.order-card.data-v-ef3c1c80,.refund-card.data-v-ef3c1c80{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-ef3c1c80,.refund-card .card-title.data-v-ef3c1c80{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-ef3c1c80,.refund-card .info-item.data-v-ef3c1c80{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.order-card .info-item.data-v-ef3c1c80:last-child,.refund-card .info-item.data-v-ef3c1c80:last-child{margin-bottom:0}.order-card .info-item .label.data-v-ef3c1c80,.refund-card .info-item .label.data-v-ef3c1c80{color:#666;font-size:14px}.order-card .info-item .value.data-v-ef3c1c80,.refund-card .info-item .value.data-v-ef3c1c80{color:#333;font-size:14px}.order-card .info-item .value.highlight.data-v-ef3c1c80,.refund-card .info-item .value.highlight.data-v-ef3c1c80{color:#ff6b00;font-weight:700;font-size:16px}.order-card .info-item .value.success.data-v-ef3c1c80,.refund-card .info-item .value.success.data-v-ef3c1c80{color:#07c160}.button-group.data-v-ef3c1c80{margin-top:40rpx;display:flex;justify-content:center;gap:20rpx}.button-group .primary-btn.data-v-ef3c1c80,.button-group .secondary-btn.data-v-ef3c1c80{width:50%;height:88rpx;line-height:88rpx;border-radius:44rpx;text-align:center;font-size:32rpx}.button-group .primary-btn.data-v-ef3c1c80{background:#07c160;color:#fff}.button-group .primary-btn.data-v-ef3c1c80:active{opacity:.8}.button-group .secondary-btn.data-v-ef3c1c80{background:#f0f0f0;color:#333}.button-group .secondary-btn.data-v-ef3c1c80:active{opacity:.8}.notice-card.data-v-ef3c1c80{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-ef3c1c80{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-ef3c1c80{text-align:left;color:#666;font-size:14px}.waiting.data-v-ef3c1c80{color:#fa0;font-weight:700}
.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 -1
View File
@@ -1 +1 @@
"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-333e92b6"]]);wx.createPage(i);
"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 -1
View File
@@ -1 +1 @@
<view class="success-container data-v-333e92b6"><view class="status-card data-v-333e92b6"><view class="status-icon success data-v-333e92b6"></view><view class="status-text data-v-333e92b6">支付成功</view><view class="status-desc data-v-333e92b6">您的订单已支付成功</view></view><view class="order-card data-v-333e92b6"><view class="card-title data-v-333e92b6">订单信息</view><view class="info-item data-v-333e92b6"><text class="label data-v-333e92b6">订单号</text><text class="value data-v-333e92b6">{{a}}</text></view><view class="info-item data-v-333e92b6"><text class="label data-v-333e92b6">设备号</text><text class="value data-v-333e92b6">{{b}}</text></view><view class="info-item data-v-333e92b6"><text class="label data-v-333e92b6">支付金额</text><text class="value data-v-333e92b6">¥{{c}}</text></view><view class="info-item data-v-333e92b6"><text class="label data-v-333e92b6">支付时间</text><text class="value data-v-333e92b6">{{d}}</text></view></view><view class="device-status data-v-333e92b6"><view class="status-message data-v-333e92b6">{{e}}</view><view wx:if="{{f}}" class="loading-animation data-v-333e92b6"><view class="loading-circle data-v-333e92b6"></view></view></view><view class="button-group data-v-333e92b6"><button class="primary-btn data-v-333e92b6" bindtap="{{g}}">返回首页</button><button class="secondary-btn data-v-333e92b6" bindtap="{{h}}">查看订单</button></view></view>
<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 -1
View File
@@ -1 +1 @@
.success-container.data-v-333e92b6{padding:20px;background-color:#f5f5f5;min-height:100vh}.status-card.data-v-333e92b6{background-color:#fff;border-radius:12px;padding:30px;text-align:center;margin-bottom:20px}.status-card .status-icon.data-v-333e92b6{width:60px;height:60px;margin:0 auto 16px;background-color:#07c160;border-radius:50%;position:relative}.status-card .status-icon.data-v-333e92b6: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-333e92b6{font-size:24px;font-weight:700;color:#07c160;margin-bottom:8px}.status-card .status-desc.data-v-333e92b6{font-size:14px;color:#666}.order-card.data-v-333e92b6{background-color:#fff;border-radius:12px;padding:20px;margin-bottom:20px}.order-card .card-title.data-v-333e92b6{font-size:16px;font-weight:700;margin-bottom:16px;color:#333}.order-card .info-item.data-v-333e92b6{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.order-card .info-item .label.data-v-333e92b6{color:#666;font-size:14px}.order-card .info-item .value.data-v-333e92b6{color:#333;font-size:14px}.device-status.data-v-333e92b6{background-color:#fff;border-radius:12px;padding:20px;margin-bottom:20px;text-align:center}.device-status .status-message.data-v-333e92b6{font-size:16px;color:#333;margin-bottom:12px}.device-status .loading-animation.data-v-333e92b6{display:flex;justify-content:center;align-items:center;height:40px}.device-status .loading-animation .loading-circle.data-v-333e92b6{width:30px;height:30px;border-radius:50%;border:3px solid #f0f0f0;border-top-color:#07c160;animation:spin-333e92b6 1s linear infinite}@keyframes spin-333e92b6{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.button-group.data-v-333e92b6{margin-top:30px;display:flex;flex-direction:column;gap:16px}.button-group .primary-btn.data-v-333e92b6{background-color:#07c160;color:#fff;border:none;border-radius:24px;padding:12px;font-size:16px}.button-group .primary-btn.data-v-333e92b6:active{opacity:.8}.button-group .secondary-btn.data-v-333e92b6{background-color:#fff;color:#07c160;border:1px solid #07c160;border-radius:24px;padding:12px;font-size:16px}.button-group .secondary-btn.data-v-333e92b6:active{background-color:#f5f5f5}
.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 -1
View File
@@ -1 +1 @@
<view class="return-container data-v-30d62b50"><view class="order-card data-v-30d62b50"><view class="order-header data-v-30d62b50"><text class="title data-v-30d62b50">{{a}}</text><text class="order-no data-v-30d62b50">订单号:{{b}}</text></view><view class="device-info data-v-30d62b50"><view class="device-left data-v-30d62b50"><view class="device-name data-v-30d62b50">共享风扇</view><view class="device-id data-v-30d62b50">设备号:{{c}}</view></view><view class="device-right data-v-30d62b50"><view wx:if="{{d}}" class="payment-badge wx-score data-v-30d62b50"><image src="{{e}}" mode="aspectFit" class="badge-icon data-v-30d62b50"></image><view class="badge-text data-v-30d62b50"><text class="data-v-30d62b50">微信支付分</text><text class="divider data-v-30d62b50">|</text><text class="highlight data-v-30d62b50">免押租借</text></view></view><view wx:else class="payment-badge deposit data-v-30d62b50"><text class="badge-text data-v-30d62b50">押金租借</text></view></view></view><view class="time-info data-v-30d62b50"><view class="time-item data-v-30d62b50"><text class="label data-v-30d62b50">开始时间</text><text class="value data-v-30d62b50">{{f}}</text></view><view class="time-item data-v-30d62b50"><text class="label data-v-30d62b50">已使用时长</text><text class="value highlight data-v-30d62b50">{{g}}</text></view><view class="time-item data-v-30d62b50"><text class="label data-v-30d62b50">当前费用</text><text class="value data-v-30d62b50">¥{{h}}</text></view></view><view wx:if="{{false}}" class="debug-info data-v-30d62b50"><view class="debug-title data-v-30d62b50">调试信息</view><view class="debug-item data-v-30d62b50">原始开始时间: {{i}}</view><view class="debug-item data-v-30d62b50">处理后开始时间: {{j}}</view><view class="debug-item data-v-30d62b50">订单状态: {{k}}</view></view></view><view class="notice-card data-v-30d62b50"><view class="notice-title data-v-30d62b50">归还说明</view><view class="notice-list data-v-30d62b50"><view class="notice-item data-v-30d62b50"><view class="dot data-v-30d62b50"></view><text class="data-v-30d62b50">请确保设备完好无损</text></view><view class="notice-item data-v-30d62b50"><view class="dot data-v-30d62b50"></view><text class="data-v-30d62b50">将风扇插入原位置或空闲插口</text></view><view class="notice-item data-v-30d62b50"><view class="dot data-v-30d62b50"></view><text class="data-v-30d62b50">系统将自动检测归还并处理退款</text></view><view class="notice-item data-v-30d62b50"><view class="dot data-v-30d62b50"></view><text class="data-v-30d62b50">归还成功后将自动跳转到成功页面</text></view></view></view><view class="bottom-bar data-v-30d62b50"><view class="action-item secondary data-v-30d62b50" bindtap="{{l}}">刷新状态</view><view class="action-item primary data-v-30d62b50" bindtap="{{m}}">返回首页</view></view></view>
<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 -1
View File
@@ -1 +1 @@
.return-container.data-v-30d62b50{min-height:100vh;background:#f7f8fa;padding:30rpx 30rpx 180rpx;box-sizing:border-box}.return-container .order-card.data-v-30d62b50{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-30d62b50{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-30d62b50{font-size:30rpx;font-weight:700;color:#333}.return-container .order-card .order-header .order-no.data-v-30d62b50{font-size:24rpx;color:#999}.return-container .order-card .device-info.data-v-30d62b50{margin-bottom:24rpx;display:flex;justify-content:space-between;align-items:flex-start}.return-container .order-card .device-info .device-left.data-v-30d62b50{flex:1;margin-right:20rpx}.return-container .order-card .device-info .device-left .device-name.data-v-30d62b50{font-size:32rpx;font-weight:500;color:#333;margin-bottom:8rpx}.return-container .order-card .device-info .device-left .device-id.data-v-30d62b50{font-size:26rpx;color:#999;margin-bottom:0}.return-container .order-card .device-info .device-right .payment-badge.data-v-30d62b50{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-30d62b50{background:rgba(7,193,96,.08)}.return-container .order-card .device-info .device-right .payment-badge.wx-score .badge-icon.data-v-30d62b50{width:32rpx;height:26rpx;margin-right:8rpx}.return-container .order-card .device-info .device-right .payment-badge.wx-score .badge-text.data-v-30d62b50{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-30d62b50{margin:0 6rpx}.return-container .order-card .device-info .device-right .payment-badge.wx-score .badge-text .highlight.data-v-30d62b50{font-weight:500}.return-container .order-card .device-info .device-right .payment-badge.deposit.data-v-30d62b50{background:#f5f5f5}.return-container .order-card .device-info .device-right .payment-badge.deposit .badge-text.data-v-30d62b50{font-size:22rpx;color:#666;font-weight:500}.return-container .order-card .time-info.data-v-30d62b50{background:#f9f9f9;border-radius:16rpx;padding:20rpx}.return-container .order-card .time-info .time-item.data-v-30d62b50{display:flex;justify-content:space-between;align-items:center;margin-bottom:16rpx}.return-container .order-card .time-info .time-item.data-v-30d62b50:last-child{margin-bottom:0}.return-container .order-card .time-info .time-item .label.data-v-30d62b50{font-size:26rpx;color:#666}.return-container .order-card .time-info .time-item .value.data-v-30d62b50{font-size:26rpx;color:#333}.return-container .order-card .time-info .time-item .value.highlight.data-v-30d62b50{color:#ff6b6b;font-weight:700}.return-container .notice-card.data-v-30d62b50{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-30d62b50{font-size:30rpx;font-weight:700;color:#333;margin-bottom:20rpx}.return-container .notice-card .notice-list .notice-item.data-v-30d62b50{display:flex;align-items:flex-start;margin-bottom:16rpx}.return-container .notice-card .notice-list .notice-item.data-v-30d62b50:last-child{margin-bottom:0}.return-container .notice-card .notice-list .notice-item .dot.data-v-30d62b50{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-30d62b50{font-size:26rpx;color:#666;line-height:1.5}.return-container .bottom-bar.data-v-30d62b50{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-30d62b50{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-30d62b50{background:#07c160;color:#fff}.return-container .bottom-bar .action-item.primary.data-v-30d62b50:active{opacity:.8}.return-container .bottom-bar .action-item.secondary.data-v-30d62b50{background:#f5f5f5;color:#333;border:1rpx solid #e0e0e0}.return-container .bottom-bar .action-item.secondary.data-v-30d62b50:active{opacity:.8}
.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 -1
View File
@@ -1 +1 @@
"use strict";const e=require("../common/vendor.js"),r=require("../config/user.js");const t=new class{constructor(){this.activeOrders=new Map,this.timer=null,this.checkInterval=1e4,this.isRunning=!1,this.currentPage=null}addOrder(e,r="return"){e&&e.orderId?(console.log(`添加订单到监控队列: ${e.orderId}, 页面: ${r}`),this.activeOrders.set(e.orderId,{...e,pageName:r}),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[r,t]of this.activeOrders.entries())t.pageName===e.pageName&&this.activeOrders.delete(r)}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[r,t]of this.activeOrders.entries())try{t.pageName&&"return"!==t.pageName||"return"!==this.currentPage&&null!==this.currentPage||await this.checkOrderStatus(r)}catch(e){}}}async checkOrderStatus(t){try{console.log(`检查订单 ${t} 的状态`);const s=await r.queryById(t);if(200===s.code&&s.data){const r=s.data,i=this.activeOrders.get(t),o=i?i.pageName:null;if(this.activeOrders.set(t,{...r,pageName:o}),"used_done"===r.orderStatus||"used_down"===r.orderStatus){console.log(`订单 ${t} 已完成!`),e.index.$emit("orderCompleted",r),e.index.showToast({title:"风扇归还成功",icon:"success",duration:2e3});const s=e.index.createInnerAudioContext();s.src="/static/audio/return_success.mp3",s.play(),this.removeOrder({orderId:t}),setTimeout((()=>{e.index.showModal({title:"归还成功",content:"风扇已归还成功,剩余押金将退还到您的账户",confirmText:"查看详情",success:r=>{r.confirm&&e.index.redirectTo({url:`/pages/order/return-success?orderId=${t}`})}})}),500)}}}catch(s){console.error(`检查订单 ${t} 状态出错:`,s)}}};e.index.onAppRoute((e=>{const r=e.path||"",s=r.split("/"),i=s[s.length-1];t.setActivePage(i||null),console.log("页面切换:",r,"当前活跃页面:",i)}));(()=>{const r=e.index.getStorageSync("activeOrderId");if(r){const e={orderId:r};t.addOrder(e,"return")}})(),exports.orderMonitor=t;
"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;