From 3a7b2808af46f11eeb0ab47747955a937feedafd Mon Sep 17 00:00:00 2001 From: huangzhenbao <17818024429@163.com> Date: Thu, 21 May 2026 15:51:12 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84delivery=E8=BF=90=E8=A1=8Cbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ges.delivery.2026-05-21T07-32-05-334Z.json | 461 +++++++++++ ...ges.delivery.2026-05-21T07-37-27-151Z.json | 117 +++ ...ges.delivery.2026-05-21T07-42-09-618Z.json | 117 +++ ...ges.delivery.2026-05-21T07-44-20-352Z.json | 117 +++ ...ges.delivery.2026-05-21T07-45-14-404Z.json | 117 +++ ...ges.delivery.2026-05-21T07-47-09-899Z.json | 117 +++ ...ges.delivery.2026-05-21T07-48-46-001Z.json | 117 +++ ...ges.delivery.2026-05-21T07-49-24-464Z.json | 117 +++ ak/config.uts | 10 +- api/delivery.uts | 5 +- components/supadb/aksupa.uts | 2 + config/current-client.uts | 2 +- pages.json | 476 ++--------- pages/mall/delivery/home/index.uvue | 578 +------------ pages/mall/delivery/orders/index.uvue | 459 +---------- uni_modules/ak-req/ak-req.uts | 5 +- utils/pagesMode.uts | 2 +- 报错信息.txt | 776 ++++++++++-------- 18 files changed, 1823 insertions(+), 1772 deletions(-) create mode 100644 .pages-backup/pages.delivery.2026-05-21T07-32-05-334Z.json create mode 100644 .pages-backup/pages.delivery.2026-05-21T07-37-27-151Z.json create mode 100644 .pages-backup/pages.delivery.2026-05-21T07-42-09-618Z.json create mode 100644 .pages-backup/pages.delivery.2026-05-21T07-44-20-352Z.json create mode 100644 .pages-backup/pages.delivery.2026-05-21T07-45-14-404Z.json create mode 100644 .pages-backup/pages.delivery.2026-05-21T07-47-09-899Z.json create mode 100644 .pages-backup/pages.delivery.2026-05-21T07-48-46-001Z.json create mode 100644 .pages-backup/pages.delivery.2026-05-21T07-49-24-464Z.json diff --git a/.pages-backup/pages.delivery.2026-05-21T07-32-05-334Z.json b/.pages-backup/pages.delivery.2026-05-21T07-32-05-334Z.json new file mode 100644 index 00000000..60afb4ad --- /dev/null +++ b/.pages-backup/pages.delivery.2026-05-21T07-32-05-334Z.json @@ -0,0 +1,461 @@ +{ + "pages": [ + { + "path": "pages/main/index", + "style": { + "navigationBarTitleText": "首页", + "navigationStyle": "custom", + "enablePullDownRefresh": false + } + }, + { + "path": "pages/user/boot", + "style": { + "navigationBarTitleText": "" + } + }, + { + "path": "pages/user/login", + "style": { + "navigationBarTitleText": "用户登录", + "navigationStyle": "custom" + } + }, + { + "path": "pages/user/register", + "style": { + "navigationBarTitleText": "注册" + } + }, + { + "path": "pages/user/forgot-password", + "style": { + "navigationBarTitleText": "忘记密码" + } + }, + { + "path": "pages/user/terms", + "style": { + "navigationBarTitleText": "用户协议与隐私政策" + } + }, + { + "path": "pages/user/center", + "style": { + "navigationBarTitleText": "用户中心" + } + }, + { + "path": "pages/user/profile", + "style": { + "navigationBarTitleText": "个人资料" + } + }, + { + "path": "pages/user/change-password", + "style": { + "navigationBarTitleText": "修改密码" + } + }, + { + "path": "pages/user/bind-phone", + "style": { + "navigationBarTitleText": "绑定手机" + } + }, + { + "path": "pages/user/bind-email", + "style": { + "navigationBarTitleText": "绑定邮箱" + } + }, + { + "path": "pages/main/messages", + "style": { + "navigationBarTitleText": "消息", + "enablePullDownRefresh": true + } + }, + { + "path": "pages/main/cart", + "style": { + "navigationBarTitleText": "购物车", + "navigationStyle": "custom" + } + }, + { + "path": "pages/main/profile", + "style": { + "navigationBarTitleText": "我的", + "navigationStyle": "custom" + } + }, + { + "path": "pages/main/category", + "style": { + "navigationBarTitleText": "分类", + "navigationStyle": "custom" + } + } + ], + "subPackages": [ + { + "root": "pages/mall/consumer", + "pages": [ + { + "path": "settings", + "style": { + "navigationBarTitleText": "设置" + } + }, + { + "path": "edit-profile", + "style": { + "navigationBarTitleText": "编辑资料" + } + }, + { + "path": "wallet", + "style": { + "navigationBarTitleText": "我的钱包" + } + }, + { + "path": "withdraw", + "style": { + "navigationBarTitleText": "余额提现" + } + }, + { + "path": "search", + "style": { + "navigationBarTitleText": "搜索", + "navigationStyle": "custom" + } + }, + { + "path": "product-detail", + "style": { + "navigationBarTitleText": "", + "navigationStyle": "custom" + } + }, + { + "path": "channel-detail", + "style": { + "navigationBarTitleText": "频道详情", + "navigationStyle": "custom" + } + }, + { + "path": "shop-detail", + "style": { + "navigationBarTitleText": "店铺详情" + } + }, + { + "path": "coupons", + "style": { + "navigationBarTitleText": "我的优惠券" + } + }, + { + "path": "favorites", + "style": { + "navigationBarTitleText": "我的收藏" + } + }, + { + "path": "footprint", + "style": { + "navigationBarTitleText": "我的足迹" + } + }, + { + "path": "address", + "style": { + "navigationBarTitleText": "地址" + } + }, + { + "path": "address-list", + "style": { + "navigationBarTitleText": "收货地址" + } + }, + { + "path": "address-edit", + "style": { + "navigationBarTitleText": "编辑地址" + } + }, + { + "path": "checkout", + "style": { + "navigationBarTitleText": "确认订单" + } + }, + { + "path": "payment", + "style": { + "navigationBarTitleText": "收银台" + } + }, + { + "path": "payment-success", + "style": { + "navigationBarTitleText": "支付成功", + "navigationStyle": "custom" + } + }, + { + "path": "orders", + "style": { + "navigationBarTitleText": "我的订单", + "enablePullDownRefresh": true + } + }, + { + "path": "order-detail", + "style": { + "navigationBarTitleText": "订单详情" + } + }, + { + "path": "logistics", + "style": { + "navigationBarTitleText": "物流详情" + } + }, + { + "path": "review", + "style": { + "navigationBarTitleText": "评价晒单" + } + }, + { + "path": "refund", + "style": { + "navigationBarTitleText": "退款/售后" + } + }, + { + "path": "apply-refund", + "style": { + "navigationBarTitleText": "申请售后" + } + }, + { + "path": "refund-review", + "style": { + "navigationBarTitleText": "服务评价" + } + }, + { + "path": "chat", + "style": { + "navigationBarTitleText": "客服聊天", + "navigationStyle": "custom" + } + }, + { + "path": "chat_new", + "style": { + "navigationBarTitleText": "客服聊天(新版)" + } + }, + { + "path": "subscription/plan-list", + "style": { + "navigationBarTitleText": "软件订阅" + } + }, + { + "path": "subscription/plan-detail", + "style": { + "navigationBarTitleText": "订阅详情" + } + }, + { + "path": "subscription/subscribe-checkout", + "style": { + "navigationBarTitleText": "确认订阅" + } + }, + { + "path": "subscription/my-subscriptions", + "style": { + "navigationBarTitleText": "我的订阅" + } + }, + { + "path": "subscription/followed-shops", + "style": { + "navigationBarTitleText": "关注店铺" + } + }, + { + "path": "points/index", + "style": { + "navigationBarTitleText": "积分管理" + } + }, + { + "path": "points/signin", + "style": { + "navigationBarTitleText": "签到" + } + }, + { + "path": "points/exchange", + "style": { + "navigationBarTitleText": "积分兑换" + } + }, + { + "path": "points/exchange-records", + "style": { + "navigationBarTitleText": "兑换记录" + } + }, + { + "path": "red-packets/index", + "style": { + "navigationBarTitleText": "我的红包" + } + }, + { + "path": "bank-cards/index", + "style": { + "navigationBarTitleText": "银行卡管理" + } + }, + { + "path": "bank-cards/add", + "style": { + "navigationBarTitleText": "添加银行卡" + } + }, + { + "path": "home-service/index", + "style": { + "navigationBarTitleText": "居家上门服务", + "navigationStyle": "custom" + } + }, + { + "path": "home-service/apply", + "style": { + "navigationBarTitleText": "提交服务申请", + "navigationStyle": "custom" + } + }, + { + "path": "home-service/service-detail", + "style": { + "navigationBarTitleText": "预约服务", + "navigationStyle": "custom" + } + }, + { + "path": "home-service/order-detail", + "style": { + "navigationBarTitleText": "服务单详情", + "navigationStyle": "custom" + } + }, + { + "path": "home-service/feedback", + "style": { + "navigationBarTitleText": "验收反馈", + "navigationStyle": "custom" + } + }, + { + "path": "bank-cards/verify", + "style": { + "navigationBarTitleText": "银行卡验证" + } + }, + { + "path": "balance/index", + "style": { + "navigationBarTitleText": "余额" + } + }, + { + "path": "my-reviews", + "style": { + "navigationBarTitleText": "我的评价" + } + }, + { + "path": "message-detail", + "style": { + "navigationBarTitleText": "消息详情" + } + }, + { + "path": "member/index", + "style": { + "navigationBarTitleText": "会员中心" + } + }, + { + "path": "product-reviews", + "style": { + "navigationBarTitleText": "商品评价" + } + } + ] + } + ], + "tabBar": { + "color": "#999999", + "selectedColor": "#ff5000", + "backgroundColor": "#ffffff", + "borderStyle": "black", + "list": [ + { + "pagePath": "pages/main/index", + "text": "首页", + "iconPath": "static/tabbar/home.png", + "selectedIconPath": "static/tabbar/home-active.png" + }, + { + "pagePath": "pages/main/messages", + "text": "消息", + "iconPath": "static/tabbar/message.png", + "selectedIconPath": "static/tabbar/message.png" + }, + { + "pagePath": "pages/main/cart", + "text": "购物车", + "iconPath": "static/tabbar/cart.png", + "selectedIconPath": "static/tabbar/cart.png" + }, + { + "pagePath": "pages/main/profile", + "text": "我的", + "iconPath": "static/tabbar/user.png", + "selectedIconPath": "static/tabbar/user.png" + } + ] + }, + "globalStyle": { + "navigationBarTextStyle": "black", + "navigationBarTitleText": "mall", + "navigationBarBackgroundColor": "#FFFFFF", + "backgroundColor": "#F8F8F8" + }, + "condition": { + "current": 0, + "list": [ + { + "name": "consumer端", + "path": "pages/main/index", + "query": "role=consumer" + } + ] + } +} diff --git a/.pages-backup/pages.delivery.2026-05-21T07-37-27-151Z.json b/.pages-backup/pages.delivery.2026-05-21T07-37-27-151Z.json new file mode 100644 index 00000000..7d0d4a37 --- /dev/null +++ b/.pages-backup/pages.delivery.2026-05-21T07-37-27-151Z.json @@ -0,0 +1,117 @@ +{ + "pages": [ + { + "path": "pages/user/register", + "style": { + "navigationBarTitleText": "服务人员注册", + "navigationStyle": "custom" + } + }, + { + "path": "pages/user/terms", + "style": { + "navigationBarTitleText": "用户协议与隐私政策", + "navigationStyle": "custom" + } + }, + { + "path": "pages/user/login", + "style": { + "navigationBarTitleText": "服务人员登录", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/home/index", + "style": { + "navigationBarTitleText": "工作台", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/orders/index", + "style": { + "navigationBarTitleText": "工单列表", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/orders/detail", + "style": { + "navigationBarTitleText": "订单详情", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/service-record/index", + "style": { + "navigationBarTitleText": "服务记录", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/orders/exception", + "style": { + "navigationBarTitleText": "异常上报", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/profile/index", + "style": { + "navigationBarTitleText": "我的", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/profile/settings", + "style": { + "navigationBarTitleText": "设置", + "navigationStyle": "custom" + } + } + ], + "subPackages": [], + "globalStyle": { + "navigationBarTextStyle": "black", + "navigationBarTitleText": "delivery", + "navigationBarBackgroundColor": "#FFFFFF", + "backgroundColor": "#F3F7F9" + }, + "tabBar": { + "color": "#6B7280", + "selectedColor": "#0F766E", + "backgroundColor": "#FFFFFF", + "borderStyle": "black", + "list": [ + { + "pagePath": "pages/mall/delivery/home/index", + "text": "工作台", + "iconPath": "static/tabbar/home.png", + "selectedIconPath": "static/tabbar/home-active.png" + }, + { + "pagePath": "pages/mall/delivery/orders/index", + "text": "订单", + "iconPath": "static/tabbar/cart.png", + "selectedIconPath": "static/tabbar/cart.png" + }, + { + "pagePath": "pages/mall/delivery/profile/index", + "text": "我的", + "iconPath": "static/tabbar/user.png", + "selectedIconPath": "static/tabbar/user.png" + } + ] + }, + "condition": { + "current": 0, + "list": [ + { + "name": "delivery端", + "path": "pages/user/login", + "query": "mode=delivery&role=delivery" + } + ] + } +} diff --git a/.pages-backup/pages.delivery.2026-05-21T07-42-09-618Z.json b/.pages-backup/pages.delivery.2026-05-21T07-42-09-618Z.json new file mode 100644 index 00000000..7d0d4a37 --- /dev/null +++ b/.pages-backup/pages.delivery.2026-05-21T07-42-09-618Z.json @@ -0,0 +1,117 @@ +{ + "pages": [ + { + "path": "pages/user/register", + "style": { + "navigationBarTitleText": "服务人员注册", + "navigationStyle": "custom" + } + }, + { + "path": "pages/user/terms", + "style": { + "navigationBarTitleText": "用户协议与隐私政策", + "navigationStyle": "custom" + } + }, + { + "path": "pages/user/login", + "style": { + "navigationBarTitleText": "服务人员登录", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/home/index", + "style": { + "navigationBarTitleText": "工作台", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/orders/index", + "style": { + "navigationBarTitleText": "工单列表", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/orders/detail", + "style": { + "navigationBarTitleText": "订单详情", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/service-record/index", + "style": { + "navigationBarTitleText": "服务记录", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/orders/exception", + "style": { + "navigationBarTitleText": "异常上报", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/profile/index", + "style": { + "navigationBarTitleText": "我的", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/profile/settings", + "style": { + "navigationBarTitleText": "设置", + "navigationStyle": "custom" + } + } + ], + "subPackages": [], + "globalStyle": { + "navigationBarTextStyle": "black", + "navigationBarTitleText": "delivery", + "navigationBarBackgroundColor": "#FFFFFF", + "backgroundColor": "#F3F7F9" + }, + "tabBar": { + "color": "#6B7280", + "selectedColor": "#0F766E", + "backgroundColor": "#FFFFFF", + "borderStyle": "black", + "list": [ + { + "pagePath": "pages/mall/delivery/home/index", + "text": "工作台", + "iconPath": "static/tabbar/home.png", + "selectedIconPath": "static/tabbar/home-active.png" + }, + { + "pagePath": "pages/mall/delivery/orders/index", + "text": "订单", + "iconPath": "static/tabbar/cart.png", + "selectedIconPath": "static/tabbar/cart.png" + }, + { + "pagePath": "pages/mall/delivery/profile/index", + "text": "我的", + "iconPath": "static/tabbar/user.png", + "selectedIconPath": "static/tabbar/user.png" + } + ] + }, + "condition": { + "current": 0, + "list": [ + { + "name": "delivery端", + "path": "pages/user/login", + "query": "mode=delivery&role=delivery" + } + ] + } +} diff --git a/.pages-backup/pages.delivery.2026-05-21T07-44-20-352Z.json b/.pages-backup/pages.delivery.2026-05-21T07-44-20-352Z.json new file mode 100644 index 00000000..7d0d4a37 --- /dev/null +++ b/.pages-backup/pages.delivery.2026-05-21T07-44-20-352Z.json @@ -0,0 +1,117 @@ +{ + "pages": [ + { + "path": "pages/user/register", + "style": { + "navigationBarTitleText": "服务人员注册", + "navigationStyle": "custom" + } + }, + { + "path": "pages/user/terms", + "style": { + "navigationBarTitleText": "用户协议与隐私政策", + "navigationStyle": "custom" + } + }, + { + "path": "pages/user/login", + "style": { + "navigationBarTitleText": "服务人员登录", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/home/index", + "style": { + "navigationBarTitleText": "工作台", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/orders/index", + "style": { + "navigationBarTitleText": "工单列表", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/orders/detail", + "style": { + "navigationBarTitleText": "订单详情", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/service-record/index", + "style": { + "navigationBarTitleText": "服务记录", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/orders/exception", + "style": { + "navigationBarTitleText": "异常上报", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/profile/index", + "style": { + "navigationBarTitleText": "我的", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/profile/settings", + "style": { + "navigationBarTitleText": "设置", + "navigationStyle": "custom" + } + } + ], + "subPackages": [], + "globalStyle": { + "navigationBarTextStyle": "black", + "navigationBarTitleText": "delivery", + "navigationBarBackgroundColor": "#FFFFFF", + "backgroundColor": "#F3F7F9" + }, + "tabBar": { + "color": "#6B7280", + "selectedColor": "#0F766E", + "backgroundColor": "#FFFFFF", + "borderStyle": "black", + "list": [ + { + "pagePath": "pages/mall/delivery/home/index", + "text": "工作台", + "iconPath": "static/tabbar/home.png", + "selectedIconPath": "static/tabbar/home-active.png" + }, + { + "pagePath": "pages/mall/delivery/orders/index", + "text": "订单", + "iconPath": "static/tabbar/cart.png", + "selectedIconPath": "static/tabbar/cart.png" + }, + { + "pagePath": "pages/mall/delivery/profile/index", + "text": "我的", + "iconPath": "static/tabbar/user.png", + "selectedIconPath": "static/tabbar/user.png" + } + ] + }, + "condition": { + "current": 0, + "list": [ + { + "name": "delivery端", + "path": "pages/user/login", + "query": "mode=delivery&role=delivery" + } + ] + } +} diff --git a/.pages-backup/pages.delivery.2026-05-21T07-45-14-404Z.json b/.pages-backup/pages.delivery.2026-05-21T07-45-14-404Z.json new file mode 100644 index 00000000..7d0d4a37 --- /dev/null +++ b/.pages-backup/pages.delivery.2026-05-21T07-45-14-404Z.json @@ -0,0 +1,117 @@ +{ + "pages": [ + { + "path": "pages/user/register", + "style": { + "navigationBarTitleText": "服务人员注册", + "navigationStyle": "custom" + } + }, + { + "path": "pages/user/terms", + "style": { + "navigationBarTitleText": "用户协议与隐私政策", + "navigationStyle": "custom" + } + }, + { + "path": "pages/user/login", + "style": { + "navigationBarTitleText": "服务人员登录", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/home/index", + "style": { + "navigationBarTitleText": "工作台", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/orders/index", + "style": { + "navigationBarTitleText": "工单列表", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/orders/detail", + "style": { + "navigationBarTitleText": "订单详情", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/service-record/index", + "style": { + "navigationBarTitleText": "服务记录", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/orders/exception", + "style": { + "navigationBarTitleText": "异常上报", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/profile/index", + "style": { + "navigationBarTitleText": "我的", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/profile/settings", + "style": { + "navigationBarTitleText": "设置", + "navigationStyle": "custom" + } + } + ], + "subPackages": [], + "globalStyle": { + "navigationBarTextStyle": "black", + "navigationBarTitleText": "delivery", + "navigationBarBackgroundColor": "#FFFFFF", + "backgroundColor": "#F3F7F9" + }, + "tabBar": { + "color": "#6B7280", + "selectedColor": "#0F766E", + "backgroundColor": "#FFFFFF", + "borderStyle": "black", + "list": [ + { + "pagePath": "pages/mall/delivery/home/index", + "text": "工作台", + "iconPath": "static/tabbar/home.png", + "selectedIconPath": "static/tabbar/home-active.png" + }, + { + "pagePath": "pages/mall/delivery/orders/index", + "text": "订单", + "iconPath": "static/tabbar/cart.png", + "selectedIconPath": "static/tabbar/cart.png" + }, + { + "pagePath": "pages/mall/delivery/profile/index", + "text": "我的", + "iconPath": "static/tabbar/user.png", + "selectedIconPath": "static/tabbar/user.png" + } + ] + }, + "condition": { + "current": 0, + "list": [ + { + "name": "delivery端", + "path": "pages/user/login", + "query": "mode=delivery&role=delivery" + } + ] + } +} diff --git a/.pages-backup/pages.delivery.2026-05-21T07-47-09-899Z.json b/.pages-backup/pages.delivery.2026-05-21T07-47-09-899Z.json new file mode 100644 index 00000000..7d0d4a37 --- /dev/null +++ b/.pages-backup/pages.delivery.2026-05-21T07-47-09-899Z.json @@ -0,0 +1,117 @@ +{ + "pages": [ + { + "path": "pages/user/register", + "style": { + "navigationBarTitleText": "服务人员注册", + "navigationStyle": "custom" + } + }, + { + "path": "pages/user/terms", + "style": { + "navigationBarTitleText": "用户协议与隐私政策", + "navigationStyle": "custom" + } + }, + { + "path": "pages/user/login", + "style": { + "navigationBarTitleText": "服务人员登录", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/home/index", + "style": { + "navigationBarTitleText": "工作台", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/orders/index", + "style": { + "navigationBarTitleText": "工单列表", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/orders/detail", + "style": { + "navigationBarTitleText": "订单详情", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/service-record/index", + "style": { + "navigationBarTitleText": "服务记录", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/orders/exception", + "style": { + "navigationBarTitleText": "异常上报", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/profile/index", + "style": { + "navigationBarTitleText": "我的", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/profile/settings", + "style": { + "navigationBarTitleText": "设置", + "navigationStyle": "custom" + } + } + ], + "subPackages": [], + "globalStyle": { + "navigationBarTextStyle": "black", + "navigationBarTitleText": "delivery", + "navigationBarBackgroundColor": "#FFFFFF", + "backgroundColor": "#F3F7F9" + }, + "tabBar": { + "color": "#6B7280", + "selectedColor": "#0F766E", + "backgroundColor": "#FFFFFF", + "borderStyle": "black", + "list": [ + { + "pagePath": "pages/mall/delivery/home/index", + "text": "工作台", + "iconPath": "static/tabbar/home.png", + "selectedIconPath": "static/tabbar/home-active.png" + }, + { + "pagePath": "pages/mall/delivery/orders/index", + "text": "订单", + "iconPath": "static/tabbar/cart.png", + "selectedIconPath": "static/tabbar/cart.png" + }, + { + "pagePath": "pages/mall/delivery/profile/index", + "text": "我的", + "iconPath": "static/tabbar/user.png", + "selectedIconPath": "static/tabbar/user.png" + } + ] + }, + "condition": { + "current": 0, + "list": [ + { + "name": "delivery端", + "path": "pages/user/login", + "query": "mode=delivery&role=delivery" + } + ] + } +} diff --git a/.pages-backup/pages.delivery.2026-05-21T07-48-46-001Z.json b/.pages-backup/pages.delivery.2026-05-21T07-48-46-001Z.json new file mode 100644 index 00000000..7d0d4a37 --- /dev/null +++ b/.pages-backup/pages.delivery.2026-05-21T07-48-46-001Z.json @@ -0,0 +1,117 @@ +{ + "pages": [ + { + "path": "pages/user/register", + "style": { + "navigationBarTitleText": "服务人员注册", + "navigationStyle": "custom" + } + }, + { + "path": "pages/user/terms", + "style": { + "navigationBarTitleText": "用户协议与隐私政策", + "navigationStyle": "custom" + } + }, + { + "path": "pages/user/login", + "style": { + "navigationBarTitleText": "服务人员登录", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/home/index", + "style": { + "navigationBarTitleText": "工作台", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/orders/index", + "style": { + "navigationBarTitleText": "工单列表", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/orders/detail", + "style": { + "navigationBarTitleText": "订单详情", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/service-record/index", + "style": { + "navigationBarTitleText": "服务记录", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/orders/exception", + "style": { + "navigationBarTitleText": "异常上报", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/profile/index", + "style": { + "navigationBarTitleText": "我的", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/profile/settings", + "style": { + "navigationBarTitleText": "设置", + "navigationStyle": "custom" + } + } + ], + "subPackages": [], + "globalStyle": { + "navigationBarTextStyle": "black", + "navigationBarTitleText": "delivery", + "navigationBarBackgroundColor": "#FFFFFF", + "backgroundColor": "#F3F7F9" + }, + "tabBar": { + "color": "#6B7280", + "selectedColor": "#0F766E", + "backgroundColor": "#FFFFFF", + "borderStyle": "black", + "list": [ + { + "pagePath": "pages/mall/delivery/home/index", + "text": "工作台", + "iconPath": "static/tabbar/home.png", + "selectedIconPath": "static/tabbar/home-active.png" + }, + { + "pagePath": "pages/mall/delivery/orders/index", + "text": "订单", + "iconPath": "static/tabbar/cart.png", + "selectedIconPath": "static/tabbar/cart.png" + }, + { + "pagePath": "pages/mall/delivery/profile/index", + "text": "我的", + "iconPath": "static/tabbar/user.png", + "selectedIconPath": "static/tabbar/user.png" + } + ] + }, + "condition": { + "current": 0, + "list": [ + { + "name": "delivery端", + "path": "pages/user/login", + "query": "mode=delivery&role=delivery" + } + ] + } +} diff --git a/.pages-backup/pages.delivery.2026-05-21T07-49-24-464Z.json b/.pages-backup/pages.delivery.2026-05-21T07-49-24-464Z.json new file mode 100644 index 00000000..7d0d4a37 --- /dev/null +++ b/.pages-backup/pages.delivery.2026-05-21T07-49-24-464Z.json @@ -0,0 +1,117 @@ +{ + "pages": [ + { + "path": "pages/user/register", + "style": { + "navigationBarTitleText": "服务人员注册", + "navigationStyle": "custom" + } + }, + { + "path": "pages/user/terms", + "style": { + "navigationBarTitleText": "用户协议与隐私政策", + "navigationStyle": "custom" + } + }, + { + "path": "pages/user/login", + "style": { + "navigationBarTitleText": "服务人员登录", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/home/index", + "style": { + "navigationBarTitleText": "工作台", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/orders/index", + "style": { + "navigationBarTitleText": "工单列表", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/orders/detail", + "style": { + "navigationBarTitleText": "订单详情", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/service-record/index", + "style": { + "navigationBarTitleText": "服务记录", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/orders/exception", + "style": { + "navigationBarTitleText": "异常上报", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/profile/index", + "style": { + "navigationBarTitleText": "我的", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/profile/settings", + "style": { + "navigationBarTitleText": "设置", + "navigationStyle": "custom" + } + } + ], + "subPackages": [], + "globalStyle": { + "navigationBarTextStyle": "black", + "navigationBarTitleText": "delivery", + "navigationBarBackgroundColor": "#FFFFFF", + "backgroundColor": "#F3F7F9" + }, + "tabBar": { + "color": "#6B7280", + "selectedColor": "#0F766E", + "backgroundColor": "#FFFFFF", + "borderStyle": "black", + "list": [ + { + "pagePath": "pages/mall/delivery/home/index", + "text": "工作台", + "iconPath": "static/tabbar/home.png", + "selectedIconPath": "static/tabbar/home-active.png" + }, + { + "pagePath": "pages/mall/delivery/orders/index", + "text": "订单", + "iconPath": "static/tabbar/cart.png", + "selectedIconPath": "static/tabbar/cart.png" + }, + { + "pagePath": "pages/mall/delivery/profile/index", + "text": "我的", + "iconPath": "static/tabbar/user.png", + "selectedIconPath": "static/tabbar/user.png" + } + ] + }, + "condition": { + "current": 0, + "list": [ + { + "name": "delivery端", + "path": "pages/user/login", + "query": "mode=delivery&role=delivery" + } + ] + } +} diff --git a/ak/config.uts b/ak/config.uts index f2547bd3..caa36ea9 100644 --- a/ak/config.uts +++ b/ak/config.uts @@ -122,13 +122,13 @@ const adminProfile: RuntimeProfile = { testMode: true, } -// delivery 沿用项目现有的本地 18000 配置来源,避免继续继承 consumer 的 9126 配置。 +// delivery 恢复到与现有可用数据相同的 9126 实例,避免本地 18000 网关认证失败。 const deliveryProfile: RuntimeProfile = { client: 'delivery', - supaUrl: 'http://192.168.1.62:18000', - supaKey: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjoiYW5vbiIsImlzcyI6InN1cGFiYXNlLTEiLCJpYXQiOjE3Njk2NzY0OTgsImV4cCI6MTkyNzM1NjQ5OH0.ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890', - wsUrl: 'ws://192.168.1.62:18000/realtime/v1/websocket', - pushServerUrl: 'http://192.168.1.62:7301', + supaUrl: consumerProfile.supaUrl, + supaKey: consumerProfile.supaKey, + wsUrl: consumerProfile.wsUrl, + pushServerUrl: consumerProfile.pushServerUrl, homeRedirect: '/pages/mall/delivery/home/index', taborPage: '/pages/mall/delivery/home/index', testMode: true, diff --git a/api/delivery.uts b/api/delivery.uts index 6f8986cd..2cdd7ebd 100644 --- a/api/delivery.uts +++ b/api/delivery.uts @@ -61,11 +61,14 @@ function markMissingDeliveryRpc(functionName: string): void { } function mapLoginError(rawData: UTSJSONObject): string { - const errorMsg = rawData.getString('msg') ?? '' + const errorMsg = rawData.getString('msg') ?? rawData.getString('message') ?? rawData.getString('error') ?? '' const errorCode = rawData.getString('error_code') ?? '' if ((errorMsg.includes('email') && errorMsg.includes('confirm')) || errorCode === 'email_not_confirmed' || (errorMsg.includes('邮箱') && errorMsg.includes('确认'))) { return '邮箱未确认,请先检查邮箱并点击确认链接' } + if (errorMsg.includes('Invalid authentication credentials')) { + return '网关认证失败,请检查 delivery 端的 SUPA_URL 与 SUPA_KEY 是否属于同一套 Supabase 实例' + } if (errorMsg.includes('Invalid login credentials') || errorCode === 'invalid_credentials' || errorMsg.includes('Invalid credentials') || errorMsg.includes('credentials') || errorMsg.includes('invalid')) { return '用户名或密码错误' } diff --git a/components/supadb/aksupa.uts b/components/supadb/aksupa.uts index 90452b1f..679e6756 100644 --- a/components/supadb/aksupa.uts +++ b/components/supadb/aksupa.uts @@ -903,6 +903,8 @@ export class AkSupa { // 核心修复:在这里拦截英文错误并转换为中文 if (rawMsg.includes('Invalid login credentials')) { msg = '用户名或密码错误'; + } else if (rawMsg.includes('Invalid authentication credentials')) { + msg = '网关认证失败,请检查 delivery 端的 SUPA_URL 与 SUPA_KEY 是否属于同一套 Supabase 实例'; } else if (rawMsg != '') { msg = rawMsg; } diff --git a/config/current-client.uts b/config/current-client.uts index e949e472..c13cf1e7 100644 --- a/config/current-client.uts +++ b/config/current-client.uts @@ -1 +1 @@ -export const CURRENT_CLIENT: string = 'consumer' +export const CURRENT_CLIENT: string = 'delivery' diff --git a/pages.json b/pages.json index 60afb4ad..7d0d4a37 100644 --- a/pages.json +++ b/pages.json @@ -1,460 +1,116 @@ { "pages": [ - { - "path": "pages/main/index", - "style": { - "navigationBarTitleText": "首页", - "navigationStyle": "custom", - "enablePullDownRefresh": false - } - }, - { - "path": "pages/user/boot", - "style": { - "navigationBarTitleText": "" - } - }, - { - "path": "pages/user/login", - "style": { - "navigationBarTitleText": "用户登录", - "navigationStyle": "custom" - } - }, { "path": "pages/user/register", "style": { - "navigationBarTitleText": "注册" - } - }, - { - "path": "pages/user/forgot-password", - "style": { - "navigationBarTitleText": "忘记密码" + "navigationBarTitleText": "服务人员注册", + "navigationStyle": "custom" } }, { "path": "pages/user/terms", "style": { - "navigationBarTitleText": "用户协议与隐私政策" - } - }, - { - "path": "pages/user/center", - "style": { - "navigationBarTitleText": "用户中心" - } - }, - { - "path": "pages/user/profile", - "style": { - "navigationBarTitleText": "个人资料" - } - }, - { - "path": "pages/user/change-password", - "style": { - "navigationBarTitleText": "修改密码" - } - }, - { - "path": "pages/user/bind-phone", - "style": { - "navigationBarTitleText": "绑定手机" - } - }, - { - "path": "pages/user/bind-email", - "style": { - "navigationBarTitleText": "绑定邮箱" - } - }, - { - "path": "pages/main/messages", - "style": { - "navigationBarTitleText": "消息", - "enablePullDownRefresh": true - } - }, - { - "path": "pages/main/cart", - "style": { - "navigationBarTitleText": "购物车", + "navigationBarTitleText": "用户协议与隐私政策", "navigationStyle": "custom" } }, { - "path": "pages/main/profile", + "path": "pages/user/login", + "style": { + "navigationBarTitleText": "服务人员登录", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/home/index", + "style": { + "navigationBarTitleText": "工作台", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/orders/index", + "style": { + "navigationBarTitleText": "工单列表", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/orders/detail", + "style": { + "navigationBarTitleText": "订单详情", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/service-record/index", + "style": { + "navigationBarTitleText": "服务记录", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/orders/exception", + "style": { + "navigationBarTitleText": "异常上报", + "navigationStyle": "custom" + } + }, + { + "path": "pages/mall/delivery/profile/index", "style": { "navigationBarTitleText": "我的", "navigationStyle": "custom" } }, { - "path": "pages/main/category", + "path": "pages/mall/delivery/profile/settings", "style": { - "navigationBarTitleText": "分类", + "navigationBarTitleText": "设置", "navigationStyle": "custom" } } ], - "subPackages": [ - { - "root": "pages/mall/consumer", - "pages": [ - { - "path": "settings", - "style": { - "navigationBarTitleText": "设置" - } - }, - { - "path": "edit-profile", - "style": { - "navigationBarTitleText": "编辑资料" - } - }, - { - "path": "wallet", - "style": { - "navigationBarTitleText": "我的钱包" - } - }, - { - "path": "withdraw", - "style": { - "navigationBarTitleText": "余额提现" - } - }, - { - "path": "search", - "style": { - "navigationBarTitleText": "搜索", - "navigationStyle": "custom" - } - }, - { - "path": "product-detail", - "style": { - "navigationBarTitleText": "", - "navigationStyle": "custom" - } - }, - { - "path": "channel-detail", - "style": { - "navigationBarTitleText": "频道详情", - "navigationStyle": "custom" - } - }, - { - "path": "shop-detail", - "style": { - "navigationBarTitleText": "店铺详情" - } - }, - { - "path": "coupons", - "style": { - "navigationBarTitleText": "我的优惠券" - } - }, - { - "path": "favorites", - "style": { - "navigationBarTitleText": "我的收藏" - } - }, - { - "path": "footprint", - "style": { - "navigationBarTitleText": "我的足迹" - } - }, - { - "path": "address", - "style": { - "navigationBarTitleText": "地址" - } - }, - { - "path": "address-list", - "style": { - "navigationBarTitleText": "收货地址" - } - }, - { - "path": "address-edit", - "style": { - "navigationBarTitleText": "编辑地址" - } - }, - { - "path": "checkout", - "style": { - "navigationBarTitleText": "确认订单" - } - }, - { - "path": "payment", - "style": { - "navigationBarTitleText": "收银台" - } - }, - { - "path": "payment-success", - "style": { - "navigationBarTitleText": "支付成功", - "navigationStyle": "custom" - } - }, - { - "path": "orders", - "style": { - "navigationBarTitleText": "我的订单", - "enablePullDownRefresh": true - } - }, - { - "path": "order-detail", - "style": { - "navigationBarTitleText": "订单详情" - } - }, - { - "path": "logistics", - "style": { - "navigationBarTitleText": "物流详情" - } - }, - { - "path": "review", - "style": { - "navigationBarTitleText": "评价晒单" - } - }, - { - "path": "refund", - "style": { - "navigationBarTitleText": "退款/售后" - } - }, - { - "path": "apply-refund", - "style": { - "navigationBarTitleText": "申请售后" - } - }, - { - "path": "refund-review", - "style": { - "navigationBarTitleText": "服务评价" - } - }, - { - "path": "chat", - "style": { - "navigationBarTitleText": "客服聊天", - "navigationStyle": "custom" - } - }, - { - "path": "chat_new", - "style": { - "navigationBarTitleText": "客服聊天(新版)" - } - }, - { - "path": "subscription/plan-list", - "style": { - "navigationBarTitleText": "软件订阅" - } - }, - { - "path": "subscription/plan-detail", - "style": { - "navigationBarTitleText": "订阅详情" - } - }, - { - "path": "subscription/subscribe-checkout", - "style": { - "navigationBarTitleText": "确认订阅" - } - }, - { - "path": "subscription/my-subscriptions", - "style": { - "navigationBarTitleText": "我的订阅" - } - }, - { - "path": "subscription/followed-shops", - "style": { - "navigationBarTitleText": "关注店铺" - } - }, - { - "path": "points/index", - "style": { - "navigationBarTitleText": "积分管理" - } - }, - { - "path": "points/signin", - "style": { - "navigationBarTitleText": "签到" - } - }, - { - "path": "points/exchange", - "style": { - "navigationBarTitleText": "积分兑换" - } - }, - { - "path": "points/exchange-records", - "style": { - "navigationBarTitleText": "兑换记录" - } - }, - { - "path": "red-packets/index", - "style": { - "navigationBarTitleText": "我的红包" - } - }, - { - "path": "bank-cards/index", - "style": { - "navigationBarTitleText": "银行卡管理" - } - }, - { - "path": "bank-cards/add", - "style": { - "navigationBarTitleText": "添加银行卡" - } - }, - { - "path": "home-service/index", - "style": { - "navigationBarTitleText": "居家上门服务", - "navigationStyle": "custom" - } - }, - { - "path": "home-service/apply", - "style": { - "navigationBarTitleText": "提交服务申请", - "navigationStyle": "custom" - } - }, - { - "path": "home-service/service-detail", - "style": { - "navigationBarTitleText": "预约服务", - "navigationStyle": "custom" - } - }, - { - "path": "home-service/order-detail", - "style": { - "navigationBarTitleText": "服务单详情", - "navigationStyle": "custom" - } - }, - { - "path": "home-service/feedback", - "style": { - "navigationBarTitleText": "验收反馈", - "navigationStyle": "custom" - } - }, - { - "path": "bank-cards/verify", - "style": { - "navigationBarTitleText": "银行卡验证" - } - }, - { - "path": "balance/index", - "style": { - "navigationBarTitleText": "余额" - } - }, - { - "path": "my-reviews", - "style": { - "navigationBarTitleText": "我的评价" - } - }, - { - "path": "message-detail", - "style": { - "navigationBarTitleText": "消息详情" - } - }, - { - "path": "member/index", - "style": { - "navigationBarTitleText": "会员中心" - } - }, - { - "path": "product-reviews", - "style": { - "navigationBarTitleText": "商品评价" - } - } - ] - } - ], + "subPackages": [], + "globalStyle": { + "navigationBarTextStyle": "black", + "navigationBarTitleText": "delivery", + "navigationBarBackgroundColor": "#FFFFFF", + "backgroundColor": "#F3F7F9" + }, "tabBar": { - "color": "#999999", - "selectedColor": "#ff5000", - "backgroundColor": "#ffffff", + "color": "#6B7280", + "selectedColor": "#0F766E", + "backgroundColor": "#FFFFFF", "borderStyle": "black", "list": [ { - "pagePath": "pages/main/index", - "text": "首页", + "pagePath": "pages/mall/delivery/home/index", + "text": "工作台", "iconPath": "static/tabbar/home.png", "selectedIconPath": "static/tabbar/home-active.png" }, { - "pagePath": "pages/main/messages", - "text": "消息", - "iconPath": "static/tabbar/message.png", - "selectedIconPath": "static/tabbar/message.png" - }, - { - "pagePath": "pages/main/cart", - "text": "购物车", + "pagePath": "pages/mall/delivery/orders/index", + "text": "订单", "iconPath": "static/tabbar/cart.png", "selectedIconPath": "static/tabbar/cart.png" }, { - "pagePath": "pages/main/profile", + "pagePath": "pages/mall/delivery/profile/index", "text": "我的", "iconPath": "static/tabbar/user.png", "selectedIconPath": "static/tabbar/user.png" } ] }, - "globalStyle": { - "navigationBarTextStyle": "black", - "navigationBarTitleText": "mall", - "navigationBarBackgroundColor": "#FFFFFF", - "backgroundColor": "#F8F8F8" - }, "condition": { "current": 0, "list": [ { - "name": "consumer端", - "path": "pages/main/index", - "query": "role=consumer" + "name": "delivery端", + "path": "pages/user/login", + "query": "mode=delivery&role=delivery" } ] } diff --git a/pages/mall/delivery/home/index.uvue b/pages/mall/delivery/home/index.uvue index 2452c0b0..ed538c1f 100644 --- a/pages/mall/delivery/home/index.uvue +++ b/pages/mall/delivery/home/index.uvue @@ -88,7 +88,7 @@ import { computed, ref } from 'vue' import { onShow } from '@dcloudio/uni-app' import ServicePageScaffold from '@/components/homeService/ServicePageScaffold.uvue' -import type { DeliveryDashboardType, DeliveryInfoType } from '@/types/delivery.uts' +import type { DeliveryInfoType } from '@/types/delivery.uts' import { acceptServiceOrder, getDeliveryDashboardStats, getDeliveryProfile, markDeparted } from '@/services/deliveryService.uts' import { getNextStepText, getPrimaryActionText } from '@/utils/deliveryCareUi.uts' import { requireDeliveryAuth } from '@/utils/deliveryAuth.uts' @@ -105,7 +105,7 @@ const dashboard = ref({ onlineStatus: 'online', nextOrder: null, recentOrders: [] as Array -} as DeliveryDashboardType) +}) const profile = ref(null) const profileName = computed((): string => profile.value != null ? profile.value.name : '服务人员') @@ -428,577 +428,3 @@ onShow(() => { padding: 24rpx 0; } - console.log('[deliveryHome] loadData complete, elapsed=' + (Date.now() - startedAt)) -} - -function goOrders(tab: string) { - uni.setStorageSync('delivery_orders_tab', tab) - uni.switchTab({ url: '/pages/mall/delivery/orders/index' }) -} - -function goDetail(id: string) { - uni.navigateTo({ url: '/pages/mall/delivery/orders/detail?id=' + id }) -} - -function goMessages() { - uni.switchTab({ url: '/pages/mall/delivery/messages/index' }) -} - -function goRecords() { - uni.navigateTo({ url: '/pages/mall/delivery/records/index' }) -} - -onShow(() => { - loadData() -}) - - - \ No newline at end of file diff --git a/pages/mall/delivery/orders/index.uvue b/pages/mall/delivery/orders/index.uvue index 1cbe3f0c..e19ede4c 100644 --- a/pages/mall/delivery/orders/index.uvue +++ b/pages/mall/delivery/orders/index.uvue @@ -127,7 +127,7 @@ function rejectOrder(orderId: string) { loadData() } }) - } +} async function handleAction(orderId: string, status: DeliveryOrderStatus) { if (status == 'pending_assignment' || status == 'pending_accept') { @@ -175,7 +175,7 @@ async function handleAction(orderId: string, status: DeliveryOrderStatus) { return } goDetail(orderId) - } +} onLoad(() => { consumeStoredTab() @@ -365,459 +365,4 @@ onShow(() => { .empty-box { padding: 24rpx 0; } - -} - -function consumeStoredTab(): void { - const storedTab = uni.getStorageSync('delivery_orders_tab') as string | null - if (storedTab != null && storedTab != '') { - uni.removeStorageSync('delivery_orders_tab') - applyTab(storedTab) - } -} - -function getEmptyText(): string { - if (currentTab.value == 'pending_accept') { - return '暂无待接单工单' - } - if (currentTab.value == 'accepted') { - return '暂无待出发工单' - } - if (currentTab.value == 'serving') { - return '暂无服务中工单' - } - if (currentTab.value == 'pending_submit') { - return '暂无待提交工单' - } - if (currentTab.value == 'completed') { - return '暂无已完成工单' - } - if (currentTab.value == 'exception') { - return '暂无异常工单' - } - return '暂无工单' -} - -function formatRiskTags(tags: Array): string { - if (tags.length == 0) { - return '常规服务' - } - return tags.join(' / ') -} - -function getPrimaryActionText(status: string): string { - if (status == 'pending_accept') { - return '立即接单' - } - if (status == 'accepted') { - return '准备出发' - } - if (status == 'on_the_way' || status == 'arrived') { - return '去签到' - } - if (status == 'checked_in' || status == 'serving' || status == 'pending_submit' || status == 'pending_acceptance') { - return '继续服务' - } - if (status == 'exception_pending') { - return '处理异常' - } - if (status == 'completed' || status == 'settled' || status == 'archived') { - return '查看结果' - } - return '查看详情' -} - -function getPrimaryActionClass(status: string): string { - if (status == 'pending_accept') { - return 'action-warning' - } - if (status == 'accepted' || status == 'on_the_way' || status == 'arrived') { - return 'action-primary' - } - if (status == 'checked_in' || status == 'serving' || status == 'pending_submit' || status == 'pending_acceptance') { - return 'action-teal' - } - if (status == 'exception_pending') { - return 'action-danger' - } - if (status == 'completed' || status == 'settled' || status == 'archived') { - return 'action-success' - } - return 'action-default' -} - -function getStatusSurfaceClass(status: string): string { - if (status == 'pending_accept') { - return 'status-surface-warning' - } - if (status == 'accepted' || status == 'on_the_way' || status == 'arrived') { - return 'status-surface-primary' - } - if (status == 'checked_in' || status == 'serving' || status == 'pending_submit' || status == 'pending_acceptance') { - return 'status-surface-teal' - } - if (status == 'exception_pending') { - return 'status-surface-danger' - } - if (status == 'completed' || status == 'settled' || status == 'archived') { - return 'status-surface-success' - } - return 'status-surface-default' -} - -async function loadData() { - const authResult = await requireDeliveryAuth({ redirectOnFail: true, toastOnFail: true }) - if (!authResult.ok) { - return - } - orders.value = await getDeliveryOrders({ tab: currentTab.value, keyword: '' }) -} - -function switchTab(tab: string) { - if (currentTab.value == tab) { - return - } - applyTab(tab) - loadData() -} - -function goDetail(id: string) { - uni.navigateTo({ url: '/pages/mall/delivery/orders/detail?id=' + id }) -} - -function goRoute(id: string) { - uni.navigateTo({ url: '/pages/mall/delivery/orders/route?id=' + id }) -} - -function goCheckin(id: string) { - uni.navigateTo({ url: '/pages/mall/delivery/orders/checkin?id=' + id }) -} - -function goExecute(id: string) { - uni.navigateTo({ url: '/pages/mall/delivery/orders/execute?id=' + id }) -} - -function acceptOrder(id: string) { - uni.showModal({ - title: '确认接单', - content: '接单后将展示完整服务对象信息,并进入待出发状态。', - success: async (result) => { - if (result.confirm) { - await acceptDeliveryOrder(id) - uni.showToast({ title: '接单成功', icon: 'success' }) - loadData() - } - } - }) -} - -onLoad((options) => { - let routeTab = '' - if (options != null) { - const tab = getDeliveryRouteParam(options as UTSJSONObject, 'tab') - if (tab != null && tab != '') { - routeTab = tab - } - } - if (routeTab != '') { - uni.removeStorageSync('delivery_orders_tab') - applyTab(routeTab) - } else { - consumeStoredTab() - } - loadData() -}) - -onShow(() => { - consumeStoredTab() - loadData() -}) - - - \ No newline at end of file diff --git a/uni_modules/ak-req/ak-req.uts b/uni_modules/ak-req/ak-req.uts index 06a212cd..8ad380ab 100644 --- a/uni_modules/ak-req/ak-req.uts +++ b/uni_modules/ak-req/ak-req.uts @@ -342,8 +342,11 @@ export class AkReq { // 前端 header 检查 if (sentApikey == null || sentApikey === '') { console.error('[ak-req] ✗ 前端问题:apikey 未发送,检查 SUPA_KEY 是否已配置') + } else if ((sentAuth == null || sentAuth === '') && authMode == 'apikey-only') { + console.error('[ak-req] ℹ 当前请求按 apikey-only 模式发送,这是匿名登录/匿名接口的预期行为') + console.error('[ak-req] ✗ 401 更可能来自服务端网关认证:请检查 SUPA_URL 对应实例与 SUPA_KEY/ANON_KEY 是否匹配') } else if (sentAuth == null || sentAuth === '') { - console.error('[ak-req] ✗ 前端问题:Authorization 未发送(本次修复后不应再出现此情况)') + console.error('[ak-req] ✗ 前端问题:Authorization 未发送,请检查当前请求是否应携带用户 token 或显式 Authorization') } else { console.error('[ak-req] ✓ 前端 header 已正确发送,401 来自服务端') console.error('[ak-req] 请运维核查以下服务端配置:') diff --git a/utils/pagesMode.uts b/utils/pagesMode.uts index 6bd5cc62..ef2e3a8a 100644 --- a/utils/pagesMode.uts +++ b/utils/pagesMode.uts @@ -1 +1 @@ -export const CURRENT_PAGES_MODE = 'consumer' +export const CURRENT_PAGES_MODE = 'delivery' diff --git a/报错信息.txt b/报错信息.txt index 041e5b70..b449fc3a 100644 --- a/报错信息.txt +++ b/报错信息.txt @@ -1,326 +1,462 @@ -mp.esm.js:529 [parseProductFromRaw] 商品解析成功: iPhone 15 Pro 256GB 深空黑色 -mp.esm.js:529 [parseProductFromRaw] 开始解析商品 -mp.esm.js:529 [parseProductFromRaw] JSON转换成功 -mp.esm.js:529 [parseProductFromRaw] 图片处理完成 -mp.esm.js:529 [parseProductFromRaw] 商品解析成功: vc -mp.esm.js:529 [parseProductFromRaw] 开始解析商品 -mp.esm.js:529 [parseProductFromRaw] JSON转换成功 -mp.esm.js:529 [parseProductFromRaw] 图片处理完成 -mp.esm.js:529 [parseProductFromRaw] 商品解析成功: Nike Air Max 270 男士运动鞋 -mp.esm.js:529 [parseProductFromRaw] 开始解析商品 -mp.esm.js:529 [parseProductFromRaw] JSON转换成功 -mp.esm.js:529 [parseProductFromRaw] 图片处理完成 -mp.esm.js:529 [parseProductFromRaw] 商品解析成功: 店铺1 - 甄选商品 1 -mp.esm.js:529 [consumer-db] 查询成功,动作: getRecommendedProducts -mp.esm.js:529 [consumer-db] 查询成功,表: ml_products_detail_view -mp.esm.js:529 [consumer-db] 查询成功,数量: 6 -mp.esm.js:529 === index页面onShow被调用 === -mp.esm.js:529 主页重新显示,重置页面状态 -mp.esm.js:529 主页首次显示,跳过onShow中的用户资料检查,交由initData处理 -mp.esm.js:529 === index页面onShow执行完成 === -wx.getSystemInfoSync is deprecated.Please use wx.getSystemSetting/wx.getAppAuthorizeSetting/wx.getDeviceInfo/wx.getWindowInfo/wx.getAppBaseInfo instead. +uni.api.esm.js:1042 POST http://192.168.1.62:18000/auth/v1/token?grant_type=password 401 (Unauthorized)(env: Windows,mp,1.06.2504030; lib: 3.15.2) (anonymous) @ uni.api.esm.js:1042 -initPage @ index.uvue:1232 -(anonymous) @ index.uvue:1281 -(anonymous) @ vue.runtime.esm.js:2483 +invokeApi @ uni.api.esm.js:330 +promiseApi @ uni.api.esm.js:889 +(anonymous) @ ak-req.uts:214 +doOnce @ ak-req.uts:213 +_loop$ @ ak-req.uts:312 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +s @ regeneratorRuntime.js?forceSync=true:1 +_ @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +fulfilled @ uni.mp.esm.js:1134 +Promise.then (async) +step @ uni.mp.esm.js:1134 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +request @ ak-req.uts:148 +_callee9$ @ aksupa.uts:887 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +signIn @ aksupa.uts:876 +_callee3$ @ delivery.uts:1506 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +loginDelivery @ delivery.uts:1500 +_callee$ @ deliveryService.uts:42 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +loginDelivery @ deliveryService.uts:41 +_callee5$ @ login.uvue:495 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +handleLogin @ login.uvue:477 callWithErrorHandling @ vue.runtime.esm.js:1356 callWithAsyncErrorHandling @ vue.runtime.esm.js:1363 -hook.__weh.hook.__weh @ vue.runtime.esm.js:2461 -invokeArrayFns @ uni-shared.es.js:1344 -callHook @ uni.mp.esm.js:241 -ready @ uni.mp.esm.js:1039 -mp.esm.js:529 [consumer-db] 当前端类型: consumer -mp.esm.js:529 [consumer-db] 当前应用角色: consumer -mp.esm.js:529 [consumer-db] supabaseUrl 已加载: http://119.146.131.237:9126 -mp.esm.js:529 [consumer-db] supabaseKey 已加载: eyJhbGciOi...34567890 -mp.esm.js:529 [consumer-db] 首页开始加载数据 -mp.esm.js:529 [AkSupaQueryBuilder] execute - 表: ak_users filter: auth_id=eq.b653fded-7d5e-4950-aa0d-725595543e3c -mp.esm.js:529 [ak-req] GET http://119.146.131.237:9126/rest/v1/ak_users?select=*&auth_id=eq.b653fded-7d5e-4950-aa0d-725595543e3c -mp.esm.js:529 [ak-req] apikey: eyJhbG...7890 | Authorization: Bearer eyJhbG...94F4 | auth-mode: pre-set | prefer: (none) -mp.esm.js:529 Profile Load Result: AkReqResponse {status: 200, data: Array(1), headers: Proxy, error: null, total: 1, …} -mp.esm.js:529 主页初始化:用户资料加载完成 -mp.esm.js:529 [consumer-db] 当前端类型: consumer -mp.esm.js:529 [consumer-db] 当前应用角色: consumer -mp.esm.js:529 [consumer-db] supabaseUrl 已加载: http://119.146.131.237:9126 -mp.esm.js:529 [consumer-db] supabaseKey 已加载: eyJhbGciOi...34567890 -mp.esm.js:529 [consumer-db] 首页开始加载数据 -mp.esm.js:529 [consumer-db] 查询表: ml_categories -mp.esm.js:529 [consumer-db] 查询字段: * -mp.esm.js:529 [consumer-db] 查询动作: getParentCategories -mp.esm.js:529 [AkSupaQueryBuilder] execute - 表: ml_categories filter: level=eq.1 -mp.esm.js:529 [ak-req] GET http://119.146.131.237:9126/rest/v1/ml_categories?select=*&order=sort_order.asc&level=eq.1 -mp.esm.js:529 [ak-req] apikey: eyJhbG...7890 | Authorization: Bearer eyJhbG...94F4 | auth-mode: pre-set | prefer: (none) -mp.esm.js:529 [consumer-db] 查询成功,动作: getParentCategories -mp.esm.js:529 [consumer-db] 查询成功,表: ml_categories -mp.esm.js:529 [consumer-db] 查询成功,数量: 9 -mp.esm.js:529 一级分类数据: [{"id":"e3a8b95c-80ad-4a64-8962-7663d55697f0","name":"数码电器","icon":"📱","description":"手机、电脑、家电等数码产品","color":"#ff5000","parent_id":null,"level":1,"slug":"digital","created_at":null},{"id":"86cfa659-fae9-4f84-920f-75073907eecc","name":"服装鞋帽","icon":"👕","description":"男装、女装、鞋子、配饰","color":"#ff5000","parent_id":null,"level":1,"slug":"fashion","created_at":null},{"id":"79cd5b69-f914-4358-ac05-bcce9919c483","name":"家居用品","icon":"🏠","description":"家具、装饰、生活用品","color":"#ff5000","parent_id":null,"level":1,"slug":"home","created_at":null},{"id":"ad6cb41c-eca6-4f81-a5ba-8177a621497f","name":"食品饮料","icon":"🍎","description":"新鲜食材、零食、饮品","color":"#ff5000","parent_id":null,"level":1,"slug":"food","created_at":null},{"id":"55169612-358e-4203-8c98-33d037cd7dde","name":"美妆护肤","icon":"💄","description":"化妆品、护肤品、个人护理","color":"#ff5000","parent_id":null,"level":1,"slug":"beauty","created_at":null},{"id":"5a1b6acc-104e-4b2b-b2a1-47a715155b0c","name":"运动户外","icon":"⚽","description":"运动器材、户外装备、健身用品","color":"#ff5000","parent_id":null,"level":1,"slug":"sports","created_at":null},{"id":"bc77baa7-c17b-40ff-a276-aabcf6c92f5e","name":"图书文娱","icon":"📚","description":"图书、音像、文具、玩具","color":"#ff5000","parent_id":null,"level":1,"slug":"books","created_at":null},{"id":"d3fa79f9-0dc7-4984-a7b3-742e802b99c9","name":"母婴用品","icon":"👶","description":"婴儿用品、孕妇用品、儿童玩具","color":"#ff5000","parent_id":null,"level":1,"slug":"baby","created_at":null},{"id":"65d46471-90e7-468b-a515-d039cfa29c35","name":"医药健康","icon":"💊","description":"","color":"#ff5000","parent_id":null,"level":1,"slug":"health","created_at":null}] -mp.esm.js:529 [consumer-db] 当前端类型: consumer -mp.esm.js:529 [consumer-db] 当前应用角色: consumer -mp.esm.js:529 [consumer-db] supabaseUrl 已加载: http://119.146.131.237:9126 -mp.esm.js:529 [consumer-db] supabaseKey 已加载: eyJhbGciOi...34567890 -mp.esm.js:529 [consumer-db] 首页开始加载数据 -mp.esm.js:529 [consumer-db] 查询表: ml_brands -mp.esm.js:529 [consumer-db] 查询字段: id, name, logo_url, description, is_active -mp.esm.js:529 [consumer-db] 查询动作: getBrands -mp.esm.js:529 [getBrands] 开始获取品牌数据... -mp.esm.js:529 [AkSupaQueryBuilder] execute - 表: ml_brands filter: null -mp.esm.js:529 [ak-req] GET http://119.146.131.237:9126/rest/v1/ml_brands?select=id%2C%20name%2C%20logo_url%2C%20description%2C%20is_active&order=name.asc -mp.esm.js:529 [ak-req] apikey: eyJhbG...7890 | Authorization: Bearer eyJhbG...94F4 | auth-mode: pre-set | prefer: (none) -mp.esm.js:529 [getBrands] 数据条数: 10 -mp.esm.js:529 [getBrands] 返回品牌数量: 10 -mp.esm.js:529 [consumer-db] 查询成功,动作: getBrands -mp.esm.js:529 [consumer-db] 查询成功,表: ml_brands -mp.esm.js:529 [consumer-db] 查询成功,数量: 10 -mp.esm.js:529 [consumer-db] 当前端类型: consumer -mp.esm.js:529 [consumer-db] 当前应用角色: consumer -mp.esm.js:529 [consumer-db] supabaseUrl 已加载: http://119.146.131.237:9126 -mp.esm.js:529 [consumer-db] supabaseKey 已加载: eyJhbGciOi...34567890 -mp.esm.js:529 [consumer-db] 首页开始加载数据 -mp.esm.js:529 [consumer-db] 查询表: ml_search_history -mp.esm.js:529 [consumer-db] 查询字段: keyword -mp.esm.js:529 [consumer-db] 查询动作: getHotKeywords -mp.esm.js:529 [AkSupaQueryBuilder] execute - 表: ml_search_history filter: null -mp.esm.js:529 [ak-req] GET http://119.146.131.237:9126/rest/v1/ml_search_history?select=keyword&limit=100&order=created_at.desc -mp.esm.js:529 [ak-req] apikey: eyJhbG...7890 | Authorization: Bearer eyJhbG...94F4 | auth-mode: pre-set | prefer: count=exact -mp.esm.js:529 [consumer-db] 查询成功,动作: getHotKeywords -mp.esm.js:529 [consumer-db] 查询成功,表: ml_search_history -mp.esm.js:529 [consumer-db] 查询成功,数量: 3 -mp.esm.js:529 加载热搜词: 3 个 -mp.esm.js:529 [consumer-db] 当前端类型: consumer -mp.esm.js:529 [consumer-db] 当前应用角色: consumer -mp.esm.js:529 [consumer-db] supabaseUrl 已加载: http://119.146.131.237:9126 -mp.esm.js:529 [consumer-db] supabaseKey 已加载: eyJhbGciOi...34567890 -mp.esm.js:529 [consumer-db] 首页开始加载数据 -mp.esm.js:529 [consumer-db] 查询表: ml_products_detail_view -mp.esm.js:529 [consumer-db] 查询字段: composed: search_history + browse_history + products_detail_view -mp.esm.js:529 [consumer-db] 查询动作: getSmartRecommendations -mp.esm.js:529 [getSmartRecommendations] 开始获取智能推荐... -mp.esm.js:529 [AkSupaQueryBuilder] execute - 表: ml_search_history filter: null -mp.esm.js:529 [ak-req] GET http://119.146.131.237:9126/rest/v1/ml_search_history?select=keyword&limit=10&order=created_at.desc -mp.esm.js:529 [ak-req] apikey: eyJhbG...7890 | Authorization: Bearer eyJhbG...94F4 | auth-mode: pre-set | prefer: count=exact -mp.esm.js:529 [getSmartRecommendations] 用户搜索历史: [] -mp.esm.js:529 [AkSupaQueryBuilder] execute - 表: ml_browse_history filter: null -mp.esm.js:529 [ak-req] GET http://119.146.131.237:9126/rest/v1/ml_browse_history?select=product_id&limit=20&order=created_at.desc -mp.esm.js:529 [ak-req] apikey: eyJhbG...7890 | Authorization: Bearer eyJhbG...94F4 | auth-mode: pre-set | prefer: count=exact -mp.esm.js:529 [getSmartRecommendations] 用户浏览分类: [] -mp.esm.js:529 [getHotProducts] 开始获取热销商品... -mp.esm.js:529 [AkSupaQueryBuilder] execute - 表: ml_products_detail_view filter: status=eq.1 -mp.esm.js:529 [ak-req] GET http://119.146.131.237:9126/rest/v1/ml_products_detail_view?select=*&limit=60&order=sale_count.desc&status=eq.1 -mp.esm.js:529 [ak-req] apikey: eyJhbG...7890 | Authorization: Bearer eyJhbG...94F4 | auth-mode: pre-set | prefer: count=exact -mp.esm.js:529 [getHotProducts] 原始数据条数: 60 -mp.esm.js:529 [parseProductFromRaw] 开始解析商品 -mp.esm.js:529 [parseProductFromRaw] JSON转换成功 -mp.esm.js:529 [parseProductFromRaw] 图片处理完成 -mp.esm.js:529 [parseProductFromRaw] 商品解析成功: iPhone 15 Pro 256GB 深空黑色 -mp.esm.js:529 [parseProductFromRaw] 开始解析商品 -mp.esm.js:529 [parseProductFromRaw] JSON转换成功 -mp.esm.js:529 [parseProductFromRaw] 图片处理完成 -mp.esm.js:529 [parseProductFromRaw] 商品解析成功: Nike Air Max 270 男士运动鞋 -mp.esm.js:529 [parseProductFromRaw] 开始解析商品 -mp.esm.js:529 [parseProductFromRaw] JSON转换成功 -mp.esm.js:529 [parseProductFromRaw] 图片处理完成 -mp.esm.js:529 [parseProductFromRaw] 商品解析成功: 厨具精选优品 4号 - 超值装 -mp.esm.js:529 [parseProductFromRaw] 开始解析商品 -mp.esm.js:529 [parseProductFromRaw] JSON转换成功 -mp.esm.js:529 [parseProductFromRaw] 图片处理完成 -mp.esm.js:529 [parseProductFromRaw] 商品解析成功: 老干妈风味豆豉 -mp.esm.js:529 [parseProductFromRaw] 开始解析商品 -mp.esm.js:529 [parseProductFromRaw] JSON转换成功 -mp.esm.js:529 [parseProductFromRaw] 图片处理完成 -mp.esm.js:529 [parseProductFromRaw] 商品解析成功: 男装精选优品 4号 - 超值装 -mp.esm.js:529 [parseProductFromRaw] 开始解析商品 -mp.esm.js:529 [parseProductFromRaw] JSON转换成功 -mp.esm.js:529 [parseProductFromRaw] 图片处理完成 -mp.esm.js:529 [parseProductFromRaw] 商品解析成功: 新鲜水果精选优品 2号 - 家庭装 -mp.esm.js:529 [parseProductFromRaw] 开始解析商品 -mp.esm.js:529 [parseProductFromRaw] JSON转换成功 -mp.esm.js:529 [parseProductFromRaw] 图片处理完成 -mp.esm.js:529 [parseProductFromRaw] 商品解析成功: 零食坚果精选优品 4号 - 超值装 -mp.esm.js:529 [parseProductFromRaw] 开始解析商品 -mp.esm.js:529 [parseProductFromRaw] JSON转换成功 -mp.esm.js:529 [parseProductFromRaw] 图片处理完成 -mp.esm.js:529 [parseProductFromRaw] 商品解析成功: 测试1 -mp.esm.js:529 [parseProductFromRaw] 开始解析商品 -mp.esm.js:529 [parseProductFromRaw] JSON转换成功 -mp.esm.js:529 [parseProductFromRaw] 图片处理完成 -mp.esm.js:529 [parseProductFromRaw] 商品解析成功: 瑞山天泉15L(20桶送2桶) -mp.esm.js:529 [parseProductFromRaw] 开始解析商品 -mp.esm.js:529 [parseProductFromRaw] JSON转换成功 -mp.esm.js:529 [parseProductFromRaw] 图片处理完成 -mp.esm.js:529 [parseProductFromRaw] 商品解析成功: 加厚垃圾袋 -mp.esm.js:529 [parseProductFromRaw] 开始解析商品 -mp.esm.js:529 [parseProductFromRaw] JSON转换成功 -mp.esm.js:529 [parseProductFromRaw] 图片处理完成 -mp.esm.js:529 [parseProductFromRaw] 商品解析成功: 瑞山天泉15L(20桶送2桶) -mp.esm.js:529 [parseProductFromRaw] 开始解析商品 -mp.esm.js:529 [parseProductFromRaw] JSON转换成功 -mp.esm.js:529 [parseProductFromRaw] 图片处理完成 -mp.esm.js:529 [parseProductFromRaw] 商品解析成功: 宜家 - 明星单品系列 03 -mp.esm.js:529 [getHotProducts] 最终返回商品数: 12 -mp.esm.js:529 [getSmartRecommendations] 返回商品数量: 6 -mp.esm.js:529 [consumer-db] 查询成功,动作: getSmartRecommendations -mp.esm.js:529 [consumer-db] 查询成功,表: ml_products_detail_view -mp.esm.js:529 [consumer-db] 查询成功,数量: 6 -mp.esm.js:529 [consumer-db] 当前端类型: consumer -mp.esm.js:529 [consumer-db] 当前应用角色: consumer -mp.esm.js:529 [consumer-db] supabaseUrl 已加载: http://119.146.131.237:9126 -mp.esm.js:529 [consumer-db] supabaseKey 已加载: eyJhbGciOi...34567890 -mp.esm.js:529 [consumer-db] 首页开始加载数据 -mp.esm.js:529 [consumer-db] 查询表: ml_products_detail_view -mp.esm.js:529 [consumer-db] 查询字段: id, name, description, base_price, market_price, main_image_url, image_urls, category_id, brand_id, merchant_id, total_stock, sale_count, status, is_featured, is_new, is_hot -mp.esm.js:529 [consumer-db] 查询动作: getRecommendedProducts -mp.esm.js:529 [getRecommendedProducts] 开始获取推荐商品... -mp.esm.js:529 [AkSupaQueryBuilder] execute - 表: ml_products_detail_view filter: status=eq.1 -mp.esm.js:529 [ak-req] GET http://119.146.131.237:9126/rest/v1/ml_products_detail_view?select=id%2C%20name%2C%20description%2C%20base_price%2C%20market_price%2C%20main_image_url%2C%20image_urls%2C%20category_id%2C%20brand_id%2C%20merchant_id%2C%20total_stock%2C%20sale_count%2C%20status%2C%20is_featured%2C%20is_new%2C%20is_hot&limit=30&order=sale_count.desc&status=eq.1 -mp.esm.js:529 [ak-req] apikey: eyJhbG...7890 | Authorization: Bearer eyJhbG...94F4 | auth-mode: pre-set | prefer: count=exact -mp.esm.js:529 [getRecommendedProducts] 查询完成 -mp.esm.js:529 [getRecommendedProducts] 数据条数: 30 -mp.esm.js:529 [parseProductFromRaw] 开始解析商品 -mp.esm.js:529 [parseProductFromRaw] JSON转换成功 -mp.esm.js:529 [parseProductFromRaw] 图片处理完成 -mp.esm.js:529 [parseProductFromRaw] 商品解析成功: 九阳破壁机 -mp.esm.js:529 [parseProductFromRaw] 开始解析商品 -mp.esm.js:529 [parseProductFromRaw] JSON转换成功 -mp.esm.js:529 [parseProductFromRaw] 图片处理完成 -mp.esm.js:529 [parseProductFromRaw] 商品解析成功: UNIQLO 优质棉圆领T恤(短袖) -mp.esm.js:529 [parseProductFromRaw] 开始解析商品 -mp.esm.js:529 [parseProductFromRaw] JSON转换成功 -mp.esm.js:529 [parseProductFromRaw] 图片处理完成 -mp.esm.js:529 [parseProductFromRaw] 商品解析成功: iPhone 15 Pro 256GB 深空黑色 -mp.esm.js:529 [parseProductFromRaw] 开始解析商品 -mp.esm.js:529 [parseProductFromRaw] JSON转换成功 -mp.esm.js:529 [parseProductFromRaw] 图片处理完成 -mp.esm.js:529 [parseProductFromRaw] 商品解析成功: vc -mp.esm.js:529 [parseProductFromRaw] 开始解析商品 -mp.esm.js:529 [parseProductFromRaw] JSON转换成功 -mp.esm.js:529 [parseProductFromRaw] 图片处理完成 -mp.esm.js:529 [parseProductFromRaw] 商品解析成功: Nike Air Max 270 男士运动鞋 -mp.esm.js:529 [parseProductFromRaw] 开始解析商品 -mp.esm.js:529 [parseProductFromRaw] JSON转换成功 -mp.esm.js:529 [parseProductFromRaw] 图片处理完成 -mp.esm.js:529 [parseProductFromRaw] 商品解析成功: 店铺1 - 甄选商品 1 -mp.esm.js:529 [consumer-db] 查询成功,动作: getRecommendedProducts -mp.esm.js:529 [consumer-db] 查询成功,表: ml_products_detail_view -mp.esm.js:529 [consumer-db] 查询成功,数量: 6 -[自动热重载] 已开启代码文件保存后自动热重载 -wx.getSystemInfoSync is deprecated.Please use wx.getSystemSetting/wx.getAppAuthorizeSetting/wx.getDeviceInfo/wx.getWindowInfo/wx.getAppBaseInfo instead. -(anonymous) @ uni.api.esm.js:1042 -initPage @ profile.uvue:780 -onLoad @ profile.uvue:376 +invoke @ vue.runtime.esm.js:6223 +setTimeout (async) +invoker @ vue.runtime.esm.js:6232 +Show 19 more frames +mp.esm.js:529 [ak-req] ★ 401 Unauthorized(env: Windows,mp,1.06.2504030; lib: 3.15.2) +(anonymous) @ mp.esm.js:529 +__f__ @ uni.api.esm.js:590 +_callee2$ @ ak-req.uts:336 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +fulfilled @ uni.mp.esm.js:1134 +Promise.then (async) +step @ uni.mp.esm.js:1134 +fulfilled @ uni.mp.esm.js:1134 +Promise.then (async) +step @ uni.mp.esm.js:1134 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +request @ ak-req.uts:148 +_callee9$ @ aksupa.uts:887 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +signIn @ aksupa.uts:876 +_callee3$ @ delivery.uts:1506 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +loginDelivery @ delivery.uts:1500 +_callee$ @ deliveryService.uts:42 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +loginDelivery @ deliveryService.uts:41 +_callee5$ @ login.uvue:495 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +handleLogin @ login.uvue:477 callWithErrorHandling @ vue.runtime.esm.js:1356 callWithAsyncErrorHandling @ vue.runtime.esm.js:1363 -hook.__weh.hook.__weh @ vue.runtime.esm.js:2461 -invokeArrayFns @ uni-shared.es.js:1344 -callHook @ uni.mp.esm.js:241 -methods.onLoad @ uni.mp.esm.js:870 -mp.esm.js:529 [profile胶囊] UTSJSONObject {screenWidth: 390, capsuleTop: 51, capsuleBottom: 83, capsuleLeft: 296, capsuleRight: 383, …} -mp.esm.js:529 [AkSupaQueryBuilder] execute - 表: ml_user_profiles filter: user_id=eq.b653fded-7d5e-4950-aa0d-725595543e3c -mp.esm.js:529 [AkSupaQueryBuilder] execute - 表: ml_orders filter: user_id=eq.b653fded-7d5e-4950-aa0d-725595543e3c -mp.esm.js:529 [profile推荐] loadRecommendProducts 入口 reset= true page= 1 pageSize= 8 loading= false hasMore= true oldLength= 0 -mp.esm.js:529 [profile推荐] fetchRecommendProducts 请求 page= 1 pageSize= 8 -mp.esm.js:529 [searchProducts] 搜索关键词: 编码后: -mp.esm.js:529 [searchProducts] or条件: name.ilike.%%,description.ilike.%%,subtitle.ilike.%%,brand_name.ilike.%% -mp.esm.js:529 [AkSupaQueryBuilder] or字符串: name.ilike.%%,description.ilike.%%,subtitle.ilike.%%,brand_name.ilike.%% -mp.esm.js:529 [AkSupaQueryBuilder] execute - 表: ml_products_detail_view filter: status=eq.1&or=(name.ilike.%%,description.ilike.%%,subtitle.ilike.%%,brand_name.ilike.%%) -mp.esm.js:529 [AkSupaQueryBuilder] execute - 表: ml_user_profiles filter: user_id=eq.b653fded-7d5e-4950-aa0d-725595543e3c -mp.esm.js:529 [AkSupaQueryBuilder] execute - 表: ml_orders filter: user_id=eq.b653fded-7d5e-4950-aa0d-725595543e3c -mp.esm.js:529 [AkSupaQueryBuilder] execute - 表: ml_user_coupons filter: user_id=eq.b653fded-7d5e-4950-aa0d-725595543e3c&status=eq.1&expire_at=gt.2026-05-19T02%3A25%3A15.732Z -mp.esm.js:529 [profile推荐] loadRecommendProducts 入口 reset= true page= 1 pageSize= 8 loading= true hasMore= true oldLength= 0 -mp.esm.js:529 [profile推荐] 跳过:正在加载中 -mp.esm.js:529 [ak-req] GET http://119.146.131.237:9126/rest/v1/ml_user_profiles?select=*&limit=1&user_id=eq.b653fded-7d5e-4950-aa0d-725595543e3c -mp.esm.js:529 [ak-req] apikey: eyJhbG...7890 | Authorization: Bearer eyJhbG...94F4 | auth-mode: pre-set | prefer: count=exact -mp.esm.js:529 [ak-req] GET http://119.146.131.237:9126/rest/v1/ml_orders?select=*%2C%20ml_order_items(*)%2C%20ml_shops(shop_name)&order=created_at.desc&user_id=eq.b653fded-7d5e-4950-aa0d-725595543e3c -mp.esm.js:529 [ak-req] apikey: eyJhbG...7890 | Authorization: Bearer eyJhbG...94F4 | auth-mode: pre-set | prefer: (none) -mp.esm.js:529 [ak-req] GET http://119.146.131.237:9126/rest/v1/ml_products_detail_view?select=*&limit=8&order=sale_count.desc&status=eq.1&or=(name.ilike.%%,description.ilike.%%,subtitle.ilike.%%,brand_name.ilike.%%) -mp.esm.js:529 [ak-req] apikey: eyJhbG...7890 | Authorization: Bearer eyJhbG...94F4 | auth-mode: pre-set | prefer: count=exact -mp.esm.js:529 [ak-req] GET http://119.146.131.237:9126/rest/v1/ml_user_profiles?select=*&limit=1&user_id=eq.b653fded-7d5e-4950-aa0d-725595543e3c -mp.esm.js:529 [ak-req] apikey: eyJhbG...7890 | Authorization: Bearer eyJhbG...94F4 | auth-mode: pre-set | prefer: count=exact -mp.esm.js:529 [ak-req] GET http://119.146.131.237:9126/rest/v1/ml_orders?select=*%2C%20ml_order_items(*)%2C%20ml_shops(shop_name)&order=created_at.desc&user_id=eq.b653fded-7d5e-4950-aa0d-725595543e3c -mp.esm.js:529 [ak-req] apikey: eyJhbG...7890 | Authorization: Bearer eyJhbG...94F4 | auth-mode: pre-set | prefer: (none) -mp.esm.js:529 [ak-req] GET http://119.146.131.237:9126/rest/v1/ml_user_coupons?select=id&limit=1&user_id=eq.b653fded-7d5e-4950-aa0d-725595543e3c&status=eq.1&expire_at=gt.2026-05-19T02%3A25%3A15.732Z -mp.esm.js:529 [ak-req] apikey: eyJhbG...7890 | Authorization: Bearer eyJhbG...94F4 | auth-mode: pre-set | prefer: count=exact -mp.esm.js:529 [AkSupaQueryBuilder] execute - 表: ml_user_balance filter: user_id=eq.b653fded-7d5e-4950-aa0d-725595543e3c -mp.esm.js:529 [ak-req] GET http://119.146.131.237:9126/rest/v1/ml_user_balance?select=*&limit=1&user_id=eq.b653fded-7d5e-4950-aa0d-725595543e3c -mp.esm.js:529 [ak-req] apikey: eyJhbG...7890 | Authorization: Bearer eyJhbG...94F4 | auth-mode: pre-set | prefer: count=exact -mp.esm.js:529 [AkSupaQueryBuilder] execute - 表: ml_user_balance filter: user_id=eq.b653fded-7d5e-4950-aa0d-725595543e3c -mp.esm.js:529 [ak-req] GET http://119.146.131.237:9126/rest/v1/ml_user_balance?select=*&limit=1&user_id=eq.b653fded-7d5e-4950-aa0d-725595543e3c -mp.esm.js:529 [ak-req] apikey: eyJhbG...7890 | Authorization: Bearer eyJhbG...94F4 | auth-mode: pre-set | prefer: count=exact -mp.esm.js:529 [searchProducts] 响应状态: 206 数据条数: 8 -mp.esm.js:529 [searchProducts] rawData: not null -mp.esm.js:529 [searchProducts] rawList长度: 8 -mp.esm.js:529 [searchProducts] 处理第 1 个商品 -mp.esm.js:529 [parseProductFromRaw] 开始解析商品 -mp.esm.js:529 [parseProductFromRaw] JSON转换成功 -mp.esm.js:529 [parseProductFromRaw] 图片处理完成 -mp.esm.js:529 [parseProductFromRaw] 商品解析成功: 九阳破壁机 -mp.esm.js:529 [searchProducts] 处理第 2 个商品 -mp.esm.js:529 [parseProductFromRaw] 开始解析商品 -mp.esm.js:529 [parseProductFromRaw] JSON转换成功 -mp.esm.js:529 [parseProductFromRaw] 图片处理完成 -mp.esm.js:529 [parseProductFromRaw] 商品解析成功: UNIQLO 优质棉圆领T恤(短袖) -mp.esm.js:529 [searchProducts] 处理第 3 个商品 -mp.esm.js:529 [parseProductFromRaw] 开始解析商品 -mp.esm.js:529 [parseProductFromRaw] JSON转换成功 -mp.esm.js:529 [parseProductFromRaw] 图片处理完成 -mp.esm.js:529 [parseProductFromRaw] 商品解析成功: iPhone 15 Pro 256GB 深空黑色 -mp.esm.js:529 [searchProducts] 处理第 4 个商品 -mp.esm.js:529 [parseProductFromRaw] 开始解析商品 -mp.esm.js:529 [parseProductFromRaw] JSON转换成功 -mp.esm.js:529 [parseProductFromRaw] 图片处理完成 -mp.esm.js:529 [parseProductFromRaw] 商品解析成功: vc -mp.esm.js:529 [searchProducts] 处理第 5 个商品 -mp.esm.js:529 [parseProductFromRaw] 开始解析商品 -mp.esm.js:529 [parseProductFromRaw] JSON转换成功 -mp.esm.js:529 [parseProductFromRaw] 图片处理完成 -mp.esm.js:529 [parseProductFromRaw] 商品解析成功: Nike Air Max 270 男士运动鞋 -mp.esm.js:529 [searchProducts] 处理第 6 个商品 -mp.esm.js:529 [parseProductFromRaw] 开始解析商品 -mp.esm.js:529 [parseProductFromRaw] JSON转换成功 -mp.esm.js:529 [parseProductFromRaw] 图片处理完成 -mp.esm.js:529 [parseProductFromRaw] 商品解析成功: 店铺1 - 甄选商品 1 -mp.esm.js:529 [searchProducts] 处理第 7 个商品 -mp.esm.js:529 [parseProductFromRaw] 开始解析商品 -mp.esm.js:529 [parseProductFromRaw] JSON转换成功 -mp.esm.js:529 [parseProductFromRaw] 图片处理完成 -mp.esm.js:529 [parseProductFromRaw] 商品解析成功: 酒水饮料精选优品 3号 - 高品质 -mp.esm.js:529 [searchProducts] 处理第 8 个商品 -mp.esm.js:529 [parseProductFromRaw] 开始解析商品 -mp.esm.js:529 [parseProductFromRaw] JSON转换成功 -mp.esm.js:529 [parseProductFromRaw] 图片处理完成 -mp.esm.js:529 [parseProductFromRaw] 商品解析成功: 苹果 - 明星单品系列 01 -mp.esm.js:529 [profile推荐] fetchRecommendProducts 完成 total= 627 hasmore= true dataLength= 8 -mp.esm.js:529 [profile推荐] page= 1 返回数量= 8 -mp.esm.js:529 [profile推荐] 返回ID= c74b50b9-1181-4209-9f20-49264d4e5d2d,9732372f-71b7-4f61-a991-e8fb86abd75a,fe4b33b0-c9d6-4c7f-9d15-cbe9f606dc0a,d249a32e-ffdd-4160-b86b-ad6e7b888944,5d7ebc54-fbfa-4b9d-877c-3129d53c5441,8311a284-9588-4583-b2c1-58ad96d377fa,ff12a0d6-7a3c-46bd-8ddd-312dceecee5b,33fc88da-1bca-42c7-9aad-b1fac7bc6b7c -mp.esm.js:529 [profile推荐] 追加前= 0 追加后= 8 -mp.esm.js:529 [Supabase] getUserPoints userId: b653fded-7d5e-4950-aa0d-725595543e3c -mp.esm.js:529 [AkSupaQueryBuilder] execute - 表: ml_user_points filter: user_id=eq.b653fded-7d5e-4950-aa0d-725595543e3c -mp.esm.js:529 [ak-req] GET http://119.146.131.237:9126/rest/v1/ml_user_points?select=points&limit=1&user_id=eq.b653fded-7d5e-4950-aa0d-725595543e3c -mp.esm.js:529 [ak-req] apikey: eyJhbG...7890 | Authorization: Bearer eyJhbG...94F4 | auth-mode: pre-set | prefer: count=exact,return=representation,single-object -[pages/main/profile] [Component] : 图片链接 http://119.146.131.237:9126/storage/v1/object/public/mall/products/1770367874680-543.jpg 不再支持 HTTP 协议,请升级到 HTTPS -mp.esm.js:529 [Supabase] getUserPoints userId: b653fded-7d5e-4950-aa0d-725595543e3c -mp.esm.js:529 [AkSupaQueryBuilder] execute - 表: ml_user_points filter: user_id=eq.b653fded-7d5e-4950-aa0d-725595543e3c -mp.esm.js:529 [ak-req] GET http://119.146.131.237:9126/rest/v1/ml_user_points?select=points&limit=1&user_id=eq.b653fded-7d5e-4950-aa0d-725595543e3c -mp.esm.js:529 [ak-req] apikey: eyJhbG...7890 | Authorization: Bearer eyJhbG...94F4 | auth-mode: pre-set | prefer: count=exact,return=representation,single-object -mp.esm.js:529 [getOrders] response.error: null -mp.esm.js:529 [getOrders] 订单数量: 104 -[渲染层网络层错误] Failed to load local image resource /static/images/product/p2.jpg - the server responded with a status of 500 (HTTP/1.1 500 Internal Server Error) -(env: Windows,mp,1.06.2504030; lib: 3.16.0) -mp.esm.js:529 [getOrders] response.error: null -mp.esm.js:529 [getOrders] 订单数量: 104 -mp.esm.js:529 [Supabase] getUserPoints data: [UTSJSONObject] -mp.esm.js:529 [Supabase] getUserPoints data: [UTSJSONObject] -[自动热重载] 已开启代码文件保存后自动热重载 -mp.esm.js:529 === index页面onShow被调用 === -mp.esm.js:529 主页重新显示,重置页面状态 -mp.esm.js:529 === index页面onShow执行完成 === -mp.esm.js:529 [AkSupaQueryBuilder] execute - 表: ak_users filter: auth_id=eq.b653fded-7d5e-4950-aa0d-725595543e3c -mp.esm.js:529 [ak-req] GET http://119.146.131.237:9126/rest/v1/ak_users?select=*&auth_id=eq.b653fded-7d5e-4950-aa0d-725595543e3c -mp.esm.js:529 [ak-req] apikey: eyJhbG...7890 | Authorization: Bearer eyJhbG...94F4 | auth-mode: pre-set | prefer: (none) -mp.esm.js:529 Profile Load Result: AkReqResponse {status: 200, data: Array(1), headers: Proxy, error: null, total: 1, …} -mp.esm.js:529 主页onShow:用户资料更新成功 +invoke @ vue.runtime.esm.js:6223 +setTimeout (async) +invoker @ vue.runtime.esm.js:6232 +Show 14 more frames +mp.esm.js:529 [ak-req] url: http://192.168.1.62:18000/auth/v1/token?grant_type=password(env: Windows,mp,1.06.2504030; lib: 3.15.2) +(anonymous) @ mp.esm.js:529 +__f__ @ uni.api.esm.js:590 +_callee2$ @ ak-req.uts:337 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +fulfilled @ uni.mp.esm.js:1134 +Promise.then (async) +step @ uni.mp.esm.js:1134 +fulfilled @ uni.mp.esm.js:1134 +Promise.then (async) +step @ uni.mp.esm.js:1134 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +request @ ak-req.uts:148 +_callee9$ @ aksupa.uts:887 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +signIn @ aksupa.uts:876 +_callee3$ @ delivery.uts:1506 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +loginDelivery @ delivery.uts:1500 +_callee$ @ deliveryService.uts:42 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +loginDelivery @ deliveryService.uts:41 +_callee5$ @ login.uvue:495 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +handleLogin @ login.uvue:477 +callWithErrorHandling @ vue.runtime.esm.js:1356 +callWithAsyncErrorHandling @ vue.runtime.esm.js:1363 +invoke @ vue.runtime.esm.js:6223 +setTimeout (async) +invoker @ vue.runtime.esm.js:6232 +Show 14 more frames +mp.esm.js:529 [ak-req] auth-mode: apikey-only(env: Windows,mp,1.06.2504030; lib: 3.15.2) +(anonymous) @ mp.esm.js:529 +__f__ @ uni.api.esm.js:590 +_callee2$ @ ak-req.uts:338 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +fulfilled @ uni.mp.esm.js:1134 +Promise.then (async) +step @ uni.mp.esm.js:1134 +fulfilled @ uni.mp.esm.js:1134 +Promise.then (async) +step @ uni.mp.esm.js:1134 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +request @ ak-req.uts:148 +_callee9$ @ aksupa.uts:887 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +signIn @ aksupa.uts:876 +_callee3$ @ delivery.uts:1506 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +loginDelivery @ delivery.uts:1500 +_callee$ @ deliveryService.uts:42 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +loginDelivery @ deliveryService.uts:41 +_callee5$ @ login.uvue:495 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +handleLogin @ login.uvue:477 +callWithErrorHandling @ vue.runtime.esm.js:1356 +callWithAsyncErrorHandling @ vue.runtime.esm.js:1363 +invoke @ vue.runtime.esm.js:6223 +setTimeout (async) +invoker @ vue.runtime.esm.js:6232 +Show 14 more frames +mp.esm.js:529 [ak-req] 发送 apikey: eyJhbG...7890(env: Windows,mp,1.06.2504030; lib: 3.15.2) +(anonymous) @ mp.esm.js:529 +__f__ @ uni.api.esm.js:590 +_callee2$ @ ak-req.uts:339 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +fulfilled @ uni.mp.esm.js:1134 +Promise.then (async) +step @ uni.mp.esm.js:1134 +fulfilled @ uni.mp.esm.js:1134 +Promise.then (async) +step @ uni.mp.esm.js:1134 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +request @ ak-req.uts:148 +_callee9$ @ aksupa.uts:887 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +signIn @ aksupa.uts:876 +_callee3$ @ delivery.uts:1506 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +loginDelivery @ delivery.uts:1500 +_callee$ @ deliveryService.uts:42 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +loginDelivery @ deliveryService.uts:41 +_callee5$ @ login.uvue:495 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +handleLogin @ login.uvue:477 +callWithErrorHandling @ vue.runtime.esm.js:1356 +callWithAsyncErrorHandling @ vue.runtime.esm.js:1363 +invoke @ vue.runtime.esm.js:6223 +setTimeout (async) +invoker @ vue.runtime.esm.js:6232 +Show 14 more frames +mp.esm.js:529 [ak-req] 发送 Authorization: (MISSING!)(env: Windows,mp,1.06.2504030; lib: 3.15.2) +(anonymous) @ mp.esm.js:529 +__f__ @ uni.api.esm.js:590 +_callee2$ @ ak-req.uts:340 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +fulfilled @ uni.mp.esm.js:1134 +Promise.then (async) +step @ uni.mp.esm.js:1134 +fulfilled @ uni.mp.esm.js:1134 +Promise.then (async) +step @ uni.mp.esm.js:1134 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +request @ ak-req.uts:148 +_callee9$ @ aksupa.uts:887 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +signIn @ aksupa.uts:876 +_callee3$ @ delivery.uts:1506 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +loginDelivery @ delivery.uts:1500 +_callee$ @ deliveryService.uts:42 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +loginDelivery @ deliveryService.uts:41 +_callee5$ @ login.uvue:495 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +handleLogin @ login.uvue:477 +callWithErrorHandling @ vue.runtime.esm.js:1356 +callWithAsyncErrorHandling @ vue.runtime.esm.js:1363 +invoke @ vue.runtime.esm.js:6223 +setTimeout (async) +invoker @ vue.runtime.esm.js:6232 +Show 14 more frames +mp.esm.js:529 [ak-req] response body: {"message":"Invalid authentication credentials"}(env: Windows,mp,1.06.2504030; lib: 3.15.2) +(anonymous) @ mp.esm.js:529 +__f__ @ uni.api.esm.js:590 +_callee2$ @ ak-req.uts:341 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +fulfilled @ uni.mp.esm.js:1134 +Promise.then (async) +step @ uni.mp.esm.js:1134 +fulfilled @ uni.mp.esm.js:1134 +Promise.then (async) +step @ uni.mp.esm.js:1134 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +request @ ak-req.uts:148 +_callee9$ @ aksupa.uts:887 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +signIn @ aksupa.uts:876 +_callee3$ @ delivery.uts:1506 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +loginDelivery @ delivery.uts:1500 +_callee$ @ deliveryService.uts:42 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +loginDelivery @ deliveryService.uts:41 +_callee5$ @ login.uvue:495 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +handleLogin @ login.uvue:477 +callWithErrorHandling @ vue.runtime.esm.js:1356 +callWithAsyncErrorHandling @ vue.runtime.esm.js:1363 +invoke @ vue.runtime.esm.js:6223 +setTimeout (async) +invoker @ vue.runtime.esm.js:6232 +Show 14 more frames +mp.esm.js:529 [ak-req] ℹ 当前请求按 apikey-only 模式发送,这是匿名登录/匿名接口的预期行为(env: Windows,mp,1.06.2504030; lib: 3.15.2) +(anonymous) @ mp.esm.js:529 +__f__ @ uni.api.esm.js:590 +_callee2$ @ ak-req.uts:346 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +fulfilled @ uni.mp.esm.js:1134 +Promise.then (async) +step @ uni.mp.esm.js:1134 +fulfilled @ uni.mp.esm.js:1134 +Promise.then (async) +step @ uni.mp.esm.js:1134 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +request @ ak-req.uts:148 +_callee9$ @ aksupa.uts:887 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +signIn @ aksupa.uts:876 +_callee3$ @ delivery.uts:1506 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +loginDelivery @ delivery.uts:1500 +_callee$ @ deliveryService.uts:42 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +loginDelivery @ deliveryService.uts:41 +_callee5$ @ login.uvue:495 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +handleLogin @ login.uvue:477 +callWithErrorHandling @ vue.runtime.esm.js:1356 +callWithAsyncErrorHandling @ vue.runtime.esm.js:1363 +invoke @ vue.runtime.esm.js:6223 +setTimeout (async) +invoker @ vue.runtime.esm.js:6232 +Show 14 more frames +mp.esm.js:529 [ak-req] ✗ 401 更可能来自服务端网关认证:请检查 SUPA_URL 对应实例与 SUPA_KEY/ANON_KEY 是否匹配(env: Windows,mp,1.06.2504030; lib: 3.15.2) +(anonymous) @ mp.esm.js:529 +__f__ @ uni.api.esm.js:590 +_callee2$ @ ak-req.uts:347 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +fulfilled @ uni.mp.esm.js:1134 +Promise.then (async) +step @ uni.mp.esm.js:1134 +fulfilled @ uni.mp.esm.js:1134 +Promise.then (async) +step @ uni.mp.esm.js:1134 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +request @ ak-req.uts:148 +_callee9$ @ aksupa.uts:887 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +signIn @ aksupa.uts:876 +_callee3$ @ delivery.uts:1506 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +loginDelivery @ delivery.uts:1500 +_callee$ @ deliveryService.uts:42 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +loginDelivery @ deliveryService.uts:41 +_callee5$ @ login.uvue:495 +s @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ regeneratorRuntime.js?forceSync=true:1 +(anonymous) @ uni.mp.esm.js:1134 +__awaiter @ uni.mp.esm.js:1134 +handleLogin @ login.uvue:477 +callWithErrorHandling @ vue.runtime.esm.js:1356 +callWithAsyncErrorHandling @ vue.runtime.esm.js:1363 +invoke @ vue.runtime.esm.js:6223 +setTimeout (async) +invoker @ vue.runtime.esm.js:6232 +Show 14 more frames Error: timeout - at Function. (WAServiceMainContext.js?t=wechat&v=3.16.0:1) - at p (WAServiceMainContext.js?t=wechat&v=3.16.0:1) - at WAServiceMainContext.js?t=wechat&v=3.16.0:1 - at WAServiceMainContext.js?t=wechat&v=3.16.0:1(env: Windows,mp,1.06.2504030; lib: 3.16.0) \ No newline at end of file + at Function. (WAServiceMainContext.js?t=wechat&v=3.15.2:1) + at p (WAServiceMainContext.js?t=wechat&v=3.15.2:1) + at WAServiceMainContext.js?t=wechat&v=3.15.2:1 + at WAServiceMainContext.js?t=wechat&v=3.15.2:1(env: Windows,mp,1.06.2504030; lib: 3.15.2) + + 15:42:21.953 [plugin:uts] Invalid end tag. +15:42:22.203 at pages/mall/delivery/home/index.uvue:454:1 \ No newline at end of file