feat:更改小程序id由7a9替换为271

This commit is contained in:
2025-07-07 08:56:17 +08:00
parent 3d69baf72d
commit 309963755d
72 changed files with 1116 additions and 106 deletions
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"app.js","sources":["App.vue","main.js"],"sourcesContent":["<script>\r\n\timport {\r\n\t\twxLogin,\r\n\t\tgetUserInfo\r\n\t} from './util/index'\r\n\r\n\r\n\texport default {\r\n\t\tonLaunch: function() {\r\n\t\t\tconsole.log('App Launch')\r\n\t\t\t\r\n\t\t},\r\n\t\tonShow: async function() {\r\n\t\t\tconsole.log('App Show')\r\n\t\t\tawait this.autoLogin()\r\n\r\n\t\t},\r\n\t\tonHide: function() {\r\n\t\t\tconsole.log('App Hide')\r\n\t\t},\r\n\r\n\r\n\r\n\t\tmethods: {\r\n\t\t\tasync autoLogin() {\r\n\t\t\t\ttry {\r\n\t\t\t\t\tconst loginResult = await wxLogin()\r\n\t\t\t\t\tconsole.log('自动登录成功:', loginResult)\r\n\t\t\t\t\t// await getUserInfo()\r\n\t\t\t\t} catch (error) {\r\n\t\t\t\t\tconsole.error('自动登录失败:', error)\r\n\t\t\t\t\t// 登录失败的处理可以在 wxLogin 中统一处理\r\n\t\t\t\t\t// 这里可以添加特殊的错误处理逻辑\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style lang=\"scss\">\r\n\t@import \"uview-ui/index.scss\"\r\n\r\n\t/*每个页面公共css */\r\n</style>","import App from './App'\r\nimport { orderMonitor } from './utils/orderMonitor.js'\r\n\r\nimport uView from \"uview-ui\";\r\n\r\n\r\n// #ifndef VUE3\r\nimport Vue from 'vue'\r\nimport './uni.promisify.adaptor'\r\nVue.config.productionTip = false\r\n\r\n// 注册全局订单监控服务\r\nVue.prototype.$orderMonitor = orderMonitor\r\n\r\nApp.mpType = 'app'\r\nVue.use(uView)\r\nconst app = new Vue({\r\n ...App\r\n})\r\napp.$mount()\r\n// #endif\r\n\r\n// #ifdef VUE3\r\nimport { createSSRApp } from 'vue'\r\nexport function createApp() {\r\n const app = createSSRApp(App)\r\n \r\n // 注册全局订单监控服务到VUE3\r\n app.config.globalProperties.$orderMonitor = orderMonitor\r\n \r\n return {\r\n app\r\n }\r\n}\r\n// #endif"],"names":["uni","wxLogin","createSSRApp","App","orderMonitor"],"mappings":";;;;;;;;;;;;;;;;;;;AAOC,MAAK,YAAU;AAAA,EACd,UAAU,WAAW;AACpBA,kBAAAA,MAAA,MAAA,OAAA,iBAAY,YAAY;AAAA,EAExB;AAAA,EACD,QAAQ,iBAAiB;AACxBA,kBAAAA,MAAY,MAAA,OAAA,iBAAA,UAAU;AACtB,UAAM,KAAK,UAAU;AAAA,EAErB;AAAA,EACD,QAAQ,WAAW;AAClBA,kBAAAA,MAAY,MAAA,OAAA,iBAAA,UAAU;AAAA,EACtB;AAAA,EAID,SAAS;AAAA,IACR,MAAM,YAAY;AACjB,UAAI;AACH,cAAM,cAAc,MAAMC,mBAAQ;AAClCD,sBAAAA,MAAY,MAAA,OAAA,iBAAA,WAAW,WAAW;AAAA,MAEjC,SAAO,OAAO;AACfA,sBAAAA,sCAAc,WAAW,KAAK;AAAA,MAG/B;AAAA,IACD;AAAA,EACD;AACD;ACZM,SAAS,YAAY;AAC1B,QAAM,MAAME,cAAY,aAACC,SAAG;AAG5B,MAAI,OAAO,iBAAiB,gBAAgBC,mBAAY;AAExD,SAAO;AAAA,IACL;AAAA,EACD;AACH;;;"}
{"version":3,"file":"app.js","sources":["App.vue","main.js"],"sourcesContent":["<script>\r\n\timport {\r\n\t\twxLogin,\r\n\t\tgetUserInfo\r\n\t} from './util/index'\r\n\r\n\r\n\texport default {\r\n\t\tonLaunch: function() {\r\n\t\t\tconsole.log('App Launch')\r\n\t\t\t\r\n\t\t},\r\n\t\tonShow: async function() {\r\n\t\t\tconsole.log('App Show')\r\n\t\t\tawait this.autoLogin()\r\n\r\n\t\t},\r\n\t\tonHide: function() {\r\n\t\t\tconsole.log('App Hide')\r\n\t\t},\r\n\r\n\r\n\r\n\t\tmethods: {\r\n\t\t\tasync autoLogin() {\r\n\t\t\t\ttry {\r\n\t\t\t\t\tconst loginResult = await wxLogin()\r\n\t\t\t\t\tconsole.log('自动登录成功:', loginResult)\r\n\t\t\t\t\t// await getUserInfo()\r\n\t\t\t\t} catch (error) {\r\n\t\t\t\t\tconsole.error('自动登录失败:', error)\r\n\t\t\t\t\t// 登录失败的处理可以在 wxLogin 中统一处理\r\n\t\t\t\t\t// 这里可以添加特殊的错误处理逻辑\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style lang=\"scss\">\r\n\t@import \"uview-ui/index.scss\"\r\n\r\n\t/*每个页面公共css */\r\n</style>","import App from './App'\r\nimport { orderMonitor } from './utils/orderMonitor.js'\r\n\r\nimport uView from \"uview-ui\";\r\n\r\n\r\n// #ifndef VUE3\r\nimport Vue from 'vue'\r\nimport './uni.promisify.adaptor'\r\nVue.config.productionTip = false\r\n\r\n// 注册全局订单监控服务\r\nVue.prototype.$orderMonitor = orderMonitor\r\n\r\nApp.mpType = 'app'\r\nVue.use(uView)\r\nconst app = new Vue({\r\n ...App\r\n})\r\napp.$mount()\r\n// #endif\r\n\r\n// #ifdef VUE3\r\nimport { createSSRApp } from 'vue'\r\nexport function createApp() {\r\n const app = createSSRApp(App)\r\n \r\n // 注册全局订单监控服务到VUE3\r\n app.config.globalProperties.$orderMonitor = orderMonitor\r\n \r\n return {\r\n app\r\n }\r\n}\r\n// #endif"],"names":["uni","wxLogin","createSSRApp","App","orderMonitor"],"mappings":";;;;;;;;;;;;;;;;;;;;AAOC,MAAK,YAAU;AAAA,EACd,UAAU,WAAW;AACpBA,kBAAAA,MAAA,MAAA,OAAA,iBAAY,YAAY;AAAA,EAExB;AAAA,EACD,QAAQ,iBAAiB;AACxBA,kBAAAA,MAAY,MAAA,OAAA,iBAAA,UAAU;AACtB,UAAM,KAAK,UAAU;AAAA,EAErB;AAAA,EACD,QAAQ,WAAW;AAClBA,kBAAAA,MAAY,MAAA,OAAA,iBAAA,UAAU;AAAA,EACtB;AAAA,EAID,SAAS;AAAA,IACR,MAAM,YAAY;AACjB,UAAI;AACH,cAAM,cAAc,MAAMC,mBAAQ;AAClCD,sBAAAA,MAAY,MAAA,OAAA,iBAAA,WAAW,WAAW;AAAA,MAEjC,SAAO,OAAO;AACfA,sBAAAA,sCAAc,WAAW,KAAK;AAAA,MAG/B;AAAA,IACD;AAAA,EACD;AACD;ACZM,SAAS,YAAY;AAC1B,QAAM,MAAME,cAAY,aAACC,SAAG;AAG5B,MAAI,OAAO,iBAAiB,gBAAgBC,mBAAY;AAExD,SAAO;AAAA,IACL;AAAA,EACD;AACH;;;"}
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"url.js","sources":["config/url.js"],"sourcesContent":["export const URL = \"https://my.gxfs123.com/api\" //正式服务器\r\n// export const URL = \"https://unifans.gxfs123.com/api\" //测试服务器\r\n// export const URL = \"http://192.168.10.41:8080\" \t\t//本地调试\r\n\r\nexport const appid = \"wx2165f0be356ae7a9\" "],"names":[],"mappings":";AAAY,MAAC,MAAM;AAIP,MAAC,QAAQ;;;"}
{"version":3,"file":"url.js","sources":["config/url.js"],"sourcesContent":["// export const URL = \"https://my.gxfs123.com/api\" //正式服务器\r\nexport const URL = \"https://unifans.gxfs123.com/api\" //测试服务器\r\n// export const URL = \"http://192.168.10.60:8080\" \t\t//本地调试\r\n\r\nexport const appid = \"wxe752f45e7f7aa271\" //小程序appid"],"names":[],"mappings":";AACY,MAAC,MAAM;AAGP,MAAC,QAAQ;;;"}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+1
View File
@@ -9,6 +9,7 @@ if (!Math) {
"./pages/deposit/index.js";
"./pages/order/index.js";
"./pages/order/payment.js";
"./pages/order/details.js";
"./pages/feedback/index.js";
"./pages/help/index.js";
"./pages/device/detail.js";
+1
View File
@@ -5,6 +5,7 @@
"pages/deposit/index",
"pages/order/index",
"pages/order/payment",
"pages/order/details",
"pages/feedback/index",
"pages/help/index",
"pages/device/detail",
+3 -2
View File
@@ -6988,9 +6988,9 @@ function isConsoleWritable() {
return isWritable;
}
function initRuntimeSocketService() {
const hosts = "192.168.1.4,127.0.0.1";
const hosts = "192.168.10.59,127.0.0.1";
const port = "8090";
const id = "mp-weixin_fn9iXa";
const id = "mp-weixin_yxJg9-";
const lazy = typeof swan !== "undefined";
let restoreError = lazy ? () => {
} : initOnError();
@@ -8873,6 +8873,7 @@ const createHook = (lifecycle) => (hook, target = getCurrentInstance()) => {
};
const onLoad = /* @__PURE__ */ createHook(ON_LOAD);
exports._export_sfc = _export_sfc;
exports.computed = computed;
exports.createSSRApp = createSSRApp;
exports.e = e;
exports.f = f;
+2 -2
View File
@@ -1,6 +1,6 @@
"use strict";
const URL = "https://my.gxfs123.com/api";
const appid = "wx2165f0be356ae7a9";
const URL = "https://unifans.gxfs123.com/api";
const appid = "wxe752f45e7f7aa271";
exports.URL = URL;
exports.appid = appid;
//# sourceMappingURL=../../.sourcemap/mp-weixin/config/url.js.map
+9 -1
View File
@@ -56,6 +56,13 @@ const queryById = (id) => {
hideLoading: true
});
};
const cancelOrder = (data) => {
return config_http.request({
url: "/orderInfo/cancelOrder",
method: "get",
data
});
};
const rentPowerBank = (deviceNo, phone) => {
return config_http.request({
url: "/app/device/rentPowerBank",
@@ -64,7 +71,7 @@ const rentPowerBank = (deviceNo, phone) => {
});
};
const confirmPaymentAndRent = (orderId) => {
common_vendor.index.__f__("log", "at config/user.js:120", `确认支付并弹出充电宝, orderId: ${orderId}`);
common_vendor.index.__f__("log", "at config/user.js:120", `确认支付并弹出风扇, orderId: ${orderId}`);
return config_http.request({
url: `/app/device/confirmPaymentAndRent?orderId=${orderId}`,
method: "post"
@@ -108,6 +115,7 @@ const updateUserBalance = (orderId) => {
hideLoading: true
});
};
exports.cancelOrder = cancelOrder;
exports.checkOrdersByStatus = checkOrdersByStatus;
exports.confirmPaymentAndRent = confirmPaymentAndRent;
exports.getDeviceInfo = getDeviceInfo;
+4 -5
View File
@@ -104,7 +104,7 @@ const _sfc_main = {
if (payWay == "wx-pay") {
common_vendor.index.hideLoading();
const res = await config_user.getOrderByOrderNo(order.orderNo);
common_vendor.index.__f__("log", "at pages/device/detail.vue:304", res);
common_vendor.index.__f__("log", "at pages/device/detail.vue:286", res);
try {
let packageTimeMinutes = 0;
if (selectedPkg.time.includes("小时")) {
@@ -120,12 +120,12 @@ const _sfc_main = {
packagePrice: parseFloat(selectedPkg.price)
});
if (updateRes.code !== 200) {
common_vendor.index.__f__("warn", "at pages/device/detail.vue:321", "更新订单套餐信息失败:", updateRes.msg);
common_vendor.index.__f__("warn", "at pages/device/detail.vue:303", "更新订单套餐信息失败:", updateRes.msg);
} else {
common_vendor.index.__f__("log", "at pages/device/detail.vue:324", "订单套餐信息已提前更新");
common_vendor.index.__f__("log", "at pages/device/detail.vue:306", "订单套餐信息已提前更新");
}
} catch (updateError) {
common_vendor.index.__f__("error", "at pages/device/detail.vue:327", "更新订单套餐信息时出错:", updateError);
common_vendor.index.__f__("error", "at pages/device/detail.vue:309", "更新订单套餐信息时出错:", updateError);
}
const deposit = parseFloat(deviceInfo.value.depositAmount);
const packagePrice = parseFloat(selectedPkg.price);
@@ -137,7 +137,6 @@ const _sfc_main = {
} else if ("wx-score-pay") {
common_vendor.index.hideLoading();
const res = await config_user.getOrderByOrderNoScore(order.orderNo);
common_vendor.index.__f__("log", "at pages/device/detail.vue:348", res);
common_vendor.index.hideLoading();
if (res && res.code === 200) {
try {
+230
View File
@@ -0,0 +1,230 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const config_user = require("../../config/user.js");
const _sfc_main = {
__name: "details",
setup(__props) {
const orderId = common_vendor.ref("");
const orderInfo = common_vendor.ref({});
const orderStatusText = common_vendor.computed(() => {
const status = orderInfo.value.orderStatus;
switch (status) {
case "waiting_for_payment":
return "等待支付";
case "in_used":
return "使用中";
case "used_done":
return "已完成";
case "order_cancelled":
return "已取消";
default:
return "未知状态";
}
});
const orderStatusClass = common_vendor.computed(() => {
const status = orderInfo.value.orderStatus;
switch (status) {
case "waiting_for_payment":
return "status-waiting";
case "in_used":
return "status-using";
case "used_done":
return "status-finished";
case "order_cancelled":
return "status-cancelled";
default:
return "";
}
});
const orderStatusDesc = common_vendor.computed(() => {
const status = orderInfo.value.orderStatus;
switch (status) {
case "waiting_for_payment":
return "请在15分钟内完成支付";
case "in_used":
return "设备正在使用中";
case "used_done":
return "感谢您的使用";
case "order_cancelled":
return "该订单已取消";
default:
return "";
}
});
const paymentMethod = common_vendor.computed(() => {
const payWay = orderInfo.value.payWay;
if (payWay === "wx_score_pay") {
return "微信支付分 (免押金)";
} else if (payWay === "wx_pay") {
return "微信支付";
} else {
return "押金支付";
}
});
common_vendor.onLoad(async (options) => {
if (options && options.orderId) {
orderId.value = options.orderId;
await loadOrderDetails();
} else {
common_vendor.index.showToast({
title: "订单信息不存在",
icon: "none"
});
setTimeout(() => {
common_vendor.index.navigateBack();
}, 1500);
}
});
const loadOrderDetails = async () => {
try {
common_vendor.index.showLoading({
title: "加载中"
});
const res = await config_user.queryById(orderId.value);
if (res.code === 200 && res.data) {
orderInfo.value = res.data;
if (orderInfo.value.createTime) {
orderInfo.value.createTime = formatDateTime(new Date(orderInfo.value.createTime));
}
if (orderInfo.value.startTime) {
orderInfo.value.startTime = formatDateTime(new Date(orderInfo.value.startTime));
}
if (orderInfo.value.endTime) {
orderInfo.value.endTime = formatDateTime(new Date(orderInfo.value.endTime));
}
} else {
throw new Error("获取订单详情失败");
}
common_vendor.index.hideLoading();
} catch (error) {
common_vendor.index.hideLoading();
common_vendor.index.showToast({
title: error.message || "获取订单详情失败",
icon: "none"
});
}
};
const formatDateTime = (date) => {
const year = date.getFullYear();
const month = (date.getMonth() + 1).toString().padStart(2, "0");
const day = date.getDate().toString().padStart(2, "0");
const hour = date.getHours().toString().padStart(2, "0");
const minute = date.getMinutes().toString().padStart(2, "0");
return `${year}-${month}-${day} ${hour}:${minute}`;
};
const formatTime = (minutes) => {
if (!minutes)
return "";
const mins = parseInt(minutes);
if (mins < 60) {
return `${mins}分钟`;
} else {
const hours = Math.floor(mins / 60);
const remainingMins = mins % 60;
return remainingMins > 0 ? `${hours}小时${remainingMins}分钟` : `${hours}小时`;
}
};
const handleCancelOrder = () => {
common_vendor.index.showModal({
title: "确认取消",
content: "确定要取消此订单吗?",
success: async (res) => {
if (res.confirm) {
try {
common_vendor.index.showLoading({ title: "处理中" });
const result = await config_user.cancelOrder({
orderId: orderId.value
});
if (result.code === 200) {
common_vendor.index.hideLoading();
common_vendor.index.showToast({
title: "订单已取消",
icon: "success"
});
await loadOrderDetails();
} else {
throw new Error(result.msg || "取消订单失败");
}
} catch (error) {
common_vendor.index.hideLoading();
common_vendor.index.showToast({
title: error.message || "取消订单失败",
icon: "none"
});
}
}
}
});
};
const handlePayment = async () => {
try {
common_vendor.index.showLoading({
title: "处理中"
});
const res = await config_user.confirmPaymentAndRent(orderId.value);
if (res.code === 200) {
common_vendor.index.hideLoading();
common_vendor.index.showToast({
title: "支付成功",
icon: "success"
});
await loadOrderDetails();
} else {
throw new Error(res.msg || "支付失败");
}
} catch (error) {
common_vendor.index.hideLoading();
common_vendor.index.showToast({
title: error.message || "支付失败",
icon: "none"
});
}
};
const navigateToReturn = () => {
common_vendor.index.navigateTo({
url: `/pages/return/index?deviceId=${orderInfo.value.deviceNo}&orderId=${orderId.value}`
});
};
return (_ctx, _cache) => {
return common_vendor.e({
a: common_vendor.n(orderStatusClass.value),
b: common_vendor.t(orderStatusText.value),
c: common_vendor.t(orderStatusDesc.value),
d: common_vendor.t(orderInfo.value.orderNo || "-"),
e: common_vendor.t(orderInfo.value.deviceNo || "-"),
f: common_vendor.t(paymentMethod.value),
g: common_vendor.t(orderInfo.value.createTime || "-"),
h: common_vendor.t(orderInfo.value.startTime || "-"),
i: orderInfo.value.endTime
}, orderInfo.value.endTime ? {
j: common_vendor.t(orderInfo.value.endTime)
} : {}, {
k: orderInfo.value.phone
}, orderInfo.value.phone ? {
l: common_vendor.t(orderInfo.value.phone)
} : {}, {
m: orderInfo.value.depositAmount
}, orderInfo.value.depositAmount ? {
n: common_vendor.t(orderInfo.value.depositAmount)
} : {}, {
o: orderInfo.value.packageTime && orderInfo.value.packagePrice
}, orderInfo.value.packageTime && orderInfo.value.packagePrice ? {
p: common_vendor.t(orderInfo.value.packagePrice),
q: common_vendor.t(formatTime(orderInfo.value.packageTime))
} : {}, {
r: common_vendor.t(orderInfo.value.payAmount || 0),
s: orderInfo.value.orderStatus === "waiting_for_payment"
}, orderInfo.value.orderStatus === "waiting_for_payment" ? {
t: common_vendor.o(handleCancelOrder),
v: common_vendor.o(handlePayment)
} : orderInfo.value.orderStatus === "in_used" ? {
x: common_vendor.o(navigateToReturn)
} : {}, {
w: orderInfo.value.orderStatus === "in_used"
});
};
}
};
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-2b5cbeae"]]);
wx.createPage(MiniProgramPage);
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/order/details.js.map
+6
View File
@@ -0,0 +1,6 @@
{
"navigationBarTitleText": "订单详情",
"navigationBarBackgroundColor": "#ffffff",
"navigationBarTextStyle": "black",
"usingComponents": {}
}
+1
View File
@@ -0,0 +1 @@
<view class="details-container data-v-2b5cbeae"><view class="status-card data-v-2b5cbeae"><view class="{{['status-icon', 'data-v-2b5cbeae', a]}}"></view><view class="status-text data-v-2b5cbeae">{{b}}</view><view class="status-desc data-v-2b5cbeae">{{c}}</view></view><view class="info-card data-v-2b5cbeae"><view class="card-title data-v-2b5cbeae">订单信息</view><view class="info-item data-v-2b5cbeae"><text class="label data-v-2b5cbeae">订单号</text><text class="value data-v-2b5cbeae">{{d}}</text></view><view class="info-item data-v-2b5cbeae"><text class="label data-v-2b5cbeae">设备号</text><text class="value data-v-2b5cbeae">{{e}}</text></view><view class="info-item data-v-2b5cbeae"><text class="label data-v-2b5cbeae">支付方式</text><text class="value data-v-2b5cbeae">{{f}}</text></view><view class="info-item data-v-2b5cbeae"><text class="label data-v-2b5cbeae">创建时间</text><text class="value data-v-2b5cbeae">{{g}}</text></view><view class="info-item data-v-2b5cbeae"><text class="label data-v-2b5cbeae">开始时间</text><text class="value data-v-2b5cbeae">{{h}}</text></view><view wx:if="{{i}}" class="info-item data-v-2b5cbeae"><text class="label data-v-2b5cbeae">结束时间</text><text class="value data-v-2b5cbeae">{{j}}</text></view><view wx:if="{{k}}" class="info-item data-v-2b5cbeae"><text class="label data-v-2b5cbeae">联系电话</text><text class="value data-v-2b5cbeae">{{l}}</text></view></view><view class="info-card data-v-2b5cbeae"><view class="card-title data-v-2b5cbeae">费用信息</view><view wx:if="{{m}}" class="info-item data-v-2b5cbeae"><text class="label data-v-2b5cbeae">押金</text><text class="value data-v-2b5cbeae">¥{{n}}</text></view><view wx:if="{{o}}" class="info-item data-v-2b5cbeae"><text class="label data-v-2b5cbeae">套餐</text><text class="value data-v-2b5cbeae">¥{{p}}元 / {{q}}</text></view><view class="info-item total data-v-2b5cbeae"><text class="label data-v-2b5cbeae">合计</text><text class="value data-v-2b5cbeae">¥{{r}}</text></view></view><view wx:if="{{s}}" class="action-buttons data-v-2b5cbeae"><view class="btn cancel data-v-2b5cbeae" bindtap="{{t}}">取消订单</view><view class="btn primary data-v-2b5cbeae" bindtap="{{v}}">立即支付</view></view><view wx:elif="{{w}}" class="action-buttons data-v-2b5cbeae"><view class="btn primary data-v-2b5cbeae" bindtap="{{x}}">归还设备</view></view></view>
+157
View File
@@ -0,0 +1,157 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
* 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
.details-container.data-v-2b5cbeae {
min-height: 100vh;
background: #f7f8fa;
padding: 30rpx;
padding-bottom: 100rpx;
box-sizing: border-box;
}
.details-container .status-card.data-v-2b5cbeae {
background: #fff;
border-radius: 20rpx;
padding: 40rpx;
display: flex;
flex-direction: column;
align-items: center;
margin-bottom: 30rpx;
box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.04);
}
.details-container .status-card .status-icon.data-v-2b5cbeae {
width: 120rpx;
height: 120rpx;
border-radius: 50%;
margin-bottom: 20rpx;
}
.details-container .status-card .status-icon.status-waiting.data-v-2b5cbeae {
background: #FFF9C4;
}
.details-container .status-card .status-icon.status-using.data-v-2b5cbeae {
background: #E8F5E9;
}
.details-container .status-card .status-icon.status-finished.data-v-2b5cbeae {
background: #E3F2FD;
}
.details-container .status-card .status-icon.status-cancelled.data-v-2b5cbeae {
background: #FFEBEE;
}
.details-container .status-card .status-text.data-v-2b5cbeae {
font-size: 36rpx;
font-weight: 600;
color: #333;
margin-bottom: 10rpx;
}
.details-container .status-card .status-desc.data-v-2b5cbeae {
font-size: 28rpx;
color: #999;
}
.details-container .info-card.data-v-2b5cbeae {
background: #fff;
border-radius: 20rpx;
padding: 30rpx;
margin-bottom: 30rpx;
box-shadow: 0 4rpx 16rpx rgba(0, 0, 0, 0.04);
}
.details-container .info-card .card-title.data-v-2b5cbeae {
font-size: 32rpx;
font-weight: 600;
color: #333;
margin-bottom: 20rpx;
position: relative;
padding-left: 20rpx;
}
.details-container .info-card .card-title.data-v-2b5cbeae::before {
content: "";
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
width: 8rpx;
height: 32rpx;
background: #1976D2;
border-radius: 4rpx;
}
.details-container .info-card .info-item.data-v-2b5cbeae {
display: flex;
justify-content: space-between;
align-items: center;
padding: 20rpx 0;
border-bottom: 1px solid #f5f5f5;
}
.details-container .info-card .info-item.data-v-2b5cbeae:last-child {
border-bottom: none;
}
.details-container .info-card .info-item .label.data-v-2b5cbeae {
font-size: 28rpx;
color: #666;
}
.details-container .info-card .info-item .value.data-v-2b5cbeae {
font-size: 28rpx;
color: #333;
word-break: break-all;
text-align: right;
max-width: 70%;
}
.details-container .info-card .info-item.total.data-v-2b5cbeae {
margin-top: 10rpx;
padding-top: 30rpx;
border-top: 1px solid #f5f5f5;
}
.details-container .info-card .info-item.total .label.data-v-2b5cbeae, .details-container .info-card .info-item.total .value.data-v-2b5cbeae {
font-size: 32rpx;
font-weight: 600;
color: #333;
}
.details-container .info-card .info-item.total .value.data-v-2b5cbeae {
color: #FF5722;
}
.details-container .action-buttons.data-v-2b5cbeae {
display: flex;
justify-content: space-between;
padding: 30rpx 0;
}
.details-container .action-buttons .btn.data-v-2b5cbeae {
flex: 1;
height: 88rpx;
display: flex;
align-items: center;
justify-content: center;
font-size: 32rpx;
font-weight: 500;
border-radius: 44rpx;
}
.details-container .action-buttons .btn.cancel.data-v-2b5cbeae {
background: #f5f5f5;
color: #666;
margin-right: 20rpx;
}
.details-container .action-buttons .btn.primary.data-v-2b5cbeae {
background: #1976D2;
color: #fff;
}
.details-container .action-buttons .btn.data-v-2b5cbeae:active {
opacity: 0.9;
}
+82 -10
View File
@@ -88,7 +88,7 @@ const _sfc_main = {
}
}
} catch (error) {
common_vendor.index.__f__("error", "at pages/order/index.vue:204", "获取订单详情失败:", error);
common_vendor.index.__f__("error", "at pages/order/index.vue:222", "获取订单详情失败:", error);
}
}
await loadOrderList();
@@ -122,7 +122,7 @@ const _sfc_main = {
});
}
} catch (error) {
common_vendor.index.__f__("error", "at pages/order/index.vue:248", "获取订单列表失败:", error);
common_vendor.index.__f__("error", "at pages/order/index.vue:266", "获取订单列表失败:", error);
common_vendor.index.showToast({
title: "获取订单列表失败",
icon: "none"
@@ -147,11 +147,74 @@ const _sfc_main = {
}
};
const navigateToReturn = (deviceId, orderId) => {
common_vendor.index.__f__("log", "at pages/order/index.vue:277", orderId);
common_vendor.index.__f__("log", "at pages/order/index.vue:295", orderId);
common_vendor.index.navigateTo({
url: `/pages/return/index?deviceId=${deviceId}&orderId=${orderId}`
});
};
const navigateToDetails = (order) => {
common_vendor.index.navigateTo({
url: `/pages/order/details?orderId=${order.orderId || order.orderNo}`
});
};
const handlePayment = async (order) => {
try {
common_vendor.index.showLoading({
title: "处理中"
});
const res = await config_user.confirmPaymentAndRent(order.orderId);
if (res.code === 200) {
common_vendor.index.hideLoading();
common_vendor.index.showToast({
title: "支付成功",
icon: "success"
});
await loadOrderList(orderStatusTabs[currentTab.value].status);
} else {
throw new Error(res.msg || "支付失败");
}
} catch (error) {
common_vendor.index.hideLoading();
common_vendor.index.showToast({
title: error.message || "支付失败",
icon: "none"
});
}
};
const handleCancelOrder = async (order) => {
try {
common_vendor.index.showModal({
title: "确认取消",
content: "确定要取消此订单吗?",
success: async (res) => {
if (res.confirm) {
common_vendor.index.showLoading({
title: "处理中"
});
const result = await config_user.cancelOrder({
orderId: order.orderId
});
if (result.code === 200) {
common_vendor.index.hideLoading();
common_vendor.index.showToast({
title: "订单已取消",
icon: "success"
});
await loadOrderList(orderStatusTabs[currentTab.value].status);
} else {
throw new Error(result.msg || "取消订单失败");
}
}
}
});
} catch (error) {
common_vendor.index.hideLoading();
common_vendor.index.showToast({
title: error.message || "取消订单失败",
icon: "none"
});
}
};
return (_ctx, _cache) => {
return common_vendor.e({
a: common_vendor.f(orderStatusTabs, (tab, index, i0) => {
@@ -178,15 +241,24 @@ const _sfc_main = {
g: common_vendor.t(order.startTime),
h: common_vendor.t(order.endTime || "-"),
i: common_vendor.t(order.amount),
j: order.status == "in_used"
}, order.status == "in_used" ? {
k: common_vendor.o(($event) => navigateToReturn(order.deviceId, order.orderId), index)
j: order.status === "waiting_for_payment" || order.orderStatus === "waiting_for_payment"
}, order.status === "waiting_for_payment" || order.orderStatus === "waiting_for_payment" ? {
k: common_vendor.o(($event) => handlePayment(order), index)
} : {}, {
l: order.status === "waiting_for_payment"
}, order.status === "waiting_for_payment" ? {
m: common_vendor.o(($event) => getOrderStatus(order), index)
l: order.status === "waiting_for_payment" || order.orderStatus === "waiting_for_payment"
}, order.status === "waiting_for_payment" || order.orderStatus === "waiting_for_payment" ? {
m: common_vendor.o(($event) => handleCancelOrder(order), index)
} : {}, {
n: index
n: order.status == "in_used" || order.orderStatus == "in_used"
}, order.status == "in_used" || order.orderStatus == "in_used" ? {
o: common_vendor.o(($event) => navigateToReturn(order.deviceId, order.orderId), index)
} : {}, {
p: common_vendor.o(($event) => navigateToDetails(order), index),
q: order.status === "waiting_for_payment" || order.orderStatus === "waiting_for_payment"
}, order.status === "waiting_for_payment" || order.orderStatus === "waiting_for_payment" ? {
r: common_vendor.o(($event) => getOrderStatus(order), index)
} : {}, {
s: index
});
})
});
+1 -1
View File
@@ -1 +1 @@
<view class="order-container data-v-17a44f9d"><view class="status-tabs data-v-17a44f9d"><view wx:for="{{a}}" wx:for-item="tab" wx:key="b" class="{{['tab-item', 'data-v-17a44f9d', tab.c && 'active']}}" bindtap="{{tab.d}}">{{tab.a}}</view></view><view class="order-list data-v-17a44f9d"><view wx:if="{{b}}" class="empty-state data-v-17a44f9d"><view class="empty-icon data-v-17a44f9d"></view><text class="empty-text data-v-17a44f9d">暂无订单记录</text></view><view wx:for="{{c}}" wx:for-item="order" wx:key="n" class="order-item data-v-17a44f9d"><view class="order-header data-v-17a44f9d"><view class="order-id data-v-17a44f9d"><text class="data-v-17a44f9d">订单号:{{order.a}}</text></view><view class="{{['order-status', 'data-v-17a44f9d', order.c]}}">{{order.b}}</view></view><view class="order-body data-v-17a44f9d"><view class="device-info data-v-17a44f9d"><view class="device-left data-v-17a44f9d"><view class="device-name data-v-17a44f9d">共享风扇</view><view class="device-id data-v-17a44f9d">设备号:{{order.d}}</view></view><view class="device-right data-v-17a44f9d"><view wx:if="{{order.e}}" class="payment-badge wx-score data-v-17a44f9d"><image src="{{order.f}}" mode="aspectFit" class="badge-icon data-v-17a44f9d"></image><view class="badge-text data-v-17a44f9d"><text class="data-v-17a44f9d">微信支付分</text><text class="divider data-v-17a44f9d">|</text><text class="highlight data-v-17a44f9d">免押租借</text></view></view><view wx:else class="payment-badge deposit data-v-17a44f9d"><text class="badge-text data-v-17a44f9d">押金租借</text></view></view></view><view class="order-times data-v-17a44f9d"><view class="time-row data-v-17a44f9d"><text class="time-label data-v-17a44f9d">开始时间:</text><text class="time-value data-v-17a44f9d">{{order.g}}</text></view><view class="time-row data-v-17a44f9d"><text class="time-label data-v-17a44f9d">结束时间:</text><text class="time-value data-v-17a44f9d">{{order.h}}</text></view></view></view><view class="order-footer data-v-17a44f9d"><view class="price data-v-17a44f9d">¥{{order.i}}</view><view class="actions data-v-17a44f9d"><view wx:if="{{order.j}}" class="action-item primary data-v-17a44f9d" bindtap="{{order.k}}"> 归还设备 </view><view wx:if="{{order.l}}" class="action-item secondary data-v-17a44f9d" bindtap="{{order.m}}"> 同步订单状态 </view></view></view></view></view></view>
<view class="order-container data-v-17a44f9d"><view class="status-tabs data-v-17a44f9d"><view wx:for="{{a}}" wx:for-item="tab" wx:key="b" class="{{['tab-item', 'data-v-17a44f9d', tab.c && 'active']}}" bindtap="{{tab.d}}">{{tab.a}}</view></view><view class="order-list data-v-17a44f9d"><view wx:if="{{b}}" class="empty-state data-v-17a44f9d"><view class="empty-icon data-v-17a44f9d"></view><text class="empty-text data-v-17a44f9d">暂无订单记录</text></view><view wx:for="{{c}}" wx:for-item="order" wx:key="s" class="order-item data-v-17a44f9d"><view class="order-header data-v-17a44f9d"><view class="order-id data-v-17a44f9d"><text class="data-v-17a44f9d">订单号:{{order.a}}</text></view><view class="{{['order-status', 'data-v-17a44f9d', order.c]}}">{{order.b}}</view></view><view class="order-body data-v-17a44f9d"><view class="device-info data-v-17a44f9d"><view class="device-left data-v-17a44f9d"><view class="device-name data-v-17a44f9d">共享风扇</view><view class="device-id data-v-17a44f9d">设备号:{{order.d}}</view></view><view class="device-right data-v-17a44f9d"><view wx:if="{{order.e}}" class="payment-badge wx-score data-v-17a44f9d"><image src="{{order.f}}" mode="aspectFit" class="badge-icon data-v-17a44f9d"></image><view class="badge-text data-v-17a44f9d"><text class="data-v-17a44f9d">微信支付分</text><text class="divider data-v-17a44f9d">|</text><text class="highlight data-v-17a44f9d">免押租借</text></view></view><view wx:else class="payment-badge deposit data-v-17a44f9d"><text class="badge-text data-v-17a44f9d">押金租借</text></view></view></view><view class="order-times data-v-17a44f9d"><view class="time-row data-v-17a44f9d"><text class="time-label data-v-17a44f9d">开始时间:</text><text class="time-value data-v-17a44f9d">{{order.g}}</text></view><view class="time-row data-v-17a44f9d"><text class="time-label data-v-17a44f9d">结束时间:</text><text class="time-value data-v-17a44f9d">{{order.h}}</text></view></view></view><view class="order-footer data-v-17a44f9d"><view class="price data-v-17a44f9d">¥{{order.i}}</view><view class="actions data-v-17a44f9d"><view wx:if="{{order.j}}" class="action-item primary data-v-17a44f9d" bindtap="{{order.k}}"> 立即支付 </view><view wx:if="{{order.l}}" class="action-item secondary data-v-17a44f9d" bindtap="{{order.m}}"> 取消订单 </view><view wx:if="{{order.n}}" class="action-item primary data-v-17a44f9d" bindtap="{{order.o}}"> 归还设备 </view><view class="action-item secondary data-v-17a44f9d" bindtap="{{order.p}}"> 查看详情 </view><view wx:if="{{order.q}}" class="action-item secondary data-v-17a44f9d" bindtap="{{order.r}}"> 同步状态 </view></view></view></view></view></view>
+3
View File
@@ -187,6 +187,8 @@
}
.order-container .order-list .order-item .order-footer .actions.data-v-17a44f9d {
display: flex;
flex-wrap: wrap;
justify-content: flex-end;
}
.order-container .order-list .order-item .order-footer .actions .action-item.data-v-17a44f9d {
font-size: 26rpx;
@@ -196,6 +198,7 @@
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 10rpx;
}
.order-container .order-list .order-item .order-footer .actions .action-item.primary.data-v-17a44f9d {
background: #1976D2;
+1 -1
View File
@@ -1 +1 @@
<view class="payment-container data-v-13c3fb22"><view class="status-card data-v-13c3fb22"><view class="{{['status-icon', 'data-v-13c3fb22', a]}}"></view><view class="status-text data-v-13c3fb22">{{b}}</view><view class="status-desc data-v-13c3fb22">{{c}}</view></view><view class="order-card data-v-13c3fb22"><view class="card-title data-v-13c3fb22">订单信息</view><view class="info-item data-v-13c3fb22"><text class="label data-v-13c3fb22">订单号</text><text class="value data-v-13c3fb22">{{d}}</text></view><view class="info-item data-v-13c3fb22"><text class="label data-v-13c3fb22">设备号</text><text class="value data-v-13c3fb22">{{e}}</text></view><view class="info-item data-v-13c3fb22"><text class="label data-v-13c3fb22">创建时间</text><text class="value data-v-13c3fb22">{{f}}</text></view><view class="info-item data-v-13c3fb22"><text class="label data-v-13c3fb22">联系电话</text><text class="value data-v-13c3fb22">{{g}}</text></view></view><view class="price-card data-v-13c3fb22"><view class="card-title data-v-13c3fb22">费用信息</view><view class="price-item data-v-13c3fb22"><text class="label data-v-13c3fb22">押金</text><text class="value data-v-13c3fb22">¥{{h}}</text></view><view class="price-item data-v-13c3fb22"><text class="label data-v-13c3fb22">套餐</text><text class="value data-v-13c3fb22">{{i}}元/{{j}}小时</text></view><view class="price-item total data-v-13c3fb22"><text class="label data-v-13c3fb22">合计</text><text class="value data-v-13c3fb22">¥{{k}}</text></view></view><view class="bottom-bar data-v-13c3fb22"><view class="total-amount data-v-13c3fb22"><text class="data-v-13c3fb22">合计:</text><text class="amount data-v-13c3fb22">¥{{l}}</text></view><button class="pay-btn data-v-13c3fb22" bindtap="{{m}}">立即支付</button></view></view>
<view class="payment-container data-v-13c3fb22"><view class="status-card data-v-13c3fb22"><view class="{{['status-icon', 'data-v-13c3fb22', a]}}"></view><view class="status-text data-v-13c3fb22">{{b}}</view><view class="status-desc data-v-13c3fb22">{{c}}</view></view><view class="order-card data-v-13c3fb22"><view class="card-title data-v-13c3fb22">订单信息</view><view class="info-item data-v-13c3fb22"><text class="label data-v-13c3fb22">订单号</text><text class="value data-v-13c3fb22">{{d}}</text></view><view class="info-item data-v-13c3fb22"><text class="label data-v-13c3fb22">设备号</text><text class="value data-v-13c3fb22">{{e}}</text></view><view class="info-item data-v-13c3fb22"><text class="label data-v-13c3fb22">创建时间</text><text class="value data-v-13c3fb22">{{f}}</text></view><view class="info-item data-v-13c3fb22"><text class="label data-v-13c3fb22">联系电话</text><text class="value data-v-13c3fb22">{{g}}</text></view></view><view class="price-card data-v-13c3fb22"><view class="card-title data-v-13c3fb22">费用信息</view><view class="price-item data-v-13c3fb22"><text class="label data-v-13c3fb22">押金</text><text class="value data-v-13c3fb22">¥{{h}}</text></view><view class="price-item data-v-13c3fb22"><text class="label data-v-13c3fb22">套餐</text><text class="value data-v-13c3fb22">{{i}}元/{{j}}小时</text></view><view class="price-item total data-v-13c3fb22"><text class="label data-v-13c3fb22">合计</text><text class="value data-v-13c3fb22">¥{{k}}</text></view></view><view class="bottom-bar data-v-13c3fb22"><view class="total-amount data-v-13c3fb22"><text class="data-v-13c3fb22">合计:</text><text class="amount data-v-13c3fb22">¥{{l}}</text></view><view class="pay-btn data-v-13c3fb22" bindtap="{{m}}">立即支付</view></view></view>
@@ -1 +1 @@
<view class="success-container data-v-eb1f1ee2"><view class="status-card data-v-eb1f1ee2"><view class="status-icon success data-v-eb1f1ee2"></view><view class="status-text data-v-eb1f1ee2">归还成功</view><view class="status-desc data-v-eb1f1ee2">您的充电宝已归还,费用已从押金中扣除</view></view><view class="order-card data-v-eb1f1ee2"><view class="card-title data-v-eb1f1ee2">订单信息</view><view class="info-item data-v-eb1f1ee2"><text class="label data-v-eb1f1ee2">订单号</text><text class="value data-v-eb1f1ee2">{{a}}</text></view><view class="info-item data-v-eb1f1ee2"><text class="label data-v-eb1f1ee2">设备号</text><text class="value data-v-eb1f1ee2">{{b}}</text></view><view class="info-item data-v-eb1f1ee2"><text class="label data-v-eb1f1ee2">使用时长</text><text class="value data-v-eb1f1ee2">{{c}}</text></view><view class="info-item data-v-eb1f1ee2"><text class="label data-v-eb1f1ee2">套餐时长</text><text class="value data-v-eb1f1ee2">{{d}}</text></view><view class="info-item data-v-eb1f1ee2"><text class="label data-v-eb1f1ee2">超出时长</text><text class="value data-v-eb1f1ee2">{{e}}</text></view><view class="info-item data-v-eb1f1ee2"><text class="label data-v-eb1f1ee2">归还时间</text><text class="value data-v-eb1f1ee2">{{f}}</text></view></view><view class="refund-card data-v-eb1f1ee2"><view class="card-title data-v-eb1f1ee2">费用信息</view><view class="info-item data-v-eb1f1ee2"><text class="label data-v-eb1f1ee2">套餐费用</text><text class="value data-v-eb1f1ee2">¥{{g}}</text></view><view class="info-item data-v-eb1f1ee2"><text class="label data-v-eb1f1ee2">超时费用</text><text class="value data-v-eb1f1ee2">¥{{h}}</text></view><view class="info-item data-v-eb1f1ee2"><text class="label data-v-eb1f1ee2">总费用</text><text class="value data-v-eb1f1ee2">¥{{i}}</text></view><view class="info-item data-v-eb1f1ee2"><text class="label data-v-eb1f1ee2">押金</text><text class="value data-v-eb1f1ee2">¥{{j}}</text></view><view class="info-item data-v-eb1f1ee2"><text class="label data-v-eb1f1ee2">退还金额</text><text class="value highlight data-v-eb1f1ee2">¥{{k}}</text></view><view class="info-item data-v-eb1f1ee2"><text class="label data-v-eb1f1ee2">退还状态</text><text class="{{['value', 'data-v-eb1f1ee2', m]}}">{{l}}</text></view></view><view class="notice-card data-v-eb1f1ee2"><view class="card-title data-v-eb1f1ee2">退款说明</view><view class="notice-content data-v-eb1f1ee2"><text class="data-v-eb1f1ee2">1. 押金剩余金额需要您手动申请提现</text><text class="data-v-eb1f1ee2">2. 提现申请提交后将在1-3个工作日内退还到原支付账户</text><text class="data-v-eb1f1ee2">3. 如有疑问,请联系客服</text></view></view><view class="button-group data-v-eb1f1ee2"><button wx:if="{{n}}" class="primary-btn data-v-eb1f1ee2" bindtap="{{o}}">申请退款</button><button class="primary-btn data-v-eb1f1ee2" bindtap="{{p}}">返回首页</button></view></view>
<view class="success-container data-v-eb1f1ee2"><view class="status-card data-v-eb1f1ee2"><view class="status-icon success data-v-eb1f1ee2"></view><view class="status-text data-v-eb1f1ee2">归还成功</view><view class="status-desc data-v-eb1f1ee2">您的风扇已归还,费用已从押金中扣除</view></view><view class="order-card data-v-eb1f1ee2"><view class="card-title data-v-eb1f1ee2">订单信息</view><view class="info-item data-v-eb1f1ee2"><text class="label data-v-eb1f1ee2">订单号</text><text class="value data-v-eb1f1ee2">{{a}}</text></view><view class="info-item data-v-eb1f1ee2"><text class="label data-v-eb1f1ee2">设备号</text><text class="value data-v-eb1f1ee2">{{b}}</text></view><view class="info-item data-v-eb1f1ee2"><text class="label data-v-eb1f1ee2">使用时长</text><text class="value data-v-eb1f1ee2">{{c}}</text></view><view class="info-item data-v-eb1f1ee2"><text class="label data-v-eb1f1ee2">套餐时长</text><text class="value data-v-eb1f1ee2">{{d}}</text></view><view class="info-item data-v-eb1f1ee2"><text class="label data-v-eb1f1ee2">超出时长</text><text class="value data-v-eb1f1ee2">{{e}}</text></view><view class="info-item data-v-eb1f1ee2"><text class="label data-v-eb1f1ee2">归还时间</text><text class="value data-v-eb1f1ee2">{{f}}</text></view></view><view class="refund-card data-v-eb1f1ee2"><view class="card-title data-v-eb1f1ee2">费用信息</view><view class="info-item data-v-eb1f1ee2"><text class="label data-v-eb1f1ee2">套餐费用</text><text class="value data-v-eb1f1ee2">¥{{g}}</text></view><view class="info-item data-v-eb1f1ee2"><text class="label data-v-eb1f1ee2">超时费用</text><text class="value data-v-eb1f1ee2">¥{{h}}</text></view><view class="info-item data-v-eb1f1ee2"><text class="label data-v-eb1f1ee2">总费用</text><text class="value data-v-eb1f1ee2">¥{{i}}</text></view><view class="info-item data-v-eb1f1ee2"><text class="label data-v-eb1f1ee2">押金</text><text class="value data-v-eb1f1ee2">¥{{j}}</text></view><view class="info-item data-v-eb1f1ee2"><text class="label data-v-eb1f1ee2">退还金额</text><text class="value highlight data-v-eb1f1ee2">¥{{k}}</text></view><view class="info-item data-v-eb1f1ee2"><text class="label data-v-eb1f1ee2">退还状态</text><text class="{{['value', 'data-v-eb1f1ee2', m]}}">{{l}}</text></view></view><view class="notice-card data-v-eb1f1ee2"><view class="card-title data-v-eb1f1ee2">退款说明</view><view class="notice-content data-v-eb1f1ee2"><text class="data-v-eb1f1ee2">1. 押金剩余金额需要您手动申请提现</text><text class="data-v-eb1f1ee2">2. 提现申请提交后将在1-3个工作日内退还到原支付账户</text><text class="data-v-eb1f1ee2">3. 如有疑问,请联系客服</text></view></view><view class="button-group data-v-eb1f1ee2"><button wx:if="{{n}}" class="primary-btn data-v-eb1f1ee2" bindtap="{{o}}">申请退款</button><button class="primary-btn data-v-eb1f1ee2" bindtap="{{p}}">返回首页</button></view></view>
+10 -10
View File
@@ -45,7 +45,7 @@ const _sfc_main = {
payTime: orderData.payTime || this.formatTime(/* @__PURE__ */ new Date())
};
if (orderData.orderStatus === "IN_USED") {
this.deviceMessage = "设备已弹出,请取走您的充电宝";
this.deviceMessage = "设备已弹出,请取走您的风扇";
this.isLoading = false;
if (!this.hasTriggeredDevice) {
common_vendor.index.$emit("orderSuccess:" + this.orderId);
@@ -66,10 +66,10 @@ const _sfc_main = {
});
}
},
// 触发弹出充电宝
// 触发弹出风扇
async triggerDeviceEject() {
if (this.hasTriggeredDevice) {
common_vendor.index.__f__("log", "at pages/order/success.vue:129", "已经触发过弹出充电宝,不重复触发");
common_vendor.index.__f__("log", "at pages/order/success.vue:129", "已经触发过弹出风扇,不重复触发");
return;
}
this.hasTriggeredDevice = true;
@@ -77,23 +77,23 @@ const _sfc_main = {
this.isLoading = true;
this.deviceMessage = "正在准备您的设备,请稍候...";
try {
common_vendor.index.__f__("log", "at pages/order/success.vue:139", `准备触发弹出充电宝orderId: ${this.orderId}`);
common_vendor.index.__f__("log", "at pages/order/success.vue:139", `准备触发弹出风扇orderId: ${this.orderId}`);
const result = await config_user.confirmPaymentAndRent(this.orderId);
common_vendor.index.__f__("log", "at pages/order/success.vue:143", "确认支付并弹出充电宝结果:", JSON.stringify(result));
common_vendor.index.__f__("log", "at pages/order/success.vue:143", "确认支付并弹出风扇结果:", JSON.stringify(result));
if (result && result.code === 200) {
this.deviceMessage = "设备已弹出,请取走您的充电宝";
this.deviceMessage = "设备已弹出,请取走您的风扇";
common_vendor.index.showToast({
title: "充电宝已弹出",
title: "风扇已弹出",
icon: "success"
});
} else {
throw new Error(result && result.msg || "弹出充电宝失败");
throw new Error(result && result.msg || "弹出风扇失败");
}
} catch (error) {
common_vendor.index.__f__("error", "at pages/order/success.vue:155", "弹出充电宝错误:", error);
common_vendor.index.__f__("error", "at pages/order/success.vue:155", "弹出风扇错误:", error);
this.deviceMessage = "弹出设备失败,请联系客服";
common_vendor.index.showToast({
title: error.message || "弹出充电宝失败,请联系客服",
title: error.message || "弹出风扇失败,请联系客服",
icon: "none"
});
} finally {
+1 -1
View File
@@ -106,7 +106,7 @@ const _sfc_main = {
this.clearStatusCheckTimer();
common_vendor.index.showModal({
title: "归还成功",
content: "充电宝已归还成功,剩余押金将退还到您的账户",
content: "风扇已归还成功,剩余押金将退还到您的账户",
confirmText: "查看详情",
success: (res) => {
if (res.confirm) {
+1 -1
View File
@@ -1 +1 @@
<view class="return-container data-v-6d22bdf8"><view class="order-card data-v-6d22bdf8"><view class="order-header data-v-6d22bdf8"><text class="title data-v-6d22bdf8">{{a}}</text><text class="order-no data-v-6d22bdf8">订单号:{{b}}</text></view><view class="device-info data-v-6d22bdf8"><view class="device-left data-v-6d22bdf8"><view class="device-name data-v-6d22bdf8">共享风扇</view><view class="device-id data-v-6d22bdf8">设备号:{{c}}</view></view><view class="device-right data-v-6d22bdf8"><view wx:if="{{d}}" class="payment-badge wx-score data-v-6d22bdf8"><image src="{{e}}" mode="aspectFit" class="badge-icon data-v-6d22bdf8"></image><view class="badge-text data-v-6d22bdf8"><text class="data-v-6d22bdf8">微信支付分</text><text class="divider data-v-6d22bdf8">|</text><text class="highlight data-v-6d22bdf8">免押租借</text></view></view><view wx:else class="payment-badge deposit data-v-6d22bdf8"><text class="badge-text data-v-6d22bdf8">押金租借</text></view></view></view><view class="time-info data-v-6d22bdf8"><view class="time-item data-v-6d22bdf8"><text class="label data-v-6d22bdf8">开始时间</text><text class="value data-v-6d22bdf8">{{f}}</text></view><view class="time-item data-v-6d22bdf8"><text class="label data-v-6d22bdf8">已使用时长</text><text class="value highlight data-v-6d22bdf8">{{g}}</text></view><view class="time-item data-v-6d22bdf8"><text class="label data-v-6d22bdf8">当前费用</text><text class="value data-v-6d22bdf8">¥{{h}}</text></view></view><view wx:if="{{false}}" class="debug-info data-v-6d22bdf8"><view class="debug-title data-v-6d22bdf8">调试信息</view><view class="debug-item data-v-6d22bdf8">原始开始时间: {{i}}</view><view class="debug-item data-v-6d22bdf8">处理后开始时间: {{j}}</view><view class="debug-item data-v-6d22bdf8">订单状态: {{k}}</view></view></view><view class="notice-card data-v-6d22bdf8"><view class="notice-title data-v-6d22bdf8">归还说明</view><view class="notice-list data-v-6d22bdf8"><view class="notice-item data-v-6d22bdf8"><view class="dot data-v-6d22bdf8"></view><text class="data-v-6d22bdf8">请确保设备完好无损</text></view><view class="notice-item data-v-6d22bdf8"><view class="dot data-v-6d22bdf8"></view><text class="data-v-6d22bdf8">将充电宝插入原位置或空闲插口</text></view><view class="notice-item data-v-6d22bdf8"><view class="dot data-v-6d22bdf8"></view><text class="data-v-6d22bdf8">系统将自动检测归还并处理退款</text></view><view class="notice-item data-v-6d22bdf8"><view class="dot data-v-6d22bdf8"></view><text class="data-v-6d22bdf8">归还成功后将自动跳转到成功页面</text></view></view></view><view class="bottom-bar data-v-6d22bdf8"><view class="action-item secondary data-v-6d22bdf8" bindtap="{{l}}">刷新状态</view><view class="action-item primary data-v-6d22bdf8" bindtap="{{m}}">返回首页</view></view></view>
<view class="return-container data-v-6d22bdf8"><view class="order-card data-v-6d22bdf8"><view class="order-header data-v-6d22bdf8"><text class="title data-v-6d22bdf8">{{a}}</text><text class="order-no data-v-6d22bdf8">订单号:{{b}}</text></view><view class="device-info data-v-6d22bdf8"><view class="device-left data-v-6d22bdf8"><view class="device-name data-v-6d22bdf8">共享风扇</view><view class="device-id data-v-6d22bdf8">设备号:{{c}}</view></view><view class="device-right data-v-6d22bdf8"><view wx:if="{{d}}" class="payment-badge wx-score data-v-6d22bdf8"><image src="{{e}}" mode="aspectFit" class="badge-icon data-v-6d22bdf8"></image><view class="badge-text data-v-6d22bdf8"><text class="data-v-6d22bdf8">微信支付分</text><text class="divider data-v-6d22bdf8">|</text><text class="highlight data-v-6d22bdf8">免押租借</text></view></view><view wx:else class="payment-badge deposit data-v-6d22bdf8"><text class="badge-text data-v-6d22bdf8">押金租借</text></view></view></view><view class="time-info data-v-6d22bdf8"><view class="time-item data-v-6d22bdf8"><text class="label data-v-6d22bdf8">开始时间</text><text class="value data-v-6d22bdf8">{{f}}</text></view><view class="time-item data-v-6d22bdf8"><text class="label data-v-6d22bdf8">已使用时长</text><text class="value highlight data-v-6d22bdf8">{{g}}</text></view><view class="time-item data-v-6d22bdf8"><text class="label data-v-6d22bdf8">当前费用</text><text class="value data-v-6d22bdf8">¥{{h}}</text></view></view><view wx:if="{{false}}" class="debug-info data-v-6d22bdf8"><view class="debug-title data-v-6d22bdf8">调试信息</view><view class="debug-item data-v-6d22bdf8">原始开始时间: {{i}}</view><view class="debug-item data-v-6d22bdf8">处理后开始时间: {{j}}</view><view class="debug-item data-v-6d22bdf8">订单状态: {{k}}</view></view></view><view class="notice-card data-v-6d22bdf8"><view class="notice-title data-v-6d22bdf8">归还说明</view><view class="notice-list data-v-6d22bdf8"><view class="notice-item data-v-6d22bdf8"><view class="dot data-v-6d22bdf8"></view><text class="data-v-6d22bdf8">请确保设备完好无损</text></view><view class="notice-item data-v-6d22bdf8"><view class="dot data-v-6d22bdf8"></view><text class="data-v-6d22bdf8">将风扇插入原位置或空闲插口</text></view><view class="notice-item data-v-6d22bdf8"><view class="dot data-v-6d22bdf8"></view><text class="data-v-6d22bdf8">系统将自动检测归还并处理退款</text></view><view class="notice-item data-v-6d22bdf8"><view class="dot data-v-6d22bdf8"></view><text class="data-v-6d22bdf8">归还成功后将自动跳转到成功页面</text></view></view></view><view class="bottom-bar data-v-6d22bdf8"><view class="action-item secondary data-v-6d22bdf8" bindtap="{{l}}">刷新状态</view><view class="action-item primary data-v-6d22bdf8" bindtap="{{m}}">返回首页</view></view></view>
+1 -1
View File
@@ -13,7 +13,7 @@
},
"compileType": "miniprogram",
"libVersion": "",
"appid": "wx2165f0be356ae7a9",
"appid": "wxe752f45e7f7aa271",
"projectname": "uni-fans-score",
"condition": {
"search": {
+1 -1
View File
@@ -10,7 +10,7 @@ const wxLogin = () => {
if (loginRes.code) {
const result = await config_user.login({
code: loginRes.code,
appid: "wx2165f0be356ae7a9"
appid: "wxe752f45e7f7aa271"
});
if (result.code === 200) {
common_vendor.index.setStorageSync("token", result.data.LoginWxVo.access_token);
+2 -2
View File
@@ -125,7 +125,7 @@ class OrderMonitor {
common_vendor.index.__f__("log", "at utils/orderMonitor.js:153", `订单 ${orderId} 已完成!`);
common_vendor.index.$emit("orderCompleted", orderData);
common_vendor.index.showToast({
title: "充电宝归还成功",
title: "风扇归还成功",
icon: "success",
duration: 2e3
});
@@ -136,7 +136,7 @@ class OrderMonitor {
setTimeout(() => {
common_vendor.index.showModal({
title: "归还成功",
content: "充电宝已归还成功,剩余押金将退还到您的账户",
content: "风扇已归还成功,剩余押金将退还到您的账户",
confirmText: "查看详情",
success: (res) => {
if (res.confirm) {